My rice dotfiles. Have fun :)
This commit is contained in:
commit
d7fa235c3d
21
.bashrc
Normal file
21
.bashrc
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
#
|
||||||
|
# ~/.bashrc
|
||||||
|
#
|
||||||
|
|
||||||
|
# If not running interactively, don't do anything
|
||||||
|
[[ $- != *i* ]] && return
|
||||||
|
|
||||||
|
alias ls='ls --color=auto'
|
||||||
|
PS1='\[\033[01;31m\]\w \$\[\033[00m\] '
|
||||||
|
alias vncserve=`x11vnc -display :0 -forever -o /var/log/x11vnc.log -bg`
|
||||||
|
|
||||||
|
export TZ =: "Europe/London"
|
||||||
|
export LC_ALL=en_GB.UTF-8
|
||||||
|
export LANG=en_GB.UTF-8
|
||||||
|
export CLICOLOR=1
|
||||||
|
export LS_COLORS="di=32:ln=32:so=33:pi=36:ex=35:bd=34:cd=34;43:su=30;41:sg=30;46:tw=30;42:ow=30;43"
|
||||||
|
|
||||||
|
export EDITOR=nano
|
||||||
|
export PAGER=less
|
||||||
|
|
||||||
|
|
184
.conky/syclo-crimson-bottomleft.conkyrc
Normal file
184
.conky/syclo-crimson-bottomleft.conkyrc
Normal file
|
@ -0,0 +1,184 @@
|
||||||
|
--[[
|
||||||
|
#=====================================================================================
|
||||||
|
#
|
||||||
|
# Name : Syclo Conky (Simple System Info & Clock)
|
||||||
|
# Author : Adhi Pambudi
|
||||||
|
# https://plus.google.com/+AdhiPambudi
|
||||||
|
# http://addy-dclxvi.deviantart.com/
|
||||||
|
# Github : https://github.com/addy-dclxvi
|
||||||
|
# Version : v3.0.1
|
||||||
|
# License : Distributed under the terms of GNU GPL version 2 or later
|
||||||
|
# Note : Using template from Erik Dubois
|
||||||
|
#
|
||||||
|
#=====================================================================================
|
||||||
|
# CONKY
|
||||||
|
# For commands in conky.config section:
|
||||||
|
# http://conky.sourceforge.net/config_settings.html
|
||||||
|
#
|
||||||
|
# For commands in conky.text section:
|
||||||
|
# http://conky.sourceforge.net/variables.html
|
||||||
|
#
|
||||||
|
#=====================================================================================
|
||||||
|
|
||||||
|
]]
|
||||||
|
|
||||||
|
|
||||||
|
conky.config = {
|
||||||
|
|
||||||
|
--## Begin Window Settings #####################
|
||||||
|
|
||||||
|
own_window = true,
|
||||||
|
own_window_type = 'override',
|
||||||
|
own_window_transparent = true,
|
||||||
|
own_window_hints = 'undecorated,below,skip_taskbar,skip_pager,sticky',
|
||||||
|
own_window_colour = '#000000',
|
||||||
|
own_window_class = 'Conky',
|
||||||
|
own_window_title = 'Syclo Conky',
|
||||||
|
--## ARGB can be used for real transparency
|
||||||
|
--## NOTE that a composite manager is required for real transparency.
|
||||||
|
--## This option will not work as desired (in most cases) in conjunction with
|
||||||
|
--## own_window_type normal
|
||||||
|
-- own_window_argb_visual yes # Options: yes or no
|
||||||
|
|
||||||
|
--## When ARGB visuals are enabled, this use this to modify the alpha value
|
||||||
|
--## Use: own_window_type normal
|
||||||
|
--## Use: own_window_transparent no
|
||||||
|
--## Valid range is 0-255, where 0 is 0% opacity, and 255 is 100% opacity.
|
||||||
|
-- own_window_argb_value 50
|
||||||
|
|
||||||
|
minimum_width = 420,
|
||||||
|
minimum_height = 220,
|
||||||
|
maximum_width = 420,
|
||||||
|
|
||||||
|
gap_x = 0,--## left | right
|
||||||
|
gap_y = 0,--## up | down
|
||||||
|
|
||||||
|
alignment = 'bottom_left',
|
||||||
|
|
||||||
|
--###################### End Window Settings ###
|
||||||
|
|
||||||
|
|
||||||
|
--## Font Settings #############################
|
||||||
|
-- Use Xft (anti-aliased font and stuff)
|
||||||
|
use_xft = true,
|
||||||
|
--xftfont Liberation Mono:bold:size=9
|
||||||
|
font = 'Roboto:size=10',
|
||||||
|
|
||||||
|
-- Alpha of Xft font. Must be a value at or between 1 and 0 ###
|
||||||
|
xftalpha = 1,
|
||||||
|
-- Force UTF8? requires XFT ###
|
||||||
|
override_utf8_locale = true,
|
||||||
|
|
||||||
|
uppercase = false,
|
||||||
|
|
||||||
|
--######################## End Font Settings ###
|
||||||
|
|
||||||
|
|
||||||
|
--## Colour Settings ###########################
|
||||||
|
draw_shades = false,--yes
|
||||||
|
default_shade_color = 'black',
|
||||||
|
|
||||||
|
draw_outline = false,-- amplifies text if yes
|
||||||
|
default_outline_color = 'black',
|
||||||
|
|
||||||
|
default_color = '#ffffff',-- PureWhite
|
||||||
|
color0 = '#DC143C',-- crimson
|
||||||
|
color1 = '#778899',-- LightSlateGray
|
||||||
|
color2 = '#D8BFD8',-- Thistle
|
||||||
|
color3 = '#9ACD32',-- YellowGreen
|
||||||
|
color4 = '#FFA07A',-- LightSalmon
|
||||||
|
color5 = '#FFDEAD',-- NavajoWhite
|
||||||
|
color6 = '#00BFFF',-- DeepSkycrimson
|
||||||
|
color7 = '#5F9EA0',-- Cadetcrimson
|
||||||
|
color8 = '#BDB76B',-- DarkKhaki
|
||||||
|
color9 = '#CD5C5C',-- IndianRed
|
||||||
|
|
||||||
|
--###################### End Colour Settings ###
|
||||||
|
|
||||||
|
|
||||||
|
--## Borders Section ###########################
|
||||||
|
|
||||||
|
draw_borders = false,
|
||||||
|
-- Stippled borders?
|
||||||
|
stippled_borders = 5,
|
||||||
|
-- border margins
|
||||||
|
border_inner_margin = 0,
|
||||||
|
border_outer_margin = 0,
|
||||||
|
-- border width
|
||||||
|
border_width = 0,
|
||||||
|
-- graph borders
|
||||||
|
draw_graph_borders = true,--no
|
||||||
|
--default_graph_size 15 40
|
||||||
|
|
||||||
|
--####################### End Borders Secton ###
|
||||||
|
|
||||||
|
|
||||||
|
--## Miscellaneous Section #####################
|
||||||
|
|
||||||
|
-- Boolean value, if true, Conky will be forked to background when started.
|
||||||
|
background = true,
|
||||||
|
-- Adds spaces around certain objects to stop them from moving other things
|
||||||
|
-- around, this only helps if you are using a mono font
|
||||||
|
-- Options: right, left or none
|
||||||
|
use_spacer = 'none',
|
||||||
|
|
||||||
|
-- Default and Minimum size is 256 - needs more for single commands that
|
||||||
|
-- "call" a lot of text IE: bash scripts
|
||||||
|
--text_buffer_size 6144
|
||||||
|
|
||||||
|
-- Subtract (file system) buffers from used memory?
|
||||||
|
no_buffers = true,
|
||||||
|
|
||||||
|
-- change GiB to G and MiB to M
|
||||||
|
short_units = true,
|
||||||
|
|
||||||
|
-- Like it says, ot pads the decimals on % values
|
||||||
|
-- doesn't seem to work since v1.7.1
|
||||||
|
pad_percents = 2,
|
||||||
|
|
||||||
|
-- Imlib2 image cache size, in bytes. Default 4MiB Increase this value if you use
|
||||||
|
-- $image lots. Set to 0 to disable the image cache.
|
||||||
|
imlib_cache_size = 0,
|
||||||
|
|
||||||
|
-- Use the Xdbe extension? (eliminates flicker)
|
||||||
|
-- It is highly recommended to use own window with this one
|
||||||
|
-- so double buffer won't be so big.
|
||||||
|
double_buffer = true,
|
||||||
|
|
||||||
|
-- Maximum size of user text buffer, i.e. layout below TEXT line in config file
|
||||||
|
-- (default is 16384 bytes)
|
||||||
|
-- max_user_text 16384
|
||||||
|
|
||||||
|
-- Desired output unit of all objects displaying a temperature. Parameters are
|
||||||
|
-- either "fahrenheit" or "celsius". The default unit is degree Celsius.
|
||||||
|
-- temperature_unit Fahrenheit
|
||||||
|
|
||||||
|
--################ End Miscellaneous Section ###
|
||||||
|
|
||||||
|
update_interval = 1,
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
conky.text = [[
|
||||||
|
# You can change bg-bottomleft-75.png to bg-bottomleft-50.png for 50% opacity
|
||||||
|
# Or bg-bottomleft-25.png for 25% opacity
|
||||||
|
# Or bg-bottomleft-0.png for fully transparent
|
||||||
|
${image ~/.config/conky/syclo/images/bg/bg-bottomleft-75.png -p 0,0 -s 420x220}\
|
||||||
|
${goto 24}${font Roboto:Light:size=72}${color0}\
|
||||||
|
${time %H}${color}\
|
||||||
|
\
|
||||||
|
:\
|
||||||
|
\
|
||||||
|
${time %M}${font}${color}
|
||||||
|
\
|
||||||
|
${goto 24}${font Roboto:Light:size=20}${voffset 12}${execi 300 LANG=en_US.utf8 LC_TIME=en_US.utf8 date +"%A"},${color}\
|
||||||
|
${color0} ${execi 300 LANG=en_US.utf8 LC_TIME=en_US.utf8 date +"%d"}${color}\
|
||||||
|
${execi 300 LANG=en_US.utf8 LC_TIME=en_US.utf8 date +"%B"}${font}${color}
|
||||||
|
\
|
||||||
|
|
||||||
|
${goto 24}\
|
||||||
|
${font Roboto:Light:pixelsize=12}\
|
||||||
|
${image ~/.config/conky/syclo/images/crimson/hdd.png -p 20,170 -s 16x16} ${offset 20}${fs_used /} / ${fs_size /}\
|
||||||
|
${image ~/.config/conky/syclo/images/crimson/ram.png -p 140,170 -s 16x16} ${offset 45}$mem / $memmax\
|
||||||
|
${image ~/.config/conky/syclo/images/crimson/cpu.png -p 260,170 -s 16x16} ${offset 45}${cpu cpu0}%
|
||||||
|
]];
|
9
.scripts/compile-all-masters.py
Normal file
9
.scripts/compile-all-masters.py
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
#!/bin/python3
|
||||||
|
from courses import Courses
|
||||||
|
|
||||||
|
for course in Courses():
|
||||||
|
lectures = course.lectures
|
||||||
|
|
||||||
|
r = lectures.parse_range_string('all')
|
||||||
|
lectures.update_lectures_in_master(r)
|
||||||
|
lectures.compile_master()
|
11
.scripts/config.py
Normal file
11
.scripts/config.py
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
from datetime import datetime
|
||||||
|
from pathlib import Path
|
||||||
|
|
||||||
|
def get_week(d=datetime.today()):
|
||||||
|
return (int(d.strftime("%W")) + 52 - 5) % 52
|
||||||
|
|
||||||
|
CURRENT_COURSE_SYMLINK = Path('~/university/current-course').expanduser()
|
||||||
|
CURRENT_COURSE_ROOT = CURRENT_COURSE_SYMLINK.resolve()
|
||||||
|
CURRENT_COURSE_WATCH_FILE = Path('/tmp/current_course').resolve()
|
||||||
|
ROOT = Path('~/university/semester-1').expanduser()
|
||||||
|
DATE_FORMAT = '%a %d %b %Y %H:%M'
|
223
.scripts/countdown.py
Normal file
223
.scripts/countdown.py
Normal file
|
@ -0,0 +1,223 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
import pickle
|
||||||
|
|
||||||
|
import os
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import re
|
||||||
|
import math
|
||||||
|
|
||||||
|
import sched
|
||||||
|
import datetime
|
||||||
|
import time
|
||||||
|
import pytz
|
||||||
|
from dateutil.parser import parse
|
||||||
|
|
||||||
|
import http.client as httplib
|
||||||
|
|
||||||
|
from googleapiclient.discovery import build
|
||||||
|
from google_auth_oauthlib.flow import InstalledAppFlow
|
||||||
|
from google.auth.transport.requests import Request
|
||||||
|
|
||||||
|
from courses import Courses
|
||||||
|
|
||||||
|
courses = Courses()
|
||||||
|
|
||||||
|
def authenticate():
|
||||||
|
print('Authenticating')
|
||||||
|
# If modifying these scopes, delete the file token.pickle.
|
||||||
|
SCOPES = ['https://www.googleapis.com/auth/calendar.readonly']
|
||||||
|
creds = None
|
||||||
|
# The file token.pickle stores the user's access and refresh tokens, and is
|
||||||
|
# created automatically when the authorization flow completes for the first
|
||||||
|
# time.
|
||||||
|
if os.path.exists('token.pickle'):
|
||||||
|
with open('token.pickle', 'rb') as token:
|
||||||
|
creds = pickle.load(token)
|
||||||
|
|
||||||
|
# If there are no (valid) credentials available, let the user log in.
|
||||||
|
if not creds or not creds.valid:
|
||||||
|
if creds and creds.expired and creds.refresh_token:
|
||||||
|
print('Refreshing credentials')
|
||||||
|
creds.refresh(Request())
|
||||||
|
else:
|
||||||
|
print('Need to allow access')
|
||||||
|
flow = InstalledAppFlow.from_client_secrets_file('credentials.json', SCOPES)
|
||||||
|
creds = flow.run_local_server(port=0)
|
||||||
|
# Save the credentials for the next run
|
||||||
|
with open('token.pickle', 'wb') as token:
|
||||||
|
pickle.dump(creds, token)
|
||||||
|
|
||||||
|
service = build('calendar', 'v3', credentials=creds)
|
||||||
|
return service
|
||||||
|
|
||||||
|
def join(*args):
|
||||||
|
return ' '.join(str(e) for e in args if e)
|
||||||
|
|
||||||
|
def truncate(string, length):
|
||||||
|
ellipsis = ' ...'
|
||||||
|
if len(string) < length:
|
||||||
|
return string
|
||||||
|
return string[:length - len(ellipsis)] + ellipsis
|
||||||
|
|
||||||
|
def summary(text):
|
||||||
|
return truncate(re.sub(r'X[0-9A-Za-z]+', '', text).strip(), 50)
|
||||||
|
|
||||||
|
def gray(text):
|
||||||
|
return '%{F#999999}' + text + '%{F-}'
|
||||||
|
|
||||||
|
def formatdd(begin, end):
|
||||||
|
minutes = math.ceil((end - begin).seconds / 60)
|
||||||
|
|
||||||
|
if minutes == 1:
|
||||||
|
return '1 minute'
|
||||||
|
|
||||||
|
if minutes < 60:
|
||||||
|
return f'{minutes} min'
|
||||||
|
|
||||||
|
hours = math.floor(minutes/60)
|
||||||
|
rest_minutes = minutes % 60
|
||||||
|
|
||||||
|
if hours > 5 or rest_minutes == 0:
|
||||||
|
return f'{hours} hours'
|
||||||
|
|
||||||
|
return '{}:{:02d} hours'.format(hours, rest_minutes)
|
||||||
|
|
||||||
|
def location(text):
|
||||||
|
if not text:
|
||||||
|
return ''
|
||||||
|
match = re.search(r'\((.*)\)', text)
|
||||||
|
|
||||||
|
if not match:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
return f'{gray("in")} {match.group(1)}'
|
||||||
|
|
||||||
|
def text(events, now):
|
||||||
|
current = next((e for e in events if e['start'] < now and now < e['end']), None)
|
||||||
|
|
||||||
|
if not current:
|
||||||
|
nxt = next((e for e in events if now <= e['start']), None)
|
||||||
|
if nxt:
|
||||||
|
return join(
|
||||||
|
summary(nxt['summary']),
|
||||||
|
gray('in'),
|
||||||
|
formatdd(now, nxt['start']),
|
||||||
|
location(nxt['location'])
|
||||||
|
)
|
||||||
|
return ''
|
||||||
|
|
||||||
|
nxt = next((e for e in events if e['start'] >= current['end']), None)
|
||||||
|
if not nxt:
|
||||||
|
return join(gray('ends in'), formatdd(now, current['end']) + '!')
|
||||||
|
|
||||||
|
if current['end'] == nxt['start']:
|
||||||
|
return join(
|
||||||
|
gray('Ends in'),
|
||||||
|
formatdd(now, current['end']) + gray('.'),
|
||||||
|
gray('After this: '),
|
||||||
|
summary(nxt['summary']),
|
||||||
|
location(nxt['location'])
|
||||||
|
)
|
||||||
|
|
||||||
|
return join(
|
||||||
|
gray('Ends in'),
|
||||||
|
formatdd(now, current['end']) + gray('.'),
|
||||||
|
gray('After this: '),
|
||||||
|
summary(nxt['summary']),
|
||||||
|
location(nxt['location']),
|
||||||
|
gray('after a break from'),
|
||||||
|
formatdd(current['end'], nxt['start'])
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def activate_course(event):
|
||||||
|
course = next(
|
||||||
|
(course for course in courses
|
||||||
|
if course.info['title'].lower() in event['summary'].lower()),
|
||||||
|
None
|
||||||
|
)
|
||||||
|
|
||||||
|
if not course:
|
||||||
|
return
|
||||||
|
|
||||||
|
courses.current = course
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
scheduler = sched.scheduler(time.time, time.sleep)
|
||||||
|
|
||||||
|
print('Initializing')
|
||||||
|
|
||||||
|
service = authenticate()
|
||||||
|
|
||||||
|
print('Authenticated')
|
||||||
|
# Call the Calendar API
|
||||||
|
timezone = pytz.timezone("Europe/London")
|
||||||
|
date = datetime.datetime.now()
|
||||||
|
now = timezone.localize(date)
|
||||||
|
|
||||||
|
morning = now.replace(hour=6, minute=0, microsecond=0)
|
||||||
|
evening= now.replace(hour=23, minute=59, microsecond=0)
|
||||||
|
|
||||||
|
print('Searching for events')
|
||||||
|
|
||||||
|
def get_events(calendar):
|
||||||
|
events_result = service.events().list(
|
||||||
|
calendarId=calendar,
|
||||||
|
timeMin=morning.isoformat(),
|
||||||
|
timeMax=evening.isoformat(),
|
||||||
|
singleEvents=True,
|
||||||
|
orderBy='startTime'
|
||||||
|
).execute()
|
||||||
|
events = events_result.get('items', [])
|
||||||
|
return [
|
||||||
|
{
|
||||||
|
'summary': event['summary'],
|
||||||
|
'location': event.get('location', None),
|
||||||
|
'start': parse(event['start']['dateTime']),
|
||||||
|
'end': parse(event['end']['dateTime'])
|
||||||
|
}
|
||||||
|
for event in events
|
||||||
|
if 'dateTime' in event['start']
|
||||||
|
]
|
||||||
|
|
||||||
|
events = get_events('primary')
|
||||||
|
# events = get_events('primary') + get_events('school-calendar@import.calendar.google.com')
|
||||||
|
print('Done')
|
||||||
|
|
||||||
|
DELAY = 60
|
||||||
|
|
||||||
|
def print_message():
|
||||||
|
date = datetime.datetime.now()
|
||||||
|
timezone = pytz.timezone("Europe/London")
|
||||||
|
now = timezone.localize(date)
|
||||||
|
print(text(events, now))
|
||||||
|
if now < evening:
|
||||||
|
scheduler.enter(DELAY, 1, print_message)
|
||||||
|
|
||||||
|
for event in events:
|
||||||
|
# absolute entry, priority 1
|
||||||
|
scheduler.enterabs(event['start'].timestamp(), 1, activate_course, argument=(event, ))
|
||||||
|
|
||||||
|
# Immediate, priority 1
|
||||||
|
scheduler.enter(0, 1, print_message)
|
||||||
|
scheduler.run()
|
||||||
|
|
||||||
|
|
||||||
|
def wait_for_internet_connection(url, timeout=1):
|
||||||
|
while True:
|
||||||
|
conn = httplib.HTTPConnection(url, timeout=5)
|
||||||
|
try:
|
||||||
|
conn.request("HEAD", "/")
|
||||||
|
conn.close()
|
||||||
|
return True
|
||||||
|
except:
|
||||||
|
conn.close()
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
os.chdir(sys.path[0])
|
||||||
|
print('Waiting for connection')
|
||||||
|
wait_for_internet_connection('www.google.com')
|
||||||
|
main()
|
46
.scripts/courses.py
Normal file
46
.scripts/courses.py
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
from pathlib import Path
|
||||||
|
import yaml
|
||||||
|
|
||||||
|
from lectures import Lectures
|
||||||
|
from config import ROOT, CURRENT_COURSE_ROOT, CURRENT_COURSE_SYMLINK, CURRENT_COURSE_WATCH_FILE
|
||||||
|
|
||||||
|
class Course():
|
||||||
|
def __init__(self, path):
|
||||||
|
self.path = path
|
||||||
|
self.name = path.stem
|
||||||
|
|
||||||
|
self.info = yaml.load((path / 'info.yaml').open())
|
||||||
|
self._lectures = None
|
||||||
|
|
||||||
|
@property
|
||||||
|
def lectures(self):
|
||||||
|
if not self._lectures:
|
||||||
|
self._lectures = Lectures(self)
|
||||||
|
return self._lectures
|
||||||
|
|
||||||
|
def __eq__(self, other):
|
||||||
|
if other == None:
|
||||||
|
return False
|
||||||
|
return self.path == other.path
|
||||||
|
|
||||||
|
class Courses(list):
|
||||||
|
def __init__(self):
|
||||||
|
list.__init__(self, self.read_files())
|
||||||
|
|
||||||
|
def read_files(self):
|
||||||
|
course_directories = [x for x in ROOT.iterdir() if x.is_dir()]
|
||||||
|
_courses = [Course(path) for path in course_directories]
|
||||||
|
return sorted(_courses, key=lambda c: c.name)
|
||||||
|
|
||||||
|
@property
|
||||||
|
def current(self):
|
||||||
|
return Course(CURRENT_COURSE_ROOT.resolve())
|
||||||
|
|
||||||
|
@current.setter
|
||||||
|
def current(self, course):
|
||||||
|
CURRENT_COURSE_SYMLINK.unlink()
|
||||||
|
curcourses = [x for x in ROOT.iterdir() if x.isdir()]
|
||||||
|
if any(course.name in c for c in curcourses):
|
||||||
|
CURRENT_COURSE_SYMLINK.symlink_to(course.path)
|
||||||
|
CURRENT_COURSE_WATCH_FILE.write_text('{}\n'.format(course.info['short']))
|
190
.scripts/lectures.py
Normal file
190
.scripts/lectures.py
Normal file
|
@ -0,0 +1,190 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
from datetime import datetime
|
||||||
|
from pathlib import Path
|
||||||
|
import locale
|
||||||
|
import re
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
|
||||||
|
from config import get_week, DATE_FORMAT, CURRENT_COURSE_ROOT
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
locale.setlocale(locale.LC_TIME, "en_GB.utf8")
|
||||||
|
|
||||||
|
|
||||||
|
def number2filename(n):
|
||||||
|
return 'lec_{0:02d}.tex'.format(n)
|
||||||
|
|
||||||
|
def filename2number(s):
|
||||||
|
return int(str(s).replace('.tex', '').replace('lec_', ''))
|
||||||
|
|
||||||
|
class Lecture():
|
||||||
|
def __init__(self, file_path, course):
|
||||||
|
with file_path.open() as f:
|
||||||
|
for line in f:
|
||||||
|
lecture_match = re.search(r'lecture\{(.*?)\}\{(.*?)\}\{(.*)\}', line)
|
||||||
|
if lecture_match:
|
||||||
|
break;
|
||||||
|
|
||||||
|
# number = int(lecture_match.group(1))
|
||||||
|
|
||||||
|
date_str = lecture_match.group(2)
|
||||||
|
date = datetime.strptime(date_str, DATE_FORMAT)
|
||||||
|
week = get_week(date)
|
||||||
|
|
||||||
|
title = lecture_match.group(3)
|
||||||
|
|
||||||
|
self.file_path = file_path
|
||||||
|
self.date = date
|
||||||
|
self.week = week
|
||||||
|
self.number = filename2number(file_path.stem)
|
||||||
|
self.title = title
|
||||||
|
self.course = course
|
||||||
|
|
||||||
|
def edit(self):
|
||||||
|
subprocess.Popen([
|
||||||
|
"x-terminal-emulator",
|
||||||
|
"-e", "zsh", "-i", "-c",
|
||||||
|
f"\\vim --servername kulak --remote-silent {str(self.file_path)}"
|
||||||
|
])
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return f'<Lecture {self.course.info["short"]} {self.number} "{self.title}">'
|
||||||
|
|
||||||
|
|
||||||
|
class Lectures(list):
|
||||||
|
def __init__(self, course):
|
||||||
|
self.course = course
|
||||||
|
self.root = course.path
|
||||||
|
self.master_file = self.root / 'master.tex'
|
||||||
|
list.__init__(self, self.read_files())
|
||||||
|
|
||||||
|
def read_files(self):
|
||||||
|
files = self.root.glob('lec_*.tex')
|
||||||
|
return sorted((Lecture(f, self.course) for f in files), key=lambda l: l.number)
|
||||||
|
|
||||||
|
def parse_lecture_spec(self, string):
|
||||||
|
if len(self) == 0:
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if string.isdigit():
|
||||||
|
return int(string)
|
||||||
|
elif string == 'last':
|
||||||
|
return self[-1].number
|
||||||
|
elif string == 'prev':
|
||||||
|
return self[-1].number - 1
|
||||||
|
|
||||||
|
def parse_range_string(self, arg):
|
||||||
|
all_numbers = [lecture.number for lecture in self]
|
||||||
|
if 'all' in arg:
|
||||||
|
return all_numbers
|
||||||
|
|
||||||
|
if '-' in arg:
|
||||||
|
start, end = [self.parse_lecture_spec(bit) for bit in arg.split('-')]
|
||||||
|
return list(set(all_numbers) & set(range(start, end + 1)))
|
||||||
|
|
||||||
|
return [self.parse_lecture_spec(arg)]
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_header_footer(filepath):
|
||||||
|
part = 0
|
||||||
|
header = ''
|
||||||
|
footer = ''
|
||||||
|
with filepath.open() as f:
|
||||||
|
for line in f:
|
||||||
|
# order of if-statements is important here!
|
||||||
|
if 'end lectures' in line:
|
||||||
|
part = 2
|
||||||
|
|
||||||
|
if part == 0:
|
||||||
|
header += line
|
||||||
|
if part == 2:
|
||||||
|
footer += line
|
||||||
|
|
||||||
|
if 'start lectures' in line:
|
||||||
|
part = 1
|
||||||
|
return (header, footer)
|
||||||
|
|
||||||
|
def update_lectures_in_master(self, r):
|
||||||
|
header, footer = self.get_header_footer(self.master_file)
|
||||||
|
body = ''.join(
|
||||||
|
' ' * 4 + r'\input{' + number2filename(number) + '}\n' for number in r)
|
||||||
|
self.master_file.write_text(header + body + footer)
|
||||||
|
|
||||||
|
def new_lecture(self):
|
||||||
|
if len(self) != 0:
|
||||||
|
new_lecture_number = self[-1].number + 1
|
||||||
|
else:
|
||||||
|
new_lecture_number = 1
|
||||||
|
|
||||||
|
new_lecture_path = self.root / number2filename(new_lecture_number)
|
||||||
|
|
||||||
|
today = datetime.today()
|
||||||
|
date = today.strftime(DATE_FORMAT)
|
||||||
|
|
||||||
|
new_lecture_path.touch()
|
||||||
|
new_lecture_path.write_text(f'\\lecture{{{new_lecture_number}}}{{{date}}}{{}}\n')
|
||||||
|
|
||||||
|
if new_lecture_number == 1:
|
||||||
|
self.update_lectures_in_master([1])
|
||||||
|
else:
|
||||||
|
self.update_lectures_in_master([new_lecture_number - 1, new_lecture_number])
|
||||||
|
|
||||||
|
self.read_files()
|
||||||
|
|
||||||
|
|
||||||
|
l = Lecture(new_lecture_path, self.course)
|
||||||
|
|
||||||
|
return l
|
||||||
|
|
||||||
|
def compile_master(self):
|
||||||
|
subprocess.Popen(
|
||||||
|
['latexmk', '-g', '-f', str(self.master_file)],
|
||||||
|
cwd=str(self.root),
|
||||||
|
stdout=subprocess.DEVNULL,
|
||||||
|
stderr=subprocess.DEVNULL
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import sys
|
||||||
|
args = sys.argv
|
||||||
|
command = args[1]
|
||||||
|
|
||||||
|
|
||||||
|
lectures = Lectures(Path.cwd())
|
||||||
|
|
||||||
|
if command == 'view':
|
||||||
|
lecture_range = args[2]
|
||||||
|
lecture_range = lectures.parse_range_string(lecture_range)
|
||||||
|
print(lecture_range)
|
||||||
|
lectures.update_lectures_in_master(lecture_range)
|
||||||
|
lectures.compile_master()
|
||||||
|
|
||||||
|
if command == 'new':
|
||||||
|
lectures.new_lecture()
|
||||||
|
|
||||||
|
if command == 'init':
|
||||||
|
from utils import beautify
|
||||||
|
course_title = beautify(lectures.root.stem)
|
||||||
|
lines = [r'\documentclass[a4paper]{article}',
|
||||||
|
r'\input{../preamble.tex}',
|
||||||
|
fr'\title{{{course_title}}}',
|
||||||
|
r'\begin{document}',
|
||||||
|
r' \maketitle',
|
||||||
|
r' \tableofcontents',
|
||||||
|
r' % start lectures',
|
||||||
|
r' % end lectures',
|
||||||
|
r'\end{document}'
|
||||||
|
]
|
||||||
|
lectures.master_file.touch()
|
||||||
|
lectures.master_file.write_text('\n'.join(lines))
|
||||||
|
|
||||||
|
(lectures.root / 'master.tex.latexmain').touch()
|
||||||
|
|
||||||
|
info_file = lectures.root / 'info.yaml'
|
||||||
|
info_file.touch()
|
||||||
|
info_file.write_text(f"title: '{course_title}'")
|
||||||
|
|
||||||
|
(lectures.root / 'figures').mkdir()
|
22
.scripts/rofi-courses.py
Normal file
22
.scripts/rofi-courses.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
from rofi import rofi
|
||||||
|
|
||||||
|
from courses import Courses
|
||||||
|
|
||||||
|
courses = Courses()
|
||||||
|
current = courses.current
|
||||||
|
|
||||||
|
try:
|
||||||
|
current_index = courses.index(current)
|
||||||
|
args = ['-a', current_index]
|
||||||
|
except ValueError:
|
||||||
|
args = []
|
||||||
|
|
||||||
|
code, index, selected = rofi('Select course', [c.info['title'] for c in courses], [
|
||||||
|
'-auto-select',
|
||||||
|
'-no-custom',
|
||||||
|
'-lines', len(courses)
|
||||||
|
] + args)
|
||||||
|
|
||||||
|
if index >= 0:
|
||||||
|
courses.current = courses[index]
|
22
.scripts/rofi-lectures-view.py
Normal file
22
.scripts/rofi-lectures-view.py
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
from courses import Courses
|
||||||
|
from rofi import rofi
|
||||||
|
|
||||||
|
lectures = Courses().current.lectures
|
||||||
|
|
||||||
|
commands = ['last', 'prev-last', 'all', 'prev']
|
||||||
|
options = ['Current lecture', 'Last two lectures', 'All lectures', 'Previous lectures']
|
||||||
|
|
||||||
|
key, index, selected = rofi('Select view', options, [
|
||||||
|
'-lines', 4,
|
||||||
|
'-auto-select'
|
||||||
|
])
|
||||||
|
|
||||||
|
if index >= 0:
|
||||||
|
command = commands[index]
|
||||||
|
else:
|
||||||
|
command = selected
|
||||||
|
|
||||||
|
lecture_range = lectures.parse_range_string(command)
|
||||||
|
lectures.update_lectures_in_master(lecture_range)
|
||||||
|
lectures.compile_master()
|
32
.scripts/rofi-lectures.py
Normal file
32
.scripts/rofi-lectures.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/python3
|
||||||
|
from courses import Courses
|
||||||
|
from rofi import rofi
|
||||||
|
from utils import generate_short_title, MAX_LEN
|
||||||
|
|
||||||
|
lectures = Courses().current.lectures
|
||||||
|
|
||||||
|
sorted_lectures = sorted(lectures, key=lambda l: -l.number)
|
||||||
|
|
||||||
|
options = [
|
||||||
|
"{number: >2}. <b>{title: <{fill}}</b> <span size='smaller'>{date} ({week})</span>".format(
|
||||||
|
fill=MAX_LEN,
|
||||||
|
number=lecture.number,
|
||||||
|
title=generate_short_title(lecture.title),
|
||||||
|
date=lecture.date.strftime('%a %d %b'),
|
||||||
|
week=lecture.week
|
||||||
|
)
|
||||||
|
for lecture in sorted_lectures
|
||||||
|
]
|
||||||
|
|
||||||
|
key, index, selected = rofi('Select lecture', options, [
|
||||||
|
'-lines', 5,
|
||||||
|
'-markup-rows',
|
||||||
|
'-kb-row-down', 'Down',
|
||||||
|
'-kb-custom-1', 'Ctrl+n'
|
||||||
|
])
|
||||||
|
|
||||||
|
if key == 0:
|
||||||
|
sorted_lectures[index].edit()
|
||||||
|
elif key == 1:
|
||||||
|
new_lecture = lectures.new_lecture()
|
||||||
|
new_lecture.edit()
|
30
.scripts/rofi.py
Normal file
30
.scripts/rofi.py
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
def rofi(prompt, options, rofi_args=[], fuzzy=True):
|
||||||
|
optionstr = '\n'.join(option.replace('\n', ' ') for option in options)
|
||||||
|
args = ['rofi', '-sort', '-no-levenshtein-sort']
|
||||||
|
if fuzzy:
|
||||||
|
args += ['-matching', 'fuzzy']
|
||||||
|
args += ['-dmenu', '-p', prompt, '-format', 's', '-i']
|
||||||
|
args += rofi_args
|
||||||
|
args = [str(arg) for arg in args]
|
||||||
|
|
||||||
|
|
||||||
|
result = subprocess.run(args, input=optionstr, stdout=subprocess.PIPE, universal_newlines=True)
|
||||||
|
returncode = result.returncode
|
||||||
|
stdout = result.stdout.strip()
|
||||||
|
|
||||||
|
selected = stdout.strip()
|
||||||
|
try:
|
||||||
|
index = [opt.strip() for opt in options].index(selected)
|
||||||
|
except ValueError:
|
||||||
|
index = -1
|
||||||
|
|
||||||
|
if returncode == 0:
|
||||||
|
key = 0
|
||||||
|
elif returncode == 1:
|
||||||
|
key = -1
|
||||||
|
elif returncode > 9:
|
||||||
|
key = returncode - 9
|
||||||
|
|
||||||
|
return key, index, selected
|
14
.scripts/utils.py
Normal file
14
.scripts/utils.py
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
def beautify(string):
|
||||||
|
return string.replace('_', ' ').replace('-', ' ').title()
|
||||||
|
|
||||||
|
def unbeautify(string):
|
||||||
|
return string.replace(' ', '-').lower()
|
||||||
|
|
||||||
|
MAX_LEN = 40
|
||||||
|
def generate_short_title(title):
|
||||||
|
short_title = title or 'Untitled'
|
||||||
|
if len(title) >= MAX_LEN:
|
||||||
|
short_title = title[:MAX_LEN - len(' ... ')] + ' ... '
|
||||||
|
short_title = short_title.replace('$', '')
|
||||||
|
return short_title
|
||||||
|
|
34
.xinitrc
Normal file
34
.xinitrc
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
|
||||||
|
userresources=$HOME/.Xresources
|
||||||
|
usermodmap=$HOME/.Xmodmap
|
||||||
|
sysresources=/etc/X11/xinit/.Xresources
|
||||||
|
sysmodmap=/etc/X11/xinit/.Xmodmap
|
||||||
|
|
||||||
|
if [ -f $sysresources ]; then
|
||||||
|
xrdb -merge $sysresources
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f $sysmodmap ]; then
|
||||||
|
xmodmap $sysmodmap
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$userresources" ]; then
|
||||||
|
xrdb -merge "$userresources"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -f "$usermodmap" ]; then
|
||||||
|
xmodmap "$usermodmap"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -d /etc/X11/xinit/xinitrc.d ]; then
|
||||||
|
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||||
|
[ -x "$f" ] && . "$f"
|
||||||
|
done
|
||||||
|
unset f
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# exec fluxbox with extra build-specific guff.
|
||||||
|
exec startfluxbox
|
||||||
|
|
||||||
|
|
112
.zshrc
Normal file
112
.zshrc
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
# If you come from bash you might have to change your $PATH.
|
||||||
|
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||||
|
|
||||||
|
# Path to your oh-my-zsh installation.
|
||||||
|
export ZSH="/home/guinevere/.oh-my-zsh"
|
||||||
|
|
||||||
|
# Set name of the theme to load --- if set to "random", it will
|
||||||
|
# load a random theme each time oh-my-zsh is loaded, in which case,
|
||||||
|
# to know which specific one was loaded, run: echo $RANDOM_THEME
|
||||||
|
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||||
|
|
||||||
|
#ZSH_THEME="agnoster"
|
||||||
|
|
||||||
|
powerline-daemon -q
|
||||||
|
. /usr/lib/python3.8/site-packages/powerline/bindings/zsh/powerline.zsh
|
||||||
|
|
||||||
|
# Set list of themes to pick from when loading at random
|
||||||
|
# Setting this variable when ZSH_THEME=random will cause zsh to load
|
||||||
|
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/
|
||||||
|
# If set to an empty array, this variable will have no effect.
|
||||||
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )
|
||||||
|
|
||||||
|
# Uncomment the following line to use case-sensitive completion.
|
||||||
|
# CASE_SENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to use hyphen-insensitive completion.
|
||||||
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
|
# HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||||
|
# DISABLE_AUTO_UPDATE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to automatically update without prompting.
|
||||||
|
# DISABLE_UPDATE_PROMPT="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to change how often to auto-update (in days).
|
||||||
|
# export UPDATE_ZSH_DAYS=13
|
||||||
|
|
||||||
|
# Uncomment the following line if pasting URLs and other text is messed up.
|
||||||
|
# DISABLE_MAGIC_FUNCTIONS=true
|
||||||
|
|
||||||
|
# Uncomment the following line to disable colors in ls.
|
||||||
|
# DISABLE_LS_COLORS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to disable auto-setting terminal title.
|
||||||
|
# DISABLE_AUTO_TITLE="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to enable command auto-correction.
|
||||||
|
# ENABLE_CORRECTION="true"
|
||||||
|
|
||||||
|
# Uncomment the following line to display red dots whilst waiting for completion.
|
||||||
|
# COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to disable marking untracked files
|
||||||
|
# under VCS as dirty. This makes repository status check for large repositories
|
||||||
|
# much, much faster.
|
||||||
|
# DISABLE_UNTRACKED_FILES_DIRTY="true"
|
||||||
|
|
||||||
|
# Uncomment the following line if you want to change the command execution time
|
||||||
|
# stamp shown in the history command output.
|
||||||
|
# You can set one of the optional three formats:
|
||||||
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
|
||||||
|
# or set a custom format using the strftime function format specifications,
|
||||||
|
# see 'man strftime' for details.
|
||||||
|
# HIST_STAMPS="mm/dd/yyyy"
|
||||||
|
|
||||||
|
# Would you like to use another custom folder than $ZSH/custom?
|
||||||
|
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||||
|
|
||||||
|
# Which plugins would you like to load?
|
||||||
|
# Standard plugins can be found in ~/.oh-my-zsh/plugins/*
|
||||||
|
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||||
|
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||||
|
# Add wisely, as too many plugins slow down shell startup.
|
||||||
|
plugins=(git archlinux command-not-found extract sudo systemd vscode z)
|
||||||
|
|
||||||
|
source $ZSH/oh-my-zsh.sh
|
||||||
|
|
||||||
|
# User configuration
|
||||||
|
|
||||||
|
# export MANPATH="/usr/local/man:$MANPATH"
|
||||||
|
|
||||||
|
# You may need to manually set your language environment
|
||||||
|
export LANG=en_GB.UTF-8
|
||||||
|
|
||||||
|
# Preferred editor for local and remote sessions
|
||||||
|
# if [[ -n $SSH_CONNECTION ]]; then
|
||||||
|
# export EDITOR='vim'
|
||||||
|
# else
|
||||||
|
# export EDITOR='mvim'
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Compilation flags
|
||||||
|
# export ARCHFLAGS="-arch x86_64"
|
||||||
|
|
||||||
|
# Set personal aliases, overriding those provided by oh-my-zsh libs,
|
||||||
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||||
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||||
|
# For a full list of active aliases, run `alias`.
|
||||||
|
#
|
||||||
|
# Example aliases
|
||||||
|
# alias zshconfig="mate ~/.zshrc"
|
||||||
|
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||||
|
|
||||||
|
export TARGET=i686-elf
|
||||||
|
export PREFIX="$HOME/opt/cross"
|
||||||
|
export PATH="$PREFIX/bin:$PATH"
|
||||||
|
|
||||||
|
alias iegcc=i686-elf-gcc
|
||||||
|
alias ieas=i686-elf-as
|
||||||
|
alias xegcc=x86_64-elf-gcc
|
||||||
|
alias qemu-sync=qemu-system-x86_64 -drive format=raw,media=cdrom,file=red.iso -serial stdio -vga std
|
208
i3/config
Normal file
208
i3/config
Normal file
|
@ -0,0 +1,208 @@
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
exec_always --no-startup-id wal -i "$(< "${HOME}/.cache/wal/wal")"
|
||||||
|
exec pgrep sxhkd || sxhkd &
|
||||||
|
|
||||||
|
new_window none
|
||||||
|
new_float normal
|
||||||
|
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
|
||||||
|
font xft:San-Francisco-Text 10
|
||||||
|
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
bindsym $mod+Return exec urxvt
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
bindsym $mod+d exec jgmenu_run &
|
||||||
|
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
bindsym $mod+h split h; exec notify-send 'tile horizontally'
|
||||||
|
bindsym $mod+v split v; exec notify-send 'tile vertically'
|
||||||
|
bindsym $mod+q split toggle
|
||||||
|
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace 1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace 2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace 3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace 4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace 5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace 6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace 7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace 8
|
||||||
|
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
bindsym $mod+x exec blurlock
|
||||||
|
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'End X Session?' -b 'Yes' 'i3-msg exit'"
|
||||||
|
#bindsym $mod+0 mode $mode_system
|
||||||
|
#set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
|
#mode "$mode_system" {
|
||||||
|
# bindsym s exec --no-startup-id i3exit suspend, mode "default"
|
||||||
|
# bindsym u exec --no-startup-id i3exit switch_user, mode "default"
|
||||||
|
# bindsym e exec --no-startup-id i3exit logout, mode "default"
|
||||||
|
# bindsym h exec --no-startup-id i3exit hibernate, mode "default"
|
||||||
|
# bindsym r exec --no-startup-id i3exit reboot, mode "default"
|
||||||
|
# bindsym Shift+s exec --no-startup-id i3exit shutdown, mode "default"
|
||||||
|
# bindsym Return mode "default"
|
||||||
|
# bindsym Escape mode "default"
|
||||||
|
#}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
mode "resize" {
|
||||||
|
bindsym j resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym k resize grow height 5 px or 5 ppt
|
||||||
|
bindsym l resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym semicolon resize grow width 5 px or 5 ppt
|
||||||
|
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
exec --no-startup-id nitrogen --restore; sleep 1;
|
||||||
|
#exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
exec_always --no-startup-id ff-theme-util
|
||||||
|
exec_always --no-startup-id fix_xcursor
|
||||||
|
exec_always --no-startup-id dbus-launch compton --config ~/.config/compton.conf
|
||||||
|
exec_always (xinput set-prop 12 228 1)
|
||||||
|
exec --no-startup-id ~/.config/polybar/launch.sh
|
||||||
|
|
||||||
|
client.focused #14171A #14171A #CCCCCC #393f4d #393f4d
|
||||||
|
client.focused_inactive #192733 #192733 #CCCCCC #000d1a
|
||||||
|
client.unfocused #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
client.urgent #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
client.placeholder #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
|
||||||
|
client.background #F31D3A
|
||||||
|
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer -4
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
set $mode_gaps Gaps: (o)uter, (i)nner
|
||||||
|
set $mode_gaps_outer: Outer Gaps: +|-|0 (current), Shift + +|-|0 (all)
|
||||||
|
set $mode_gaps_inner: Inner Gaps: +|-|0 (current), Shift + +|-|0 (all)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
|
bindsym XF86AudioPause exec playerctl pause
|
||||||
|
bindsym XF86AudioNext exec playerctl next
|
||||||
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
|
||||||
|
|
||||||
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 20
|
||||||
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 20
|
||||||
|
|
||||||
|
bindsym Print exec gnome-screenshot
|
||||||
|
|
||||||
|
exec_always /$HOME/.config/i3/init.sh
|
170
i3/config.old
Normal file
170
i3/config.old
Normal file
|
@ -0,0 +1,170 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod1
|
||||||
|
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
font pango:monospace 8
|
||||||
|
|
||||||
|
# This font is widely installed, provides lots of unicode glyphs, right-to-left
|
||||||
|
# text rendering and scalability on retina/hidpi displays (thanks to pango).
|
||||||
|
#font pango:DejaVu Sans Mono 8
|
||||||
|
|
||||||
|
# Before i3 v4.8, we used to recommend this one as the default:
|
||||||
|
# font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
|
||||||
|
# The font above is very space-efficient, that is, it looks good, sharp and
|
||||||
|
# clear in small sizes. However, its unicode glyph coverage is limited, the old
|
||||||
|
# X core fonts rendering does not support right-to-left and this being a bitmap
|
||||||
|
# font, it doesn’t scale on retina/hidpi displays.
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec i3-sensible-terminal
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# start dmenu (a program launcher)
|
||||||
|
bindsym $mod+d exec dmenu_run
|
||||||
|
# There also is the (new) i3-dmenu-desktop which only displays applications
|
||||||
|
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
|
||||||
|
# installed.
|
||||||
|
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
#bindsym $mod+d focus child
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
# exit i3 (logs you out of your X session)
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'"
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Start i3bar to display a workspace bar (plus the system information i3status
|
||||||
|
# finds out, if available)
|
||||||
|
bar {
|
||||||
|
status_command i3status
|
||||||
|
}
|
207
i3/config.save
Normal file
207
i3/config.save
Normal file
|
@ -0,0 +1,207 @@
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
#exec_always --no-startup-id wal -i "$(< "${HOME}/.cache/wal/wal")"
|
||||||
|
|
||||||
|
new_window pixel 2
|
||||||
|
new_float normal
|
||||||
|
|
||||||
|
hide_edge_borders none
|
||||||
|
|
||||||
|
bindsym $mod+u border none
|
||||||
|
bindsym $mod+y border pixel 1
|
||||||
|
bindsym $mod+n border none
|
||||||
|
|
||||||
|
font xft:San-Francisco-Text 10
|
||||||
|
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
bindsym $mod+Return exec urxvt
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
bindsym $mod+d exec jgmenu_run &
|
||||||
|
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
workspace_auto_back_and_forth yes
|
||||||
|
bindsym $mod+b workspace back_and_forth
|
||||||
|
bindsym $mod+Shift+b move container to workspace back_and_forth; workspace back_and_forth
|
||||||
|
|
||||||
|
bindsym $mod+h split h; exec notify-send 'tile horizontally'
|
||||||
|
bindsym $mod+v split v; exec notify-send 'tile vertically'
|
||||||
|
bindsym $mod+q split toggle
|
||||||
|
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
bindsym $mod+Shift+s sticky toggle
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+Right workspace next
|
||||||
|
bindsym $mod+Ctrl+Left workspace prev
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+1 workspace 1
|
||||||
|
bindsym $mod+2 workspace 2
|
||||||
|
bindsym $mod+3 workspace 3
|
||||||
|
bindsym $mod+4 workspace 4
|
||||||
|
bindsym $mod+5 workspace 5
|
||||||
|
bindsym $mod+6 workspace 6
|
||||||
|
bindsym $mod+7 workspace 7
|
||||||
|
bindsym $mod+8 workspace 8
|
||||||
|
|
||||||
|
bindsym $mod+Ctrl+1 move container to workspace 1
|
||||||
|
bindsym $mod+Ctrl+2 move container to workspace 2
|
||||||
|
bindsym $mod+Ctrl+3 move container to workspace 3
|
||||||
|
bindsym $mod+Ctrl+4 move container to workspace 4
|
||||||
|
bindsym $mod+Ctrl+5 move container to workspace 5
|
||||||
|
bindsym $mod+Ctrl+6 move container to workspace 6
|
||||||
|
bindsym $mod+Ctrl+7 move container to workspace 7
|
||||||
|
bindsym $mod+Ctrl+8 move container to workspace 8
|
||||||
|
|
||||||
|
bindsym $mod+Shift+1 move container to workspace 1; workspace 1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace 2; workspace 2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace 3; workspace 3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace 4; workspace 4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace 5; workspace 5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace 6; workspace 6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace 7; workspace 7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace 8; workspace 8
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
for_window [urgent=latest] focus
|
||||||
|
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
bindsym $mod+x exec (i3lock)
|
||||||
|
|
||||||
|
bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'End X Session?' -b 'Yes' 'i3-msg exit'"
|
||||||
|
set $mode_system (l)ock, (e)xit, switch_(u)ser, (s)uspend, (h)ibernate, (r)eboot, (Shift+s)hutdown
|
||||||
|
bindsym $mod+0 mode "$mode_system"
|
||||||
|
mode "$mode_system" {
|
||||||
|
bindsym s exec --no-startup-id i3exit suspend; mode "default"
|
||||||
|
bindsym u exec --no-startup-id i3exit switch_user; mode "default"
|
||||||
|
bindsym e exec --no-startup-id i3exit logout; mode "default"
|
||||||
|
bindsym h exec --no-startup-id i3exit hibernate; mode "default"
|
||||||
|
bindsym r exec --no-startup-id i3exit reboot; mode "default"
|
||||||
|
bindsym Shift+s exec --no-startup-id i3exit shutdown; mode "default"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
mode "resize" {
|
||||||
|
bindsym j resize shrink width 5 px or 5 ppt
|
||||||
|
bindsym k resize grow height 5 px or 5 ppt
|
||||||
|
bindsym l resize shrink height 5 px or 5 ppt
|
||||||
|
bindsym semicolon resize grow width 5 px or 5 ppt
|
||||||
|
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
exec --no-startup-id nitrogen --restore; sleep 1;
|
||||||
|
#exec --no-startup-id nm-applet
|
||||||
|
exec --no-startup-id xfce4-power-manager
|
||||||
|
exec --no-startup-id pamac-tray
|
||||||
|
exec --no-startup-id clipit
|
||||||
|
exec_always --no-startup-id ff-theme-util
|
||||||
|
exec_always --no-startup-id fix_xcursor
|
||||||
|
exec_always --no-startup-id (nohup compton &)
|
||||||
|
exec_always (xinput set-prop 12 228 1)
|
||||||
|
|
||||||
|
client.focused #14171A #14171A #CCCCCC #393f4d #393f4d
|
||||||
|
client.focused_inactive #192733 #192733 #CCCCCC #000d1a
|
||||||
|
client.unfocused #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
client.urgent #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
client.placeholder #192733 #192733 #CCCCCC #000d1a #000d1a
|
||||||
|
|
||||||
|
client.background #F31D3A
|
||||||
|
|
||||||
|
gaps inner 10
|
||||||
|
gaps outer -4
|
||||||
|
smart_gaps on
|
||||||
|
|
||||||
|
set $mode_gaps Gaps: (o)uter, (i)nner
|
||||||
|
set $mode_gaps_outer: Outer Gaps: +|-|0 (current), Shift + +|-|0 (all)
|
||||||
|
set $mode_gaps_inner: Inner Gaps: +|-|0 (current), Shift + +|-|0 (all)
|
||||||
|
bindsym $mod+Shift+g mode "$mode_gaps"
|
||||||
|
|
||||||
|
mode "$mode_gaps" {
|
||||||
|
bindsym o mode "$mode_gaps_outer"
|
||||||
|
bindsym i mode "$mode_gaps_inner"
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_inner" {
|
||||||
|
bindsym plus gaps inner current plus 5
|
||||||
|
bindsym minus gaps inner current minus 5
|
||||||
|
bindsym 0 gaps inner current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps inner all plus 5
|
||||||
|
bindsym Shift+minus gaps inner all minus 5
|
||||||
|
bindsym Shift+0 gaps inner all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
mode "$mode_gaps_outer" {
|
||||||
|
bindsym plus gaps outer current plus 5
|
||||||
|
bindsym minus gaps outer current minus 5
|
||||||
|
bindsym 0 gaps outer current set 0
|
||||||
|
|
||||||
|
bindsym Shift+plus gaps outer all plus 5
|
||||||
|
bindsym Shift+minus gaps outer all minus 5
|
||||||
|
bindsym Shift+0 gaps outer all set 0
|
||||||
|
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
|
bindsym XF86AudioPause exec playerctl pause
|
||||||
|
bindsym XF86AudioNext exec playerctl next
|
||||||
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
|
||||||
|
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
|
||||||
|
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
|
||||||
|
|
||||||
|
bindsym XF86MonBrightnessUp exec xbacklight -inc 20
|
||||||
|
bindsym XF86MonBrightnessDown exec xbacklight -dec 20
|
||||||
|
|
||||||
|
bindsym Print exec gnome-screenshot
|
||||||
|
|
||||||
|
exec_always /$HOME/.config/i3/init.sh
|
7
i3/init.sh
Executable file
7
i3/init.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
/$HOME/.config/polybar/launch.sh
|
||||||
|
|
||||||
|
pkill conky
|
||||||
|
|
||||||
|
conky -c ~/.conky/syclo-crimson-bottomleft.conkyrc
|
||||||
|
|
||||||
|
compstrt
|
9
i3/nohup.out
Normal file
9
i3/nohup.out
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
XIO: fatal IO error 11 (Resource temporarily unavailable) on X server ":1"
|
||||||
|
after 237522 requests (237522 known processed) with 0 events remaining.
|
||||||
|
[ 40.35 ] error 3 BadWindow request 2 minor 0 serial 5409: "BadWindow (invalid Window parameter)"
|
||||||
|
[ 60.44 ] error 3 BadWindow request 2 minor 0 serial 19386: "BadWindow (invalid Window parameter)"
|
||||||
|
[ 198.71 ] error 3 BadWindow request 2 minor 0 serial 45546: "BadWindow (invalid Window parameter)"
|
||||||
|
[ 975.69 ] error 3 BadWindow request 2 minor 0 serial 124952: "BadWindow (invalid Window parameter)"
|
||||||
|
X connection to :1 broken (explicit kill or server shutdown).
|
||||||
|
[ 48.88 ] error 3 BadWindow request 2 minor 0 serial 4759: "BadWindow (invalid Window parameter)"
|
||||||
|
[ 653.46 ] error 3 BadWindow request 2 minor 0 serial 243951: "BadWindow (invalid Window parameter)"
|
15
jgmenu/greeneye-search.svg
Normal file
15
jgmenu/greeneye-search.svg
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<!-- /usr/share/icons/breeze-dark/actions/22/system-search.svg -->
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 22 22">
|
||||||
|
<defs id="defs3051">
|
||||||
|
<style type="text/css" id="current-color-scheme">
|
||||||
|
.ColorScheme-Text {
|
||||||
|
color:#eff0f1;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</defs>
|
||||||
|
<path
|
||||||
|
style="fill:currentColor;fill-opacity:1;stroke:none"
|
||||||
|
d="M 9 3 C 5.6759952 3 3 5.6759952 3 9 C 3 12.324005 5.6759952 15 9 15 C 10.481205 15 11.830584 14.465318 12.875 13.582031 L 18.292969 19 L 19 18.292969 L 13.582031 12.875 C 14.465318 11.830584 15 10.481205 15 9 C 15 5.6759952 12.324005 3 9 3 z M 9 4 C 11.770005 4 14 6.2299952 14 9 C 14 11.770005 11.770005 14 9 14 C 6.2299952 14 4 11.770005 4 9 C 4 6.2299952 6.2299952 4 9 4 z "
|
||||||
|
class="ColorScheme-Text"
|
||||||
|
/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 776 B |
39
jgmenu/jgmenurc
Normal file
39
jgmenu/jgmenurc
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
tint2_look = 0
|
||||||
|
terminal_exec = urxvt-unicode
|
||||||
|
columns = 2
|
||||||
|
|
||||||
|
menu_width = 500
|
||||||
|
menu_height_min = 480
|
||||||
|
menu_height_max = 480
|
||||||
|
menu_padding_top = 50
|
||||||
|
menu_padding_right = 40
|
||||||
|
menu_padding_bottom = 40
|
||||||
|
menu_padding_left = 40
|
||||||
|
menu_radius = 0
|
||||||
|
menu_border = 0
|
||||||
|
menu_halign = center
|
||||||
|
menu_valign = center
|
||||||
|
|
||||||
|
item_margin_y = 5
|
||||||
|
item_height = 30
|
||||||
|
item_padding_x = 8
|
||||||
|
item_radius = 0
|
||||||
|
item_border = 2
|
||||||
|
|
||||||
|
sep_height = 5
|
||||||
|
|
||||||
|
icon_theme = Oranchelo
|
||||||
|
|
||||||
|
font = San Francisco Text 10
|
||||||
|
icon_size = 20
|
||||||
|
icon_text_spacing = 3
|
||||||
|
|
||||||
|
color_menu_bg = ${xrdb:color0} 30
|
||||||
|
color_norm_bg = ${xrdb:color1} 0
|
||||||
|
color_norm_fg = ${xrdb:color2} 80
|
||||||
|
color_sel_bg = ${xrdb:color3} 0
|
||||||
|
color_sel_fg = ${xrdb:color4} 30
|
||||||
|
color_sel_border = ${xrdb:color5} 0
|
||||||
|
color_sep_fg = ${xrdb:color6} 30
|
||||||
|
|
||||||
|
csv_no_dirs = 1
|
4
nitrogen/bg-saved.cfg
Normal file
4
nitrogen/bg-saved.cfg
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
[xin_-1]
|
||||||
|
file=/media/secondary.jpg
|
||||||
|
mode=5
|
||||||
|
bgcolor=#ffffff
|
12
nitrogen/nitrogen.cfg
Normal file
12
nitrogen/nitrogen.cfg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
[geometry]
|
||||||
|
posx=572
|
||||||
|
posy=99
|
||||||
|
sizex=584
|
||||||
|
sizey=466
|
||||||
|
|
||||||
|
[nitrogen]
|
||||||
|
view=icon
|
||||||
|
recurse=true
|
||||||
|
sort=alpha
|
||||||
|
icon_caps=false
|
||||||
|
dirs=/media;
|
604
polybar/bars.ini
Normal file
604
polybar/bars.ini
Normal file
|
@ -0,0 +1,604 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; ____
|
||||||
|
;; / __ )____ ___________
|
||||||
|
;; / __ / __ `/ ___/ ___/
|
||||||
|
;; / /_/ / /_/ / / (__ )
|
||||||
|
;; /_____/\__,_/_/ /____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/volume]
|
||||||
|
type = internal/alsa
|
||||||
|
|
||||||
|
; Soundcard to be used
|
||||||
|
; Usually in the format hw:# where # is the card number
|
||||||
|
; You can find the different card numbers in `/proc/asound/cards`
|
||||||
|
;;master-soundcard = default
|
||||||
|
;;speaker-soundcard = default
|
||||||
|
;;headphone-soundcard = default
|
||||||
|
|
||||||
|
; Name of the master, speaker and headphone mixers
|
||||||
|
; Use the following command to list available mixer controls:
|
||||||
|
; $ amixer scontrols | sed -nr "s/.*'([[:alnum:]]+)'.*/\1/p"
|
||||||
|
; If master, speaker or headphone-soundcard isn't the default,
|
||||||
|
; use `amixer -c # scontrols` instead where # is the number
|
||||||
|
; of the master, speaker or headphone soundcard respectively
|
||||||
|
;
|
||||||
|
; Default: Master
|
||||||
|
;;master-mixer = Master
|
||||||
|
|
||||||
|
; Optionally define speaker and headphone mixers
|
||||||
|
; Default: none
|
||||||
|
;;speaker-mixer = Speaker
|
||||||
|
; Default: none
|
||||||
|
;;headphone-mixer = Headphone
|
||||||
|
|
||||||
|
; NOTE: This is required if headphone_mixer is defined
|
||||||
|
; Use the following command to list available device controls
|
||||||
|
; $ amixer controls | sed -r "/CARD/\!d; s/.*=([0-9]+).*name='([^']+)'.*/printf '%3.0f: %s\n' '\1' '\2'/e" | sort
|
||||||
|
; You may also need to use `amixer -c # controls` as above for the mixer names
|
||||||
|
; Default: none
|
||||||
|
;;headphone-id = 9
|
||||||
|
|
||||||
|
; Use volume mapping (similar to amixer -M and alsamixer), where the increase in volume is linear to the ear
|
||||||
|
; Default: false
|
||||||
|
;;mapped = true
|
||||||
|
|
||||||
|
; Interval for volume increase/decrease (in percent points)
|
||||||
|
; Default: 5
|
||||||
|
;;interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-volume> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-volume = <ramp-volume> <bar-volume>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-muted> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-muted = <label-muted>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-volume = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default
|
||||||
|
format-muted-prefix =
|
||||||
|
label-muted = " Muted"
|
||||||
|
label-muted-foreground = ${color.ac}
|
||||||
|
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
ramp-volume-3 =
|
||||||
|
ramp-volume-4 =
|
||||||
|
|
||||||
|
; Only applies if <bar-volume> is used
|
||||||
|
bar-volume-width = 10
|
||||||
|
bar-volume-gradient = false
|
||||||
|
|
||||||
|
bar-volume-indicator =
|
||||||
|
bar-volume-indicator-foreground = ${color.bi}
|
||||||
|
bar-volume-indicator-font = 2
|
||||||
|
|
||||||
|
bar-volume-fill = ━
|
||||||
|
bar-volume-foreground-0 = ${color.bn}
|
||||||
|
bar-volume-foreground-1 = ${color.bn}
|
||||||
|
bar-volume-foreground-2 = ${color.bn}
|
||||||
|
bar-volume-foreground-3 = ${color.bn}
|
||||||
|
bar-volume-foreground-4 = ${color.bm}
|
||||||
|
bar-volume-foreground-5 = ${color.bm}
|
||||||
|
bar-volume-foreground-6 = ${color.bm}
|
||||||
|
bar-volume-foreground-7 = ${color.bd}
|
||||||
|
bar-volume-foreground-8 = ${color.bd}
|
||||||
|
bar-volume-fill-font = 2
|
||||||
|
|
||||||
|
bar-volume-empty = ┉
|
||||||
|
bar-volume-empty-foreground = ${color.be}
|
||||||
|
bar-volume-empty-font = 2
|
||||||
|
|
||||||
|
; If defined, it will replace <ramp-volume> when
|
||||||
|
; headphones are plugged in to `headphone_control_numid`
|
||||||
|
; If undefined, <ramp-volume> will be used for both
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-headphones-0 =
|
||||||
|
ramp-headphones-1 =
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/brightness]
|
||||||
|
type = internal/xbacklight
|
||||||
|
|
||||||
|
; Use the following command to list available cards:
|
||||||
|
; $ ls -1 /sys/class/backlight/
|
||||||
|
card = intel_backlight
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <ramp>
|
||||||
|
; <bar>
|
||||||
|
format = <ramp> <bar>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label = %percentage%%
|
||||||
|
|
||||||
|
; Only applies if <ramp> is used
|
||||||
|
|
||||||
|
ramp-0 =
|
||||||
|
ramp-1 =
|
||||||
|
ramp-2 =
|
||||||
|
ramp-3 =
|
||||||
|
ramp-4 =
|
||||||
|
|
||||||
|
;; Other Icons
|
||||||
|
;
|
||||||
|
|
||||||
|
; Only applies if <bar> is used
|
||||||
|
bar-width = 10
|
||||||
|
bar-gradient = false
|
||||||
|
|
||||||
|
bar-indicator =
|
||||||
|
bar-indicator-foreground = ${color.bi}
|
||||||
|
bar-indicator-font = 2
|
||||||
|
|
||||||
|
bar-fill = ━
|
||||||
|
bar-foreground-0 = ${color.bn}
|
||||||
|
bar-foreground-1 = ${color.bn}
|
||||||
|
bar-foreground-2 = ${color.bn}
|
||||||
|
bar-foreground-3 = ${color.bm}
|
||||||
|
bar-foreground-4 = ${color.bm}
|
||||||
|
bar-foreground-5 = ${color.bd}
|
||||||
|
bar-foreground-6 = ${color.bd}
|
||||||
|
bar-foreground-7 = ${color.bd}
|
||||||
|
bar-foreground-8 = ${color.bd}
|
||||||
|
bar-fill-font = 2
|
||||||
|
|
||||||
|
bar-empty = ┉
|
||||||
|
bar-empty-foreground = ${color.be}
|
||||||
|
bar-empty-font = 2
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/battery_bar]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
full-at = 99
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT1
|
||||||
|
adapter = ACAD
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 2
|
||||||
|
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <bar-capacity>
|
||||||
|
format-charging-prefix = " "
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <bar-capacity>
|
||||||
|
format-discharging-prefix = " "
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
;format-full = <ramp-capacity> <label-full>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
|
||||||
|
label-charging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-full = Fully Charged
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
bar-capacity-width = 10
|
||||||
|
bar-capacity-gradient = false
|
||||||
|
|
||||||
|
bar-capacity-indicator =
|
||||||
|
bar-capacity-indicator-foreground = ${color.bi}
|
||||||
|
bar-capacity-indicator-font = 2
|
||||||
|
|
||||||
|
bar-capacity-fill = ━
|
||||||
|
bar-capacity-foreground-0 = ${color.bd}
|
||||||
|
bar-capacity-foreground-1 = ${color.bd}
|
||||||
|
bar-capacity-foreground-2 = ${color.bd}
|
||||||
|
bar-capacity-foreground-3 = ${color.bm}
|
||||||
|
bar-capacity-foreground-4 = ${color.bm}
|
||||||
|
bar-capacity-foreground-5 = ${color.bm}
|
||||||
|
bar-capacity-foreground-6 = ${color.bm}
|
||||||
|
bar-capacity-foreground-7 = ${color.bn}
|
||||||
|
bar-capacity-foreground-8 = ${color.bn}
|
||||||
|
bar-capacity-fill-font = 2
|
||||||
|
|
||||||
|
bar-capacity-empty = ┉
|
||||||
|
bar-capacity-empty-foreground = ${color.be}
|
||||||
|
bar-capacity-empty-font = 2
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
ramp-capacity-5 =
|
||||||
|
ramp-capacity-6 =
|
||||||
|
ramp-capacity-7 =
|
||||||
|
ramp-capacity-8 =
|
||||||
|
ramp-capacity-9 =
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
animation-charging-5 =
|
||||||
|
animation-charging-6 =
|
||||||
|
animation-charging-7 =
|
||||||
|
animation-charging-8 =
|
||||||
|
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
;;animation-discharging-0 =
|
||||||
|
;;animation-discharging-1 =
|
||||||
|
;;animation-discharging-2 =
|
||||||
|
;;animation-discharging-3 =
|
||||||
|
;;animation-discharging-4 =
|
||||||
|
;;animation-discharging-5 =
|
||||||
|
;;animation-discharging-6 =
|
||||||
|
;;animation-discharging-7 =
|
||||||
|
;;animation-discharging-8 =
|
||||||
|
|
||||||
|
; Framerate in milliseconds
|
||||||
|
;animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/cpu_bar]
|
||||||
|
type = internal/cpu
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 0.5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-load>
|
||||||
|
; <ramp-load>
|
||||||
|
; <ramp-coreload>
|
||||||
|
;;format = <label> <ramp-coreload>
|
||||||
|
format = <bar-load> <label>
|
||||||
|
format-prefix = " "
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - total cpu load averaged over all cores
|
||||||
|
; %percentage-sum% - Cumulative load on all cores
|
||||||
|
; %percentage-cores% - load percentage for each core
|
||||||
|
; %percentage-core[1-9]% - load percentage for specific core
|
||||||
|
label = "%percentage%%"
|
||||||
|
|
||||||
|
; Only applies if <bar-load> is used
|
||||||
|
bar-load-width = 10
|
||||||
|
bar-load-gradient = false
|
||||||
|
|
||||||
|
bar-load-indicator =
|
||||||
|
bar-load-indicator-foreground = ${color.bi}
|
||||||
|
bar-load-indicator-font = 2
|
||||||
|
|
||||||
|
bar-load-fill = ━
|
||||||
|
bar-load-foreground-0 = ${color.bn}
|
||||||
|
bar-load-foreground-1 = ${color.bn}
|
||||||
|
bar-load-foreground-2 = ${color.bn}
|
||||||
|
bar-load-foreground-3 = ${color.bm}
|
||||||
|
bar-load-foreground-4 = ${color.bm}
|
||||||
|
bar-load-foreground-5 = ${color.bm}
|
||||||
|
bar-load-foreground-6 = ${color.bd}
|
||||||
|
bar-load-foreground-7 = ${color.bd}
|
||||||
|
bar-load-foreground-8 = ${color.bd}
|
||||||
|
bar-load-fill-font = 2
|
||||||
|
|
||||||
|
bar-load-empty = ┉
|
||||||
|
bar-load-empty-foreground = ${color.be}
|
||||||
|
bar-load-empty-font = 2
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/filesystem_bar]
|
||||||
|
type = internal/fs
|
||||||
|
|
||||||
|
; Mountpoints to display
|
||||||
|
mount-0 = /
|
||||||
|
;;mount-1 = /home
|
||||||
|
;;mount-2 = /var
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 30
|
||||||
|
interval = 10
|
||||||
|
|
||||||
|
; Display fixed precision values
|
||||||
|
; Default: false
|
||||||
|
fixed-values = false
|
||||||
|
|
||||||
|
; Spacing between entries
|
||||||
|
; Default: 2
|
||||||
|
;;spacing = 4
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-mounted> (default)
|
||||||
|
; <bar-free>
|
||||||
|
; <bar-used>
|
||||||
|
; <ramp-capacity>
|
||||||
|
format-mounted = <bar-used> <label-mounted>
|
||||||
|
format-mounted-prefix = " "
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-unmounted> (default)
|
||||||
|
;;format-unmounted = <label-unmounted>
|
||||||
|
;;format-unmounted-prefix =
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %mountpoint%
|
||||||
|
; %type%
|
||||||
|
; %fsname%
|
||||||
|
; %percentage_free%
|
||||||
|
; %percentage_used%
|
||||||
|
; %total%
|
||||||
|
; %free%
|
||||||
|
; %used%
|
||||||
|
; Default: %mountpoint% %percentage_free%%
|
||||||
|
label-mounted = %used%/%total%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %mountpoint%
|
||||||
|
; Default: %mountpoint% is not mounted
|
||||||
|
;;label-unmounted = %mountpoint%: not mounted
|
||||||
|
|
||||||
|
; Only applies if <bar-used> is used
|
||||||
|
bar-used-width = 10
|
||||||
|
bar-used-gradient = false
|
||||||
|
|
||||||
|
bar-used-indicator =
|
||||||
|
bar-used-indicator-foreground = ${color.bi}
|
||||||
|
bar-used-indicator-font = 2
|
||||||
|
|
||||||
|
bar-used-fill = ━
|
||||||
|
bar-used-foreground-0 = ${color.bn}
|
||||||
|
bar-used-foreground-1 = ${color.bn}
|
||||||
|
bar-used-foreground-2 = ${color.bn}
|
||||||
|
bar-used-foreground-3 = ${color.bn}
|
||||||
|
bar-used-foreground-4 = ${color.bn}
|
||||||
|
bar-used-foreground-5 = ${color.bm}
|
||||||
|
bar-used-foreground-6 = ${color.bm}
|
||||||
|
bar-used-foreground-7 = ${color.bd}
|
||||||
|
bar-used-foreground-8 = ${color.bd}
|
||||||
|
bar-used-fill-font = 2
|
||||||
|
|
||||||
|
bar-used-empty = ┉
|
||||||
|
bar-used-empty-foreground = ${color.be}
|
||||||
|
bar-used-empty-font = 2
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/memory_bar]
|
||||||
|
type = internal/memory
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 2
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-used>
|
||||||
|
; <bar-free>
|
||||||
|
; <ramp-used>
|
||||||
|
; <ramp-free>
|
||||||
|
; <bar-swap-used>
|
||||||
|
; <bar-swap-free>
|
||||||
|
; <ramp-swap-used>
|
||||||
|
; <ramp-swap-free>
|
||||||
|
format = <bar-used> <label>
|
||||||
|
format-prefix = " "
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage_used% (default)
|
||||||
|
; %percentage_free%
|
||||||
|
; %gb_used%
|
||||||
|
; %gb_free%
|
||||||
|
; %gb_total%
|
||||||
|
; %mb_used%
|
||||||
|
; %mb_free%
|
||||||
|
; %mb_total%
|
||||||
|
; %percentage_swap_used%
|
||||||
|
; %percentage_swap_free%
|
||||||
|
; %mb_swap_total%
|
||||||
|
; %mb_swap_free%
|
||||||
|
; %mb_swap_used%
|
||||||
|
; %gb_swap_total%
|
||||||
|
; %gb_swap_free%
|
||||||
|
; %gb_swap_used%
|
||||||
|
|
||||||
|
label = "%mb_used%"
|
||||||
|
|
||||||
|
; Only applies if <bar-used> is used
|
||||||
|
bar-used-width = 10
|
||||||
|
bar-used-gradient = false
|
||||||
|
|
||||||
|
bar-used-indicator =
|
||||||
|
bar-used-indicator-foreground = ${color.bi}
|
||||||
|
bar-used-indicator-font = 2
|
||||||
|
|
||||||
|
bar-used-fill = ━
|
||||||
|
bar-used-foreground-0 = ${color.bn}
|
||||||
|
bar-used-foreground-1 = ${color.bn}
|
||||||
|
bar-used-foreground-2 = ${color.bn}
|
||||||
|
bar-used-foreground-3 = ${color.bm}
|
||||||
|
bar-used-foreground-4 = ${color.bm}
|
||||||
|
bar-used-foreground-5 = ${color.bm}
|
||||||
|
bar-used-foreground-6 = ${color.bd}
|
||||||
|
bar-used-foreground-7 = ${color.bd}
|
||||||
|
bar-used-foreground-8 = ${color.bd}
|
||||||
|
bar-used-fill-font = 2
|
||||||
|
|
||||||
|
bar-used-empty = ┉
|
||||||
|
bar-used-empty-foreground = ${color.be}
|
||||||
|
bar-used-empty-font = 2
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/mpd_bar]
|
||||||
|
type = internal/mpd
|
||||||
|
|
||||||
|
; Host where mpd is running (either ip or domain name)
|
||||||
|
; Can also be the full path to a unix socket where mpd is running.
|
||||||
|
;;host = 127.0.0.1
|
||||||
|
;;port = 6600
|
||||||
|
;;password = mysecretpassword
|
||||||
|
|
||||||
|
; Seconds to sleep between progressbar/song timer sync
|
||||||
|
; Default: 1
|
||||||
|
interval = 1
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-song> (default)
|
||||||
|
; <label-time>
|
||||||
|
; <bar-progress>
|
||||||
|
; <toggle> - gets replaced with <icon-(pause|play)>
|
||||||
|
; <toggle-stop> - gets replaced with <icon-(stop|play)>
|
||||||
|
; <icon-random>
|
||||||
|
; <icon-repeat>
|
||||||
|
; <icon-repeatone> (deprecated)
|
||||||
|
; <icon-single> - Toggle playing only a single song. Replaces <icon-repeatone>
|
||||||
|
; <icon-consume>
|
||||||
|
; <icon-prev>
|
||||||
|
; <icon-stop>
|
||||||
|
; <icon-play>
|
||||||
|
; <icon-pause>
|
||||||
|
; <icon-next>
|
||||||
|
; <icon-seekb>
|
||||||
|
; <icon-seekf>
|
||||||
|
format-online = <label-song> <bar-progress> <label-time>
|
||||||
|
|
||||||
|
;format-playing = ${self.format-online}
|
||||||
|
;format-paused = ${self.format-online}
|
||||||
|
;format-stopped = ${self.format-online}
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-offline>
|
||||||
|
;format-offline = <label-offline>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %artist%
|
||||||
|
; %album-artist%
|
||||||
|
; %album%
|
||||||
|
; %date%
|
||||||
|
; %title%
|
||||||
|
; Default: %artist% - %title%
|
||||||
|
label-song = "%title%"
|
||||||
|
label-song-maxlen = 25
|
||||||
|
label-song-ellipsis = true
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %elapsed%
|
||||||
|
; %total%
|
||||||
|
; Default: %elapsed% / %total%
|
||||||
|
;;abel-time = %elapsed% / %total%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; None
|
||||||
|
label-offline = "mpd is offline"
|
||||||
|
|
||||||
|
; Only applies if <icon-X> is used
|
||||||
|
icon-play =
|
||||||
|
icon-pause =
|
||||||
|
icon-stop =
|
||||||
|
icon-prev =
|
||||||
|
icon-next =
|
||||||
|
icon-seekb = ⏪
|
||||||
|
icon-seekf = ⏩
|
||||||
|
icon-random = 🔀
|
||||||
|
icon-repeat = 🔁
|
||||||
|
icon-repeatone = 🔂
|
||||||
|
icon-single = 🔂
|
||||||
|
icon-consume = ✀
|
||||||
|
|
||||||
|
; Used to display the state of random/repeat/repeatone/single
|
||||||
|
; Only applies if <icon-[random|repeat|repeatone|single]> is used
|
||||||
|
;;toggle-on-foreground = #ff
|
||||||
|
;;toggle-off-foreground = #55
|
||||||
|
|
||||||
|
; Only applies if <bar-progress> is used
|
||||||
|
bar-progress-width = 10
|
||||||
|
bar-progress-gradient = true
|
||||||
|
|
||||||
|
bar-progress-indicator =
|
||||||
|
bar-progress-indicator-foreground = ${color.bi}
|
||||||
|
bar-progress-indicator-font = 2
|
||||||
|
|
||||||
|
bar-progress-fill = ━
|
||||||
|
bar-progress-foreground-0 = ${color.bn}
|
||||||
|
bar-progress-foreground-1 = ${color.bn}
|
||||||
|
bar-progress-foreground-2 = ${color.bn}
|
||||||
|
bar-progress-foreground-3 = ${color.bm}
|
||||||
|
bar-progress-foreground-4 = ${color.bm}
|
||||||
|
bar-progress-foreground-5 = ${color.bm}
|
||||||
|
bar-progress-foreground-6 = ${color.bd}
|
||||||
|
bar-progress-foreground-7 = ${color.bd}
|
||||||
|
bar-progress-foreground-8 = ${color.bd}
|
||||||
|
bar-progress-fill-font = 2
|
||||||
|
|
||||||
|
bar-progress-empty = ┉
|
||||||
|
bar-progress-empty-foreground = ${color.be}
|
||||||
|
bar-progress-empty-font = 2
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
264
polybar/colors.ini
Normal file
264
polybar/colors.ini
Normal file
|
@ -0,0 +1,264 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; ______ __
|
||||||
|
;; / ____/___ / /___ __________
|
||||||
|
;; / / / __ \/ / __ \/ ___/ ___/
|
||||||
|
;; / /___/ /_/ / / /_/ / / (__ )
|
||||||
|
;; \____/\____/_/\____/_/ /____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[color]
|
||||||
|
|
||||||
|
;; Active Colors
|
||||||
|
bg = #263238
|
||||||
|
fg = #DFDFDF
|
||||||
|
ac = #00BCD4
|
||||||
|
|
||||||
|
;; Bars
|
||||||
|
bi = #00BCD4
|
||||||
|
be = #00BCD4
|
||||||
|
bf = #43a047
|
||||||
|
bn = #43a047
|
||||||
|
bm = #fdd835
|
||||||
|
bd = #e53935
|
||||||
|
|
||||||
|
;bg = #112526
|
||||||
|
;fg = #AE9793
|
||||||
|
;ac = #EE7313
|
||||||
|
|
||||||
|
;; Bars
|
||||||
|
;bi = #EE7313
|
||||||
|
;be = #EE7313
|
||||||
|
;bf = #43a047
|
||||||
|
;bn = #43a047
|
||||||
|
;bm = #fdd835
|
||||||
|
;bd = #e53935
|
||||||
|
|
||||||
|
trans = #00000000
|
||||||
|
white = #FFFFFF
|
||||||
|
black = #000000
|
||||||
|
|
||||||
|
;; Material Colors
|
||||||
|
|
||||||
|
red = #e53935
|
||||||
|
pink = #d81b60
|
||||||
|
purple = #8e24aa
|
||||||
|
deep-purple = #5e35b1
|
||||||
|
indigo = #3949ab
|
||||||
|
blue = #1e88e5
|
||||||
|
light-blue = #039be5
|
||||||
|
cyan = #00acc1
|
||||||
|
teal = #00897b
|
||||||
|
green = #43a047
|
||||||
|
light-green = #7cb342
|
||||||
|
lime = #c0ca33
|
||||||
|
yellow = #fdd835
|
||||||
|
amber = #ffb300
|
||||||
|
orange = #fb8c00
|
||||||
|
deep-orange = #f4511e
|
||||||
|
brown = #6d4c41
|
||||||
|
grey = #757575
|
||||||
|
blue-gray = #546e7a
|
||||||
|
|
||||||
|
;; Material Colors Shades
|
||||||
|
|
||||||
|
; Amber
|
||||||
|
amshade1 = #FF6F00
|
||||||
|
amshade2 = #FF8F00
|
||||||
|
amshade3 = #FFA000
|
||||||
|
amshade4 = #FFB300
|
||||||
|
amshade5 = #FFC107
|
||||||
|
amshade6 = #FFCA28
|
||||||
|
amshade7 = #FFD54F
|
||||||
|
amshade8 = #FFE082
|
||||||
|
|
||||||
|
; Blue
|
||||||
|
blshade1 = #0D47A1
|
||||||
|
blshade2 = #1565C0
|
||||||
|
blshade3 = #1976D2
|
||||||
|
blshade4 = #1E88E5
|
||||||
|
blshade5 = #2196F3
|
||||||
|
blshade6 = #42A5F5
|
||||||
|
blshade7 = #64B5F6
|
||||||
|
blshade8 = #90CAF9
|
||||||
|
|
||||||
|
; Blue-Grey
|
||||||
|
bgshade1 = #263238
|
||||||
|
bgshade2 = #37474F
|
||||||
|
bgshade3 = #455A64
|
||||||
|
bgshade4 = #546E7A
|
||||||
|
bgshade5 = #607D8B
|
||||||
|
bgshade6 = #78909C
|
||||||
|
bgshade7 = #90A4AE
|
||||||
|
bgshade8 = #B0BEC5
|
||||||
|
|
||||||
|
; Brown
|
||||||
|
brshade1 = #3E2723
|
||||||
|
brshade2 = #4E342E
|
||||||
|
brshade3 = #5D4037
|
||||||
|
brshade4 = #6D4C41
|
||||||
|
brshade5 = #795548
|
||||||
|
brshade6 = #8D6E63
|
||||||
|
brshade7 = #A1887F
|
||||||
|
brshade8 = #BCAAA4
|
||||||
|
|
||||||
|
; Cyan
|
||||||
|
cyshade1 = #006064
|
||||||
|
cyshade2 = #00838F
|
||||||
|
cyshade3 = #0097A7
|
||||||
|
cyshade4 = #00ACC1
|
||||||
|
cyshade5 = #00BCD4
|
||||||
|
cyshade6 = #26C6DA
|
||||||
|
cyshade7 = #4DD0E1
|
||||||
|
cyshade8 = #80DEEA
|
||||||
|
|
||||||
|
; Deep-Orange
|
||||||
|
doshade1 = #BF360C
|
||||||
|
doshade2 = #D84315
|
||||||
|
doshade3 = #E64A19
|
||||||
|
doshade4 = #F4511E
|
||||||
|
doshade5 = #FF5722
|
||||||
|
doshade6 = #FF7043
|
||||||
|
doshade7 = #FF8A65
|
||||||
|
doshade8 = #FFAB91
|
||||||
|
|
||||||
|
; Deep-Purple
|
||||||
|
dpshade1 = #311B92
|
||||||
|
dpshade2 = #4527A0
|
||||||
|
dpshade3 = #512DA8
|
||||||
|
dpshade4 = #5E35B1
|
||||||
|
dpshade5 = #673AB7
|
||||||
|
dpshade6 = #7E57C2
|
||||||
|
dpshade7 = #9575CD
|
||||||
|
dpshade8 = #B39DDB
|
||||||
|
|
||||||
|
; Green
|
||||||
|
grshade1 = #1B5E20
|
||||||
|
grshade2 = #2E7D32
|
||||||
|
grshade3 = #388E3C
|
||||||
|
grshade4 = #43A047
|
||||||
|
grshade5 = #4CAF50
|
||||||
|
grshade6 = #66BB6A
|
||||||
|
grshade7 = #81C784
|
||||||
|
grshade8 = #A5D6A7
|
||||||
|
|
||||||
|
; Grey
|
||||||
|
greshade1 = #212121
|
||||||
|
greshade2 = #424242
|
||||||
|
greshade3 = #616161
|
||||||
|
greshade4 = #757575
|
||||||
|
greshade5 = #9E9E9E
|
||||||
|
greshade6 = #BDBDBD
|
||||||
|
greshade7 = #D4D4D4
|
||||||
|
greshade8 = #EEEEEE
|
||||||
|
|
||||||
|
; Indigo
|
||||||
|
inshade1 = #1A237E
|
||||||
|
inshade2 = #283593
|
||||||
|
inshade3 = #303F9F
|
||||||
|
inshade4 = #3949AB
|
||||||
|
inshade5 = #3F51B5
|
||||||
|
inshade6 = #5C6BC0
|
||||||
|
inshade7 = #7986CB
|
||||||
|
inshade8 = #9FA8DA
|
||||||
|
|
||||||
|
; Light-Blue
|
||||||
|
lbshade1 = #01579B
|
||||||
|
lbshade2 = #0277BD
|
||||||
|
lbshade3 = #0288D1
|
||||||
|
lbshade4 = #039BE5
|
||||||
|
lbshade5 = #03A9F4
|
||||||
|
lbshade6 = #29B6F6
|
||||||
|
lbshade7 = #4FC3F7
|
||||||
|
lbshade8 = #81D4FA
|
||||||
|
|
||||||
|
; Light-Green
|
||||||
|
lgshade1 = #33691E
|
||||||
|
lgshade2 = #558B2F
|
||||||
|
lgshade3 = #689F38
|
||||||
|
lgshade4 = #7CB342
|
||||||
|
lgshade5 = #8BC34A
|
||||||
|
lgshade6 = #9CCC65
|
||||||
|
lgshade7 = #AED581
|
||||||
|
lgshade8 = #C5E1A5
|
||||||
|
|
||||||
|
; Lime
|
||||||
|
lishade1 = #827717
|
||||||
|
lishade2 = #9E9D24
|
||||||
|
lishade3 = #AFB42B
|
||||||
|
lishade4 = #C0CA33
|
||||||
|
lishade5 = #CDDC39
|
||||||
|
lishade6 = #D4E157
|
||||||
|
lishade7 = #DCE775
|
||||||
|
lishade8 = #E6EE9C
|
||||||
|
|
||||||
|
; Orange
|
||||||
|
orshade1 = #E65100
|
||||||
|
orshade2 = #EF6C00
|
||||||
|
orshade3 = #F57C00
|
||||||
|
orshade4 = #FB8C00
|
||||||
|
orshade5 = #FF9800
|
||||||
|
orshade6 = #FFA726
|
||||||
|
orshade7 = #FFB74D
|
||||||
|
orshade8 = #FFCC80
|
||||||
|
|
||||||
|
; Pink
|
||||||
|
pishade1 = #880E4F
|
||||||
|
pishade2 = #AD1457
|
||||||
|
pishade3 = #C2185B
|
||||||
|
pishade4 = #D81B60
|
||||||
|
pishade5 = #E91E63
|
||||||
|
pishade6 = #EC407A
|
||||||
|
pishade7 = #F06292
|
||||||
|
pishade8 = #F48FB1
|
||||||
|
|
||||||
|
; Purple
|
||||||
|
prshade1 = #4A148C
|
||||||
|
prshade2 = #6A1B9A
|
||||||
|
prshade3 = #7B1FA2
|
||||||
|
prshade4 = #8E24AA
|
||||||
|
prshade5 = #9C27B0
|
||||||
|
prshade6 = #AB47BC
|
||||||
|
prshade7 = #BA68C8
|
||||||
|
prshade8 = #CE93D8
|
||||||
|
|
||||||
|
; Red
|
||||||
|
reshade1 = #B71C1C
|
||||||
|
reshade2 = #C62828
|
||||||
|
reshade3 = #D32F2F
|
||||||
|
reshade4 = #E53935
|
||||||
|
reshade5 = #EE413D
|
||||||
|
reshade6 = #EF5350
|
||||||
|
reshade7 = #E57373
|
||||||
|
reshade8 = #EF9A9A
|
||||||
|
|
||||||
|
; Teal
|
||||||
|
teshade1 = #004D40
|
||||||
|
teshade2 = #00695C
|
||||||
|
teshade3 = #00796B
|
||||||
|
teshade4 = #00897B
|
||||||
|
teshade5 = #009688
|
||||||
|
teshade6 = #26A69A
|
||||||
|
teshade7 = #4DB6AC
|
||||||
|
teshade8 = #80CBC4
|
||||||
|
|
||||||
|
; Yellow
|
||||||
|
yeshade1 = #F57F17
|
||||||
|
yeshade2 = #F9A825
|
||||||
|
yeshade3 = #FBC02D
|
||||||
|
yeshade4 = #FDD835
|
||||||
|
yeshade5 = #FFEB3B
|
||||||
|
yeshade6 = #FFEE58
|
||||||
|
yeshade7 = #FFF176
|
||||||
|
yeshade8 = #FFF59D
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
17
polybar/colors.sh
Executable file
17
polybar/colors.sh
Executable file
|
@ -0,0 +1,17 @@
|
||||||
|
# wal - Colors generated by wal
|
||||||
|
color0='#14171A'
|
||||||
|
color1='#BD8C76'
|
||||||
|
color2='#6B7887'
|
||||||
|
color3='#68ACA8'
|
||||||
|
color4='#A09A9E'
|
||||||
|
color5='#D4AFA8'
|
||||||
|
color6='#CEC9B5'
|
||||||
|
color7='#EFDFDB'
|
||||||
|
color8='#666666'
|
||||||
|
color9='#BD8C76'
|
||||||
|
color10='#6B7887'
|
||||||
|
color11='#68ACA8'
|
||||||
|
color12='#A09A9E'
|
||||||
|
color13='#D4AFA8'
|
||||||
|
color14='#CEC9B5'
|
||||||
|
color15='#EFDFDB'
|
433
polybar/config
Normal file
433
polybar/config
Normal file
|
@ -0,0 +1,433 @@
|
||||||
|
;==========================================================
|
||||||
|
;
|
||||||
|
;
|
||||||
|
; ██████╗ ██████╗ ██╗ ██╗ ██╗██████╗ █████╗ ██████╗
|
||||||
|
; ██╔══██╗██╔═══██╗██║ ╚██╗ ██╔╝██╔══██╗██╔══██╗██╔══██╗
|
||||||
|
; ██████╔╝██║ ██║██║ ╚████╔╝ ██████╔╝███████║██████╔╝
|
||||||
|
; ██╔═══╝ ██║ ██║██║ ╚██╔╝ ██╔══██╗██╔══██║██╔══██╗
|
||||||
|
; ██║ ╚██████╔╝███████╗██║ ██████╔╝██║ ██║██║ ██║
|
||||||
|
; ╚═╝ ╚═════╝ ╚══════╝╚═╝ ╚═════╝ ╚═╝ ╚═╝╚═╝ ╚═╝
|
||||||
|
;
|
||||||
|
;
|
||||||
|
;==========================================================
|
||||||
|
|
||||||
|
|
||||||
|
[bar/i3wmthemer_bar]
|
||||||
|
width = 100%
|
||||||
|
height = 27
|
||||||
|
radius = 0
|
||||||
|
fixed-center = false
|
||||||
|
|
||||||
|
background = ${xrdb:color0}
|
||||||
|
foreground = ${xrdb:color7}
|
||||||
|
|
||||||
|
line-size = 3
|
||||||
|
line-color =
|
||||||
|
|
||||||
|
border-size = 0
|
||||||
|
# border-color =
|
||||||
|
|
||||||
|
padding-left = 0
|
||||||
|
padding-right = 2
|
||||||
|
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 2
|
||||||
|
|
||||||
|
font-0 = "Source Code Pro Semibold:size=10;1"
|
||||||
|
font-1 = "Font Awesome 5 Free:style=Solid:size=10;1"
|
||||||
|
font-2 = "Font Awesome 5 Brands:size=10;1"
|
||||||
|
|
||||||
|
modules-left = wlan pulseaudio backlight
|
||||||
|
modules-center = course calendar time
|
||||||
|
modules-right = battery date powermenu
|
||||||
|
|
||||||
|
tray-position = right
|
||||||
|
tray-padding = 10
|
||||||
|
|
||||||
|
cursor-click = pointer
|
||||||
|
cursor-scroll = ns-resize
|
||||||
|
|
||||||
|
[module/i3]
|
||||||
|
type = internal/i3
|
||||||
|
format = <label-state> <label-mode>
|
||||||
|
index-sort = true
|
||||||
|
wrapping-scroll = false
|
||||||
|
|
||||||
|
label-mode-padding = 2
|
||||||
|
label-mode-foreground = ${xrdb:color0}
|
||||||
|
label-mode-background = ${xrdb:color0}
|
||||||
|
|
||||||
|
label-focused = %index%
|
||||||
|
label-focused-background = ${xrdb:color2}
|
||||||
|
label-focused-foreground = ${xrdb:color0}
|
||||||
|
label-focused-padding = 2
|
||||||
|
|
||||||
|
label-unfocused = %index%
|
||||||
|
label-unfocused-background = ${xrdb:color5}
|
||||||
|
label-unfocused-foreground = ${xrdb:color0}
|
||||||
|
label-unfocused-padding = 2
|
||||||
|
|
||||||
|
label-visible = %index%
|
||||||
|
label-visible-background = ${xrdb:color5}
|
||||||
|
label-visible-foreground = ${xrdb:color0}
|
||||||
|
label-visible-padding = 2
|
||||||
|
|
||||||
|
label-urgent = %index%
|
||||||
|
label-urgent-background = ${xrdb:color2}
|
||||||
|
label-urgent-padding = 2
|
||||||
|
|
||||||
|
[module/wlan]
|
||||||
|
type = internal/network
|
||||||
|
interface = wlp1s0
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected = <ramp-signal> <label-connected>
|
||||||
|
format-connected-foreground = ${xrdb:color0}
|
||||||
|
format-connected-background = ${xrdb:color3}
|
||||||
|
format-connected-padding = 1
|
||||||
|
label-connected = %essid%
|
||||||
|
|
||||||
|
format-disconnected = %{A:nm-connection-editor&:}disconnected%{A}
|
||||||
|
|
||||||
|
ramp-signal-0 =
|
||||||
|
ramp-signal-1 =
|
||||||
|
ramp-signal-2 =
|
||||||
|
ramp-signal-3 =
|
||||||
|
ramp-signal-4 =
|
||||||
|
ramp-signal-foreground = ${xrdb:color0}
|
||||||
|
|
||||||
|
[module/eth]
|
||||||
|
type = internal/network
|
||||||
|
interface = enp0s1
|
||||||
|
interval = 3.0
|
||||||
|
|
||||||
|
format-connected-padding = 2
|
||||||
|
format-connected-foreground = ${xrdb:color0}
|
||||||
|
format-connected-background = ${xrdb:color5}
|
||||||
|
format-connected-prefix = " "
|
||||||
|
format-connected-prefix-foreground = ${xrdb:color0}
|
||||||
|
label-connected = %local_ip%
|
||||||
|
|
||||||
|
format-disconnected =
|
||||||
|
|
||||||
|
[module/course]
|
||||||
|
type = custom/script
|
||||||
|
exec = yq r ~/university/current-course/info.yaml short
|
||||||
|
|
||||||
|
[module/calendar]
|
||||||
|
type = custom/script
|
||||||
|
exec = python ~/.scripts/countdown.py
|
||||||
|
|
||||||
|
[module/time]
|
||||||
|
type = internal/date
|
||||||
|
time = %H:%M
|
||||||
|
label = %time%
|
||||||
|
|
||||||
|
[module/date]
|
||||||
|
type = internal/date
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
date =
|
||||||
|
date-alt = "%d-%m-%Y"
|
||||||
|
|
||||||
|
time = %H:%M
|
||||||
|
time-alt = %H:%M:%S
|
||||||
|
|
||||||
|
format-prefix =
|
||||||
|
format-foreground = ${xrdb:color0}
|
||||||
|
format-background = ${xrdb:color5}
|
||||||
|
format-padding = 2
|
||||||
|
|
||||||
|
label = %date% %time%
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
expand-right = true
|
||||||
|
|
||||||
|
format-spacing = 1
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-open-foreground = ${xrdb:color5}
|
||||||
|
label-close = cancel
|
||||||
|
label-close-foreground = ${xrdb:color5}
|
||||||
|
label-separator = |
|
||||||
|
label-separator-foreground = ${xrdb:color5}
|
||||||
|
|
||||||
|
menu-0-0 = reboot
|
||||||
|
menu-0-0-exec = menu-open-1
|
||||||
|
menu-0-1 = power off
|
||||||
|
menu-0-1-exec = menu-open-2
|
||||||
|
menu-0-2 = log off
|
||||||
|
menu-0-2-exec = menu-open-3
|
||||||
|
|
||||||
|
menu-1-0 = cancel
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
menu-1-1 = reboot
|
||||||
|
menu-1-1-exec = reboot
|
||||||
|
|
||||||
|
menu-2-0 = power off
|
||||||
|
menu-2-0-exec = poweroff
|
||||||
|
menu-2-1 = cancel
|
||||||
|
menu-2-1-exec = menu-open-0
|
||||||
|
|
||||||
|
menu-3-0 = log off
|
||||||
|
menu-3-0-exec = pkill -KILL -u $USER
|
||||||
|
menu-3-1 = cancel
|
||||||
|
menu-3-1-exec = menu-open-0
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
screenchange-reload = true
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
margin-top = 0
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
[module/backlight]
|
||||||
|
type = internal/backlight
|
||||||
|
|
||||||
|
; Use the following command to list available cards:
|
||||||
|
; $ ls -1 /sys/class/backlight/
|
||||||
|
card = intel_backlight
|
||||||
|
format = <label>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label = %percentage%%
|
||||||
|
|
||||||
|
[module/battery]
|
||||||
|
type = internal/battery
|
||||||
|
|
||||||
|
; This is useful in case the battery never reports 100% charge
|
||||||
|
full-at = 99
|
||||||
|
|
||||||
|
; Use the following command to list batteries and adapters:
|
||||||
|
; $ ls -1 /sys/class/power_supply/
|
||||||
|
battery = BAT1
|
||||||
|
adapter = ADP1
|
||||||
|
|
||||||
|
; If an inotify event haven't been reported in this many
|
||||||
|
; seconds, manually poll for new values.
|
||||||
|
;
|
||||||
|
; Needed as a fallback for systems that don't report events
|
||||||
|
; on sysfs/procfs.
|
||||||
|
;
|
||||||
|
; Disable polling by setting the interval to 0.
|
||||||
|
;
|
||||||
|
; Default: 5
|
||||||
|
poll-interval = 5
|
||||||
|
; see "man date" for details on how to format the time string
|
||||||
|
; NOTE: if you want to use syntax tags here you need to use %%{...}
|
||||||
|
; Default: %H:%M:%S
|
||||||
|
time-format = %H:%M
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-charging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-charging>
|
||||||
|
format-charging = <animation-charging> <label-charging>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-discharging> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
; <animation-discharging>
|
||||||
|
format-discharging = <ramp-capacity> <label-discharging>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-full> (default)
|
||||||
|
; <bar-capacity>
|
||||||
|
; <ramp-capacity>
|
||||||
|
;format-full = <ramp-capacity> <label-full>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current charge rate in watts)
|
||||||
|
label-charging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
; %time%
|
||||||
|
; %consumption% (shows current discharge rate in watts)
|
||||||
|
label-discharging = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-full =
|
||||||
|
|
||||||
|
; Only applies if <ramp-capacity> is used
|
||||||
|
ramp-capacity-0 =
|
||||||
|
ramp-capacity-1 =
|
||||||
|
ramp-capacity-2 =
|
||||||
|
ramp-capacity-3 =
|
||||||
|
ramp-capacity-4 =
|
||||||
|
|
||||||
|
; Only applies if <bar-capacity> is used
|
||||||
|
bar-capacity-width = 10
|
||||||
|
|
||||||
|
; Only applies if <animation-charging> is used
|
||||||
|
animation-charging-0 =
|
||||||
|
animation-charging-1 =
|
||||||
|
animation-charging-2 =
|
||||||
|
animation-charging-3 =
|
||||||
|
animation-charging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-charging-framerate = 750
|
||||||
|
|
||||||
|
; Only applies if <animation-discharging> is used
|
||||||
|
animation-discharging-0 =
|
||||||
|
animation-discharging-1 =
|
||||||
|
animation-discharging-2 =
|
||||||
|
animation-discharging-3 =
|
||||||
|
animation-discharging-4 =
|
||||||
|
; Framerate in milliseconds
|
||||||
|
animation-discharging-framerate = 500
|
||||||
|
|
||||||
|
[module/cpu]
|
||||||
|
type = internal/cpu
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 0.5
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-load>
|
||||||
|
; <ramp-load>
|
||||||
|
; <ramp-coreload>
|
||||||
|
format = <label> <ramp-coreload>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default) - total cpu load averaged over all cores
|
||||||
|
; %percentage-sum% (unreleased) - Cumulative load on all cores
|
||||||
|
; %percentage-cores% - load percentage for each core
|
||||||
|
; %percentage-core[1-9]% - load percentage for specific core
|
||||||
|
label = CPU %percentage%%
|
||||||
|
|
||||||
|
; Spacing between individual per-core ramps (unreleased)
|
||||||
|
ramp-coreload-spacing = 1
|
||||||
|
ramp-coreload-0 = ▁
|
||||||
|
ramp-coreload-1 = ▂
|
||||||
|
ramp-coreload-2 = ▃
|
||||||
|
ramp-coreload-3 = ▄
|
||||||
|
ramp-coreload-4 = ▅
|
||||||
|
ramp-coreload-5 = ▆
|
||||||
|
ramp-coreload-6 = ▇
|
||||||
|
ramp-coreload-7 = █
|
||||||
|
|
||||||
|
[module/memory]
|
||||||
|
type = internal/memory
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 1
|
||||||
|
interval = 3
|
||||||
|
; Available tags:
|
||||||
|
; <label> (default)
|
||||||
|
; <bar-used>
|
||||||
|
; <bar-free>
|
||||||
|
; <ramp-used>
|
||||||
|
; <ramp-free>
|
||||||
|
; <bar-swap-used> (unreleased)
|
||||||
|
; <bar-swap-free> (unreleased)
|
||||||
|
; <ramp-swap-used> (unreleased)
|
||||||
|
; <ramp-swap-free> (unreleased)
|
||||||
|
format = <label> <bar-used>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage_used% (default)
|
||||||
|
; %percentage_free%
|
||||||
|
; %gb_used%
|
||||||
|
; %gb_free%
|
||||||
|
; %gb_total%
|
||||||
|
; %mb_used%
|
||||||
|
; %mb_free%
|
||||||
|
; %mb_total%
|
||||||
|
; %percentage_swap_used%
|
||||||
|
; %percentage_swap_free%
|
||||||
|
; %mb_swap_total%
|
||||||
|
; %mb_swap_free%
|
||||||
|
; %mb_swap_used%
|
||||||
|
; %gb_swap_total%
|
||||||
|
; %gb_swap_free%
|
||||||
|
; %gb_swap_used%
|
||||||
|
|
||||||
|
label = RAM %gb_used%/%gb_free%
|
||||||
|
|
||||||
|
; Only applies if <bar-used> is used
|
||||||
|
bar-used-indicator =
|
||||||
|
bar-used-width = 50
|
||||||
|
bar-used-foreground-0 = #55aa55
|
||||||
|
bar-used-foreground-1 = #557755
|
||||||
|
bar-used-foreground-2 = #f5a70a
|
||||||
|
bar-used-foreground-3 = #ff5555
|
||||||
|
bar-used-fill = ▐
|
||||||
|
bar-used-empty = ▐
|
||||||
|
bar-used-empty-foreground = #444444
|
||||||
|
|
||||||
|
; Only applies if <ramp-used> is used
|
||||||
|
ramp-used-0 = ▁
|
||||||
|
ramp-used-1 = ▂
|
||||||
|
ramp-used-2 = ▃
|
||||||
|
ramp-used-3 = ▄
|
||||||
|
ramp-used-4 = ▅
|
||||||
|
ramp-used-5 = ▆
|
||||||
|
ramp-used-6 = ▇
|
||||||
|
ramp-used-7 = █
|
||||||
|
|
||||||
|
; Only applies if <ramp-free> is used
|
||||||
|
ramp-free-0 = ▁
|
||||||
|
ramp-free-1 = ▂
|
||||||
|
ramp-free-2 = ▃
|
||||||
|
ramp-free-3 = ▄
|
||||||
|
ramp-free-4 = ▅
|
||||||
|
ramp-free-5 = ▆
|
||||||
|
ramp-free-6 = ▇
|
||||||
|
ramp-free-7 = █
|
||||||
|
|
||||||
|
[module/pulseaudio]
|
||||||
|
type = internal/pulseaudio
|
||||||
|
|
||||||
|
; Sink to be used, if it exists (find using `pacmd list-sinks`, name field)
|
||||||
|
; If not, uses default sink
|
||||||
|
sink = alsa_output.pci-0000_12_00.3.analog-stereo
|
||||||
|
|
||||||
|
; Use PA_VOLUME_UI_MAX (~153%) if true, or PA_VOLUME_NORM (100%) if false
|
||||||
|
; Default: true
|
||||||
|
use-ui-max = true
|
||||||
|
|
||||||
|
; Interval for volume increase/decrease (in percent points) (unreleased)
|
||||||
|
; Default: 5
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-volume> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
format-volume = <ramp-volume> <label-volume>
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-muted> (default)
|
||||||
|
; <ramp-volume>
|
||||||
|
; <bar-volume>
|
||||||
|
;format-muted = <label-muted>
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
;label-volume = %percentage%%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %percentage% (default)
|
||||||
|
label-muted = 🔇 muted
|
||||||
|
label-muted-foreground = #666
|
||||||
|
|
||||||
|
; Only applies if <ramp-volume> is used
|
||||||
|
ramp-volume-0 =
|
||||||
|
ramp-volume-1 =
|
||||||
|
ramp-volume-2 =
|
||||||
|
|
||||||
|
[module/jgmenu]
|
||||||
|
type = custom/text
|
||||||
|
content-padding = 2
|
||||||
|
content =
|
||||||
|
click-left = jgmenu &
|
333
polybar/config-bottom.ini
Normal file
333
polybar/config-bottom.ini
Normal file
|
@ -0,0 +1,333 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; ____ __ __
|
||||||
|
;; / __ \____ / /_ __/ /_ ____ ______
|
||||||
|
;; / /_/ / __ \/ / / / / __ \/ __ `/ ___/
|
||||||
|
;; / ____/ /_/ / / /_/ / /_/ / /_/ / /
|
||||||
|
;; /_/ \____/_/\__, /_.___/\__,_/_/
|
||||||
|
;; /____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Global WM Settings
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||||
|
; Used for top aligned bars
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||||
|
; Used for bottom aligned bars
|
||||||
|
margin-top = 0
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; File Inclusion
|
||||||
|
; include an external file, like module file, etc.
|
||||||
|
|
||||||
|
include-file = ~/.config/polybar/colors.ini
|
||||||
|
include-file = ~/.config/polybar/modules.ini
|
||||||
|
include-file = ~/.config/polybar/user_modules.ini
|
||||||
|
include-file = ~/.config/polybar/bars.ini
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Bar Settings
|
||||||
|
|
||||||
|
[bar/bottom]
|
||||||
|
; Use either of the following command to list available outputs:
|
||||||
|
; If unspecified, the application will pick the first one it finds.
|
||||||
|
; $ polybar -m | cut -d ':' -f 1
|
||||||
|
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
; Use the specified monitor as a fallback if the main one is not found.
|
||||||
|
monitor-fallback =
|
||||||
|
|
||||||
|
; Require the monitor to be in connected state
|
||||||
|
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||||
|
monitor-strict = false
|
||||||
|
|
||||||
|
; Tell the Window Manager not to configure the window.
|
||||||
|
; Use this to detach the bar if your WM is locking its size/position.
|
||||||
|
override-redirect = false
|
||||||
|
|
||||||
|
; Put the bar at the bottom of the screen
|
||||||
|
bottom = true
|
||||||
|
|
||||||
|
; Prefer fixed center position for the `modules-center` block
|
||||||
|
; When false, the center position will be based on the size of the other blocks.
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||||
|
width = 100%
|
||||||
|
height = 20
|
||||||
|
|
||||||
|
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in an offset in the x or y direction
|
||||||
|
; of 50% minus 10 pixels
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
|
||||||
|
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
background = ${color.bg}
|
||||||
|
|
||||||
|
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
foreground = ${color.fg}
|
||||||
|
|
||||||
|
; Background gradient (vertical steps)
|
||||||
|
; background-[0-9]+ = #aarrggbb
|
||||||
|
;;background-0 =
|
||||||
|
|
||||||
|
; Value used for drawing rounded corners
|
||||||
|
; Note: This shouldn't be used together with border-size because the border
|
||||||
|
; doesn't get rounded
|
||||||
|
; Individual top/bottom values can be defined using:
|
||||||
|
; radius-{top,bottom}
|
||||||
|
radius-top = 0.0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
|
||||||
|
; Under-/overline pixel size and argb color
|
||||||
|
; Individual values can be defined using:
|
||||||
|
; {overline,underline}-size
|
||||||
|
; {overline,underline}-color
|
||||||
|
line-size = 2
|
||||||
|
line-color = ${color.ac}
|
||||||
|
|
||||||
|
; Values applied to all borders
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; border-{left,top,right,bottom}-size
|
||||||
|
; border-{left,top,right,bottom}-color
|
||||||
|
; The top and bottom borders are added to the bar height, so the effective
|
||||||
|
; window height is:
|
||||||
|
; height + border-top-size + border-bottom-size
|
||||||
|
; Meanwhile the effective window width is defined entirely by the width key and
|
||||||
|
; the border is placed withing this area. So you effectively only have the
|
||||||
|
; following horizontal space on the bar:
|
||||||
|
; width - border-right-size - border-left-size
|
||||||
|
border-top-size = 2
|
||||||
|
border-color = ${color.ac}
|
||||||
|
|
||||||
|
; Number of spaces to add at the beginning/end of the bar
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; padding-{left,right}
|
||||||
|
padding = 1
|
||||||
|
|
||||||
|
; Number of spaces to add before/after each module
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; module-margin-{left,right}
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
; Fonts are defined using <font-name>;<vertical-offset>
|
||||||
|
; Font names are specified using a fontconfig pattern.
|
||||||
|
; font-0 = NotoSans-Regular:size=8;2
|
||||||
|
; font-1 = MaterialIcons:size=10
|
||||||
|
; font-2 = Termsynu:size=8;-1
|
||||||
|
; font-3 = FontAwesome:size=10
|
||||||
|
; See the Fonts wiki page for more details
|
||||||
|
|
||||||
|
font-0 = "Misc Termsyn:size=12;1"
|
||||||
|
font-1 = "Siji:size=12;1"
|
||||||
|
font-2 = "xos4 Terminus:size=12;1"
|
||||||
|
|
||||||
|
; Modules are added to one of the available blocks
|
||||||
|
; modules-left = cpu ram
|
||||||
|
; modules-center = xwindow xbacklight
|
||||||
|
; modules-right = ipc clock
|
||||||
|
|
||||||
|
;; Available modules
|
||||||
|
;;
|
||||||
|
;alsa backlight battery
|
||||||
|
;bspwm cpu date
|
||||||
|
;filesystem github i3
|
||||||
|
;subscriber demo memory
|
||||||
|
;menu-apps mpd wired-network
|
||||||
|
;wireless-network network pulseaudio
|
||||||
|
;name_you_want temperature my-text-label
|
||||||
|
;backlight keyboard title workspaces
|
||||||
|
;;
|
||||||
|
;; User modules
|
||||||
|
;checknetwork updates window_switch launcher powermenu sysmenu menu
|
||||||
|
;;
|
||||||
|
;; Bars
|
||||||
|
;cpu_bar memory_bar filesystem_bar mpd_bar
|
||||||
|
;volume brightness battery_bar
|
||||||
|
|
||||||
|
modules-left = spotify
|
||||||
|
modules-center = filesystem cpu memory temperature updates network
|
||||||
|
modules-right = volume brightness
|
||||||
|
|
||||||
|
; The separator will be inserted between the output of each module
|
||||||
|
separator =
|
||||||
|
|
||||||
|
; This value is used to add extra spacing between elements
|
||||||
|
; @deprecated: This parameter will be removed in an upcoming version
|
||||||
|
spacing = 0
|
||||||
|
|
||||||
|
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||||
|
dim-value = 1.0
|
||||||
|
|
||||||
|
; Value to be used to set the WM_NAME atom
|
||||||
|
; If the value is empty or undefined, the atom value
|
||||||
|
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||||
|
; NOTE: The placeholders are not available for custom values
|
||||||
|
wm-name =
|
||||||
|
|
||||||
|
; Locale used to localize various module data (e.g. date)
|
||||||
|
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||||
|
locale =
|
||||||
|
|
||||||
|
; Position of the system tray window
|
||||||
|
; If empty or undefined, tray support will be disabled
|
||||||
|
; NOTE: A center aligned tray will cover center aligned modules
|
||||||
|
;
|
||||||
|
; Available positions:
|
||||||
|
; left
|
||||||
|
; center
|
||||||
|
; right
|
||||||
|
; none
|
||||||
|
tray-position = none
|
||||||
|
|
||||||
|
; If true, the bar will not shift its
|
||||||
|
; contents when the tray changes
|
||||||
|
tray-detached = false
|
||||||
|
|
||||||
|
; Tray icon max size
|
||||||
|
tray-maxsize = 16
|
||||||
|
|
||||||
|
; DEPRECATED! Since 3.3.0 the tray always uses pseudo-transparency
|
||||||
|
; Enable pseudo transparency
|
||||||
|
; Will automatically be enabled if a fully transparent
|
||||||
|
; background color is defined using `tray-background`
|
||||||
|
tray-transparent = false
|
||||||
|
|
||||||
|
; Background color for the tray container
|
||||||
|
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
; By default the tray container will use the bar
|
||||||
|
; background color.
|
||||||
|
tray-background = ${root.background}
|
||||||
|
|
||||||
|
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
|
||||||
|
; Pad the sides of each tray icon
|
||||||
|
tray-padding = 0
|
||||||
|
|
||||||
|
; Scale factor for tray clients
|
||||||
|
tray-scale = 1.0
|
||||||
|
|
||||||
|
; Restack the bar window and put it above the
|
||||||
|
; selected window manager's root
|
||||||
|
;
|
||||||
|
; Fixes the issue where the bar is being drawn
|
||||||
|
; on top of fullscreen window's
|
||||||
|
;
|
||||||
|
; Currently supported WM's:
|
||||||
|
; bspwm
|
||||||
|
; i3 (requires: `override-redirect = true`)
|
||||||
|
; wm-restack =
|
||||||
|
|
||||||
|
; Set a DPI values used when rendering text
|
||||||
|
; This only affects scalable fonts
|
||||||
|
; dpi =
|
||||||
|
|
||||||
|
; Enable support for inter-process messaging
|
||||||
|
; See the Messaging wiki page for more details.
|
||||||
|
enable-ipc = false
|
||||||
|
|
||||||
|
; Fallback click handlers that will be called if
|
||||||
|
; there's no matching module handler found.
|
||||||
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
scroll-up =
|
||||||
|
scroll-down =
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
|
||||||
|
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||||
|
; Possible values are:
|
||||||
|
; - default : The default pointer as before, can also be an empty string (default)
|
||||||
|
; - pointer : Typically in the form of a hand
|
||||||
|
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||||
|
cursor-click =
|
||||||
|
cursor-scroll =
|
||||||
|
|
||||||
|
;; WM Workspace Specific
|
||||||
|
|
||||||
|
; bspwm
|
||||||
|
;;scroll-up = bspwm-desknext
|
||||||
|
;;scroll-down = bspwm-deskprev
|
||||||
|
;;scroll-up = bspc desktop -f prev.local
|
||||||
|
;;scroll-down = bspc desktop -f next.local
|
||||||
|
|
||||||
|
;i3
|
||||||
|
;;scroll-up = i3wm-wsnext
|
||||||
|
;;scroll-down = i3wm-wsprev
|
||||||
|
;;scroll-up = i3-msg workspace next_on_output
|
||||||
|
;;scroll-down = i3-msg workspace prev_on_output
|
||||||
|
|
||||||
|
;openbox
|
||||||
|
;awesome
|
||||||
|
;etc
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Application Settings
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
; The throttle settings lets the eventloop swallow up til X events
|
||||||
|
; if they happen within Y millisecond after first event was received.
|
||||||
|
; This is done to prevent flood of update event.
|
||||||
|
;
|
||||||
|
; For example if 5 modules emit an update event at the same time, we really
|
||||||
|
; just care about the last one. But if we wait too long for events to swallow
|
||||||
|
; the bar would appear sluggish so we continue if timeout
|
||||||
|
; expires or limit is reached.
|
||||||
|
throttle-output = 5
|
||||||
|
throttle-output-for = 10
|
||||||
|
|
||||||
|
; Time in milliseconds that the input handler will wait between processing events
|
||||||
|
throttle-input-for = 30
|
||||||
|
|
||||||
|
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||||
|
screenchange-reload = false
|
||||||
|
|
||||||
|
; Compositing operators
|
||||||
|
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||||
|
compositing-background = source
|
||||||
|
compositing-foreground = over
|
||||||
|
compositing-overline = over
|
||||||
|
compositing-underline = over
|
||||||
|
compositing-border = over
|
||||||
|
|
||||||
|
; Define fallback values used by all module formats
|
||||||
|
format-foreground =
|
||||||
|
format-background =
|
||||||
|
format-underline =
|
||||||
|
format-overline =
|
||||||
|
format-spacing =
|
||||||
|
format-padding =
|
||||||
|
format-margin =
|
||||||
|
format-offset =
|
||||||
|
|
||||||
|
; Enables pseudo-transparency for the bar
|
||||||
|
; If set to true the bar can be transparent without a compositor.
|
||||||
|
pseudo-transparency = true
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
333
polybar/config-top.ini
Normal file
333
polybar/config-top.ini
Normal file
|
@ -0,0 +1,333 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; ____ __ __
|
||||||
|
;; / __ \____ / /_ __/ /_ ____ ______
|
||||||
|
;; / /_/ / __ \/ / / / / __ \/ __ `/ ___/
|
||||||
|
;; / ____/ /_/ / / /_/ / /_/ / /_/ / /
|
||||||
|
;; /_/ \____/_/\__, /_.___/\__,_/_/
|
||||||
|
;; /____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Global WM Settings
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||||
|
; Used for top aligned bars
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||||
|
; Used for bottom aligned bars
|
||||||
|
margin-top = 0
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; File Inclusion
|
||||||
|
; include an external file, like module file, etc.
|
||||||
|
|
||||||
|
include-file = ~/.config/polybar/colors.ini
|
||||||
|
include-file = ~/.config/polybar/modules.ini
|
||||||
|
include-file = ~/.config/polybar/user_modules.ini
|
||||||
|
include-file = ~/.config/polybar/bars.ini
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Bar Settings
|
||||||
|
|
||||||
|
[bar/top]
|
||||||
|
; Use either of the following command to list available outputs:
|
||||||
|
; If unspecified, the application will pick the first one it finds.
|
||||||
|
; $ polybar -m | cut -d ':' -f 1
|
||||||
|
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
; Use the specified monitor as a fallback if the main one is not found.
|
||||||
|
monitor-fallback =
|
||||||
|
|
||||||
|
; Require the monitor to be in connected state
|
||||||
|
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||||
|
monitor-strict = false
|
||||||
|
|
||||||
|
; Tell the Window Manager not to configure the window.
|
||||||
|
; Use this to detach the bar if your WM is locking its size/position.
|
||||||
|
override-redirect = false
|
||||||
|
|
||||||
|
; Put the bar at the bottom of the screen
|
||||||
|
bottom = false
|
||||||
|
|
||||||
|
; Prefer fixed center position for the `modules-center` block
|
||||||
|
; When false, the center position will be based on the size of the other blocks.
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||||
|
width = 100%
|
||||||
|
height = 20
|
||||||
|
|
||||||
|
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in an offset in the x or y direction
|
||||||
|
; of 50% minus 10 pixels
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
|
||||||
|
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
background = ${color.bg}
|
||||||
|
|
||||||
|
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
foreground = ${color.fg}
|
||||||
|
|
||||||
|
; Background gradient (vertical steps)
|
||||||
|
; background-[0-9]+ = #aarrggbb
|
||||||
|
;;background-0 =
|
||||||
|
|
||||||
|
; Value used for drawing rounded corners
|
||||||
|
; Note: This shouldn't be used together with border-size because the border
|
||||||
|
; doesn't get rounded
|
||||||
|
; Individual top/bottom values can be defined using:
|
||||||
|
; radius-{top,bottom}
|
||||||
|
radius-top = 0.0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
|
||||||
|
; Under-/overline pixel size and argb color
|
||||||
|
; Individual values can be defined using:
|
||||||
|
; {overline,underline}-size
|
||||||
|
; {overline,underline}-color
|
||||||
|
line-size = 2
|
||||||
|
line-color = ${color.ac}
|
||||||
|
|
||||||
|
; Values applied to all borders
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; border-{left,top,right,bottom}-size
|
||||||
|
; border-{left,top,right,bottom}-color
|
||||||
|
; The top and bottom borders are added to the bar height, so the effective
|
||||||
|
; window height is:
|
||||||
|
; height + border-top-size + border-bottom-size
|
||||||
|
; Meanwhile the effective window width is defined entirely by the width key and
|
||||||
|
; the border is placed withing this area. So you effectively only have the
|
||||||
|
; following horizontal space on the bar:
|
||||||
|
; width - border-right-size - border-left-size
|
||||||
|
border-bottom-size = 2
|
||||||
|
border-color = ${color.ac}
|
||||||
|
|
||||||
|
; Number of spaces to add at the beginning/end of the bar
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; padding-{left,right}
|
||||||
|
padding = 1
|
||||||
|
|
||||||
|
; Number of spaces to add before/after each module
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; module-margin-{left,right}
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
; Fonts are defined using <font-name>;<vertical-offset>
|
||||||
|
; Font names are specified using a fontconfig pattern.
|
||||||
|
; font-0 = NotoSans-Regular:size=8;2
|
||||||
|
; font-1 = MaterialIcons:size=10
|
||||||
|
; font-2 = Termsynu:size=8;-1
|
||||||
|
; font-3 = FontAwesome:size=10
|
||||||
|
; See the Fonts wiki page for more details
|
||||||
|
|
||||||
|
font-0 = "Misc Termsyn:size=12;1"
|
||||||
|
font-1 = "Siji:size=12;1"
|
||||||
|
font-2 = "xos4 Terminus:size=12;2"
|
||||||
|
|
||||||
|
; Modules are added to one of the available blocks
|
||||||
|
; modules-left = cpu ram
|
||||||
|
; modules-center = xwindow xbacklight
|
||||||
|
; modules-right = ipc clock
|
||||||
|
|
||||||
|
;; Available modules
|
||||||
|
;;
|
||||||
|
;alsa backlight battery
|
||||||
|
;bspwm cpu date
|
||||||
|
;filesystem github i3
|
||||||
|
;subscriber demo memory
|
||||||
|
;menu-apps mpd wired-network
|
||||||
|
;wireless-network network pulseaudio
|
||||||
|
;name_you_want temperature my-text-label
|
||||||
|
;backlight keyboard title workspaces
|
||||||
|
;;
|
||||||
|
;; User modules
|
||||||
|
;checknetwork updates window_switch launcher powermenu sysmenu menu
|
||||||
|
;;
|
||||||
|
;; Bars
|
||||||
|
;cpu_bar memory_bar filesystem_bar mpd_bar
|
||||||
|
;volume brightness battery_bar
|
||||||
|
|
||||||
|
modules-left = menu title
|
||||||
|
#modules-center = course timetable time
|
||||||
|
|
||||||
|
modules-right = window_switch keyboard battery alsa checknetwork date sysmenu
|
||||||
|
|
||||||
|
; The separator will be inserted between the output of each module
|
||||||
|
separator =
|
||||||
|
|
||||||
|
; This value is used to add extra spacing between elements
|
||||||
|
; @deprecated: This parameter will be removed in an upcoming version
|
||||||
|
spacing = 0
|
||||||
|
|
||||||
|
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||||
|
dim-value = 1.0
|
||||||
|
|
||||||
|
; Value to be used to set the WM_NAME atom
|
||||||
|
; If the value is empty or undefined, the atom value
|
||||||
|
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||||
|
; NOTE: The placeholders are not available for custom values
|
||||||
|
wm-name =
|
||||||
|
|
||||||
|
; Locale used to localize various module data (e.g. date)
|
||||||
|
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||||
|
locale =
|
||||||
|
|
||||||
|
; Position of the system tray window
|
||||||
|
; If empty or undefined, tray support will be disabled
|
||||||
|
; NOTE: A center aligned tray will cover center aligned modules
|
||||||
|
;
|
||||||
|
; Available positions:
|
||||||
|
; left
|
||||||
|
; center
|
||||||
|
; right
|
||||||
|
; none
|
||||||
|
tray-position = none
|
||||||
|
|
||||||
|
; If true, the bar will not shift its
|
||||||
|
; contents when the tray changes
|
||||||
|
tray-detached = false
|
||||||
|
|
||||||
|
; Tray icon max size
|
||||||
|
tray-maxsize = 16
|
||||||
|
|
||||||
|
; DEPRECATED! Since 3.3.0 the tray always uses pseudo-transparency
|
||||||
|
; Enable pseudo transparency
|
||||||
|
; Will automatically be enabled if a fully transparent
|
||||||
|
; background color is defined using `tray-background`
|
||||||
|
tray-transparent = false
|
||||||
|
|
||||||
|
; Background color for the tray container
|
||||||
|
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
; By default the tray container will use the bar
|
||||||
|
; background color.
|
||||||
|
tray-background = ${root.background}
|
||||||
|
|
||||||
|
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
|
||||||
|
; Pad the sides of each tray icon
|
||||||
|
tray-padding = 0
|
||||||
|
|
||||||
|
; Scale factor for tray clients
|
||||||
|
tray-scale = 1.0
|
||||||
|
|
||||||
|
; Restack the bar window and put it above the
|
||||||
|
; selected window manager's root
|
||||||
|
;
|
||||||
|
; Fixes the issue where the bar is being drawn
|
||||||
|
; on top of fullscreen window's
|
||||||
|
;
|
||||||
|
; Currently supported WM's:
|
||||||
|
; bspwm
|
||||||
|
; i3 (requires: `override-redirect = true`)
|
||||||
|
; wm-restack =
|
||||||
|
|
||||||
|
; Set a DPI values used when rendering text
|
||||||
|
; This only affects scalable fonts
|
||||||
|
; dpi =
|
||||||
|
|
||||||
|
; Enable support for inter-process messaging
|
||||||
|
; See the Messaging wiki page for more details.
|
||||||
|
enable-ipc = false
|
||||||
|
|
||||||
|
; Fallback click handlers that will be called if
|
||||||
|
; there's no matching module handler found.
|
||||||
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
scroll-up =
|
||||||
|
scroll-down =
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
|
||||||
|
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||||
|
; Possible values are:
|
||||||
|
; - default : The default pointer as before, can also be an empty string (default)
|
||||||
|
; - pointer : Typically in the form of a hand
|
||||||
|
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||||
|
cursor-click =
|
||||||
|
cursor-scroll =
|
||||||
|
|
||||||
|
;; WM Workspace Specific
|
||||||
|
|
||||||
|
; bspwm
|
||||||
|
;;scroll-up = bspwm-desknext
|
||||||
|
;;scroll-down = bspwm-deskprev
|
||||||
|
;;scroll-up = bspc desktop -f prev.local
|
||||||
|
;;scroll-down = bspc desktop -f next.local
|
||||||
|
|
||||||
|
;i3
|
||||||
|
;;scroll-up = i3wm-wsnext
|
||||||
|
;;scroll-down = i3wm-wsprev
|
||||||
|
;;scroll-up = i3-msg workspace next_on_output
|
||||||
|
;;scroll-down = i3-msg workspace prev_on_output
|
||||||
|
|
||||||
|
;openbox
|
||||||
|
;awesome
|
||||||
|
;etc
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Application Settings
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
; The throttle settings lets the eventloop swallow up til X events
|
||||||
|
; if they happen within Y millisecond after first event was received.
|
||||||
|
; This is done to prevent flood of update event.
|
||||||
|
;
|
||||||
|
; For example if 5 modules emit an update event at the same time, we really
|
||||||
|
; just care about the last one. But if we wait too long for events to swallow
|
||||||
|
; the bar would appear sluggish so we continue if timeout
|
||||||
|
; expires or limit is reached.
|
||||||
|
throttle-output = 5
|
||||||
|
throttle-output-for = 10
|
||||||
|
|
||||||
|
; Time in milliseconds that the input handler will wait between processing events
|
||||||
|
throttle-input-for = 30
|
||||||
|
|
||||||
|
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||||
|
screenchange-reload = false
|
||||||
|
|
||||||
|
; Compositing operators
|
||||||
|
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||||
|
compositing-background = source
|
||||||
|
compositing-foreground = over
|
||||||
|
compositing-overline = over
|
||||||
|
compositing-underline = over
|
||||||
|
compositing-border = over
|
||||||
|
|
||||||
|
; Define fallback values used by all module formats
|
||||||
|
format-foreground =
|
||||||
|
format-background =
|
||||||
|
format-underline =
|
||||||
|
format-overline =
|
||||||
|
format-spacing =
|
||||||
|
format-padding =
|
||||||
|
format-margin =
|
||||||
|
format-offset =
|
||||||
|
|
||||||
|
; Enables pseudo-transparency for the bar
|
||||||
|
; If set to true the bar can be transparent without a compositor.
|
||||||
|
pseudo-transparency = false
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
BIN
polybar/fonts/FantasqueSansMono-Regular.ttf
Normal file
BIN
polybar/fonts/FantasqueSansMono-Regular.ttf
Normal file
Binary file not shown.
BIN
polybar/fonts/MaterialIcons-Regular.ttf
Normal file
BIN
polybar/fonts/MaterialIcons-Regular.ttf
Normal file
Binary file not shown.
7
polybar/i3wmthemer_bar_launch.sh
Executable file
7
polybar/i3wmthemer_bar_launch.sh
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall polybar
|
||||||
|
|
||||||
|
# Launch polybar
|
||||||
|
polybar i3wmthemer_bar
|
13
polybar/launch.sh
Executable file
13
polybar/launch.sh
Executable file
|
@ -0,0 +1,13 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
## Add this to your wm startup file.
|
||||||
|
|
||||||
|
# Terminate already running bar instances
|
||||||
|
killall -q polybar
|
||||||
|
|
||||||
|
# Wait until the processes have been shut down
|
||||||
|
while pgrep -u $UID -x polybar >/dev/null; do sleep 1; done
|
||||||
|
|
||||||
|
# Launch bar1 and bar2
|
||||||
|
polybar top -c ~/.config/polybar/config-top.ini &
|
||||||
|
polybar bottom -c ~/.config/polybar/config-bottom.ini &
|
1145
polybar/modules.ini
Normal file
1145
polybar/modules.ini
Normal file
File diff suppressed because it is too large
Load Diff
3
polybar/nohup.out
Normal file
3
polybar/nohup.out
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
X connection to :1 broken (explicit kill or server shutdown).
|
||||||
|
[ 0.05 ] error 3 BadWindow request 2 minor 0 serial 336: "BadWindow (invalid Window parameter)"
|
||||||
|
[ 358.75 ] error 3 BadWindow request 2 minor 0 serial 49223: "BadWindow (invalid Window parameter)"
|
26
polybar/scripts/check-network
Executable file
26
polybar/scripts/check-network
Executable file
|
@ -0,0 +1,26 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
count=0
|
||||||
|
disconnected=""
|
||||||
|
disconnected2=""
|
||||||
|
disconnected3=""
|
||||||
|
disconnected4=""
|
||||||
|
wireless_connected=""
|
||||||
|
ethernet_connected=""
|
||||||
|
|
||||||
|
ID="$(ip link | awk '/state UP/ {print $2}')"
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
if (ping -c 1 archlinux.org || ping -c 1 google.com || ping -c 1 bitbucket.org || ping -c 1 github.com || ping -c 1 sourceforge.net) &>/dev/null; then
|
||||||
|
if [[ $ID == e* ]]; then
|
||||||
|
echo "$ethernet_connected" ; sleep 25
|
||||||
|
else
|
||||||
|
echo "$wireless_connected" ; sleep 25
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "$disconnected" ; sleep 0.5
|
||||||
|
echo "$disconnected2" ; sleep 0.5
|
||||||
|
echo "$disconnected3" ; sleep 0.5
|
||||||
|
echo "$disconnected4" ; sleep 0.5
|
||||||
|
fi
|
||||||
|
done
|
117
polybar/scripts/checkupdates
Executable file
117
polybar/scripts/checkupdates
Executable file
|
@ -0,0 +1,117 @@
|
||||||
|
#!/usr/bin/bash
|
||||||
|
#
|
||||||
|
# checkupdates: Safely print a list of pending updates.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2013 Kyle Keen <keenerd@gmail.com>
|
||||||
|
#
|
||||||
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation; either version 2 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
#
|
||||||
|
|
||||||
|
declare -r myname='checkupdates'
|
||||||
|
declare -r myver='1.0.0'
|
||||||
|
|
||||||
|
plain() {
|
||||||
|
(( QUIET )) && return
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
|
}
|
||||||
|
|
||||||
|
msg() {
|
||||||
|
(( QUIET )) && return
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
|
}
|
||||||
|
|
||||||
|
msg2() {
|
||||||
|
(( QUIET )) && return
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
|
||||||
|
}
|
||||||
|
|
||||||
|
ask() {
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1
|
||||||
|
}
|
||||||
|
|
||||||
|
warning() {
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
error() {
|
||||||
|
local mesg=$1; shift
|
||||||
|
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
# check if messages are to be printed using color
|
||||||
|
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
|
||||||
|
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
|
||||||
|
# prefer terminal safe colored and bold text when tput is supported
|
||||||
|
if tput setaf 0 &>/dev/null; then
|
||||||
|
ALL_OFF="$(tput sgr0)"
|
||||||
|
BOLD="$(tput bold)"
|
||||||
|
BLUE="${BOLD}$(tput setaf 4)"
|
||||||
|
GREEN="${BOLD}$(tput setaf 2)"
|
||||||
|
RED="${BOLD}$(tput setaf 1)"
|
||||||
|
YELLOW="${BOLD}$(tput setaf 3)"
|
||||||
|
else
|
||||||
|
ALL_OFF="\e[1;0m"
|
||||||
|
BOLD="\e[1;1m"
|
||||||
|
BLUE="${BOLD}\e[1;34m"
|
||||||
|
GREEN="${BOLD}\e[1;32m"
|
||||||
|
RED="${BOLD}\e[1;31m"
|
||||||
|
YELLOW="${BOLD}\e[1;33m"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
|
||||||
|
|
||||||
|
|
||||||
|
if (( $# > 0 )); then
|
||||||
|
echo "${myname} v${myver}"
|
||||||
|
echo
|
||||||
|
echo "Safely print a list of pending updates"
|
||||||
|
echo
|
||||||
|
echo "Usage: ${myname}"
|
||||||
|
echo
|
||||||
|
echo 'Note: Export the "CHECKUPDATES_DB" variable to change the path of the temporary database.'
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! type -P fakeroot >/dev/null; then
|
||||||
|
error 'Cannot find the fakeroot binary.'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -z $CHECKUPDATES_DB ]]; then
|
||||||
|
CHECKUPDATES_DB="${TMPDIR:-/tmp}/checkup-db-${USER}/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
trap 'rm -f $CHECKUPDATES_DB/db.lck' INT TERM EXIT
|
||||||
|
|
||||||
|
DBPath="$(pacman-conf DBPath)"
|
||||||
|
if [[ -z "$DBPath" ]] || [[ ! -d "$DBPath" ]]; then
|
||||||
|
DBPath="/var/lib/pacman/"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$CHECKUPDATES_DB"
|
||||||
|
ln -s "${DBPath}/local" "$CHECKUPDATES_DB" &> /dev/null
|
||||||
|
if ! fakeroot -- pacman -Sy --dbpath "$CHECKUPDATES_DB" --logfile /dev/null &> /dev/null; then
|
||||||
|
error 'Cannot fetch updates'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
pacman -Qu --dbpath "$CHECKUPDATES_DB" 2> /dev/null | grep -v '\[.*\]'
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
|
||||||
|
# vim: set noet:
|
3
polybar/scripts/launcher
Executable file
3
polybar/scripts/launcher
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rofi -modi run,drun -show drun -location 1 -xoffset 10 -yoffset 32 -line-padding 4 -columns 1 -width 20 -lines 10 -padding 25 -hide-scrollbar -show-icons -drun-icon-theme "Papirus" -font "Misc Termsyn 12"
|
3
polybar/scripts/launcher-alt
Executable file
3
polybar/scripts/launcher-alt
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rofi -modi run,drun -show drun -line-padding 4 -columns 2 -width 40 -padding 30 -hide-scrollbar -show-icons -drun-icon-theme "Papirus" -font "Misc Termsyn 12"
|
4
polybar/scripts/launcher-full
Executable file
4
polybar/scripts/launcher-full
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
rofi -show run -fullscreen True -lines 5 -line-margin 5 -padding 300 -bw 0 -font "Misc Termsyn 12"
|
3
polybar/scripts/lupdates
Executable file
3
polybar/scripts/lupdates
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
termite -e "sudo pacman -Syu"
|
10
polybar/scripts/pmenu_g
Normal file
10
polybar/scripts/pmenu_g
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
MENU="$(rofi -sep "|" -dmenu -i -p 'System' -location 5 -yoffset -75 -xoffset -69 -width 15 -hide-scrollbar -line-padding 4 -padding 20 -lines 4 -font "Fantasque Sans Mono 10" <<< " Lock| Logout| Reboot| Shutdown")"
|
||||||
|
case "$MENU" in
|
||||||
|
*Lock) i3lock-fancy ;;
|
||||||
|
*Logout) openbox --exit;;
|
||||||
|
*Reboot) systemctl reboot ;;
|
||||||
|
*Shutdown) systemctl -i poweroff
|
||||||
|
esac
|
10
polybar/scripts/powermenu
Executable file
10
polybar/scripts/powermenu
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
MENU="$(rofi -sep "|" -dmenu -i -p 'System' -location 3 -yoffset 32 -xoffset -10 -width 12 -hide-scrollbar -line-padding 4 -padding 20 -lines 4 -font "Misc Termsyn 12" <<< " Lock| Logout| Reboot| Shutdown")"
|
||||||
|
case "$MENU" in
|
||||||
|
*Lock) i3lock-fancy ;;
|
||||||
|
*Logout) openbox --exit;;
|
||||||
|
*Reboot) systemctl reboot ;;
|
||||||
|
*Shutdown) systemctl -i poweroff
|
||||||
|
esac
|
10
polybar/scripts/powermenu-alt
Executable file
10
polybar/scripts/powermenu-alt
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
MENU="$(rofi -sep "|" -dmenu -i -p 'System' -width 12 -hide-scrollbar -line-padding 4 -padding 20 -lines 4 -font "Misc Termsyn 12" <<< " Lock| Logout| Reboot| Shutdown")"
|
||||||
|
case "$MENU" in
|
||||||
|
*Lock) i3lock-fancy ;;
|
||||||
|
*Logout) openbox --exit;;
|
||||||
|
*Reboot) systemctl reboot ;;
|
||||||
|
*Shutdown) systemctl -i poweroff
|
||||||
|
esac
|
4
polybar/scripts/rfull
Normal file
4
polybar/scripts/rfull
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
rofi -show run -fullscreen True -lines 5 -line-margin 6 -padding 300 -bw 0 -font "Iosevka 12"
|
3
polybar/scripts/rmenu_g
Normal file
3
polybar/scripts/rmenu_g
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rofi -modi run,drun -show drun -location 7 -yoffset -75 -xoffset 69 -line-padding 4 -columns 1 -width 25 -lines 10 -padding 25 -hide-scrollbar -show-icons -drun-icon-theme "Papirus" -font "Fantasque Sans Mono 10"
|
4
polybar/scripts/rmenu_wi_g
Normal file
4
polybar/scripts/rmenu_wi_g
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
rofi -modi run,drun,window -lines 10 -padding 20 -width 50 -location 7 -yoffset -75 -xoffset 69 -show drun -sidebar-mode -columns 3 -font "Fantasque Sans Mono 10"
|
123
polybar/scripts/spotify_status.py
Normal file
123
polybar/scripts/spotify_status.py
Normal file
|
@ -0,0 +1,123 @@
|
||||||
|
#!/bin/python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import dbus
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
'-t',
|
||||||
|
'--trunclen',
|
||||||
|
type=int,
|
||||||
|
metavar='trunclen'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'-f',
|
||||||
|
'--format',
|
||||||
|
type=str,
|
||||||
|
metavar='custom format',
|
||||||
|
dest='custom_format'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'-p',
|
||||||
|
'--playpause',
|
||||||
|
type=str,
|
||||||
|
metavar='play-pause indicator',
|
||||||
|
dest='play_pause'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--font',
|
||||||
|
type=str,
|
||||||
|
metavar='the index of the font to use for the main label',
|
||||||
|
dest='font'
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
'--playpause-font',
|
||||||
|
type=str,
|
||||||
|
metavar='the index of the font to use to display the playpause indicator',
|
||||||
|
dest='play_pause_font'
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
def fix_string(string):
|
||||||
|
# corrects encoding for the python version used
|
||||||
|
if sys.version_info.major == 3:
|
||||||
|
return string
|
||||||
|
else:
|
||||||
|
return string.encode('utf-8')
|
||||||
|
|
||||||
|
# Default parameters
|
||||||
|
output = fix_string(u'{play_pause} {artist}: {song}')
|
||||||
|
trunclen = 25
|
||||||
|
play_pause = fix_string(u'\u25B6,\u23F8') # first character is play, second is paused
|
||||||
|
|
||||||
|
label_with_font = '%{{T{font}}}{label}%{{T-}}'
|
||||||
|
font = args.font
|
||||||
|
play_pause_font = args.play_pause_font
|
||||||
|
|
||||||
|
# parameters can be overwritten by args
|
||||||
|
if args.trunclen is not None:
|
||||||
|
trunclen = args.trunclen
|
||||||
|
if args.custom_format is not None:
|
||||||
|
output = args.custom_format
|
||||||
|
if args.play_pause is not None:
|
||||||
|
play_pause = args.play_pause
|
||||||
|
|
||||||
|
try:
|
||||||
|
session_bus = dbus.SessionBus()
|
||||||
|
spotify_bus = session_bus.get_object(
|
||||||
|
'org.mpris.MediaPlayer2.spotify',
|
||||||
|
'/org/mpris/MediaPlayer2'
|
||||||
|
)
|
||||||
|
|
||||||
|
spotify_properties = dbus.Interface(
|
||||||
|
spotify_bus,
|
||||||
|
'org.freedesktop.DBus.Properties'
|
||||||
|
)
|
||||||
|
|
||||||
|
metadata = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'Metadata')
|
||||||
|
status = spotify_properties.Get('org.mpris.MediaPlayer2.Player', 'PlaybackStatus')
|
||||||
|
|
||||||
|
# Handle play/pause label
|
||||||
|
|
||||||
|
play_pause = play_pause.split(',')
|
||||||
|
|
||||||
|
if status == 'Playing':
|
||||||
|
play_pause = play_pause[0]
|
||||||
|
elif status == 'Paused':
|
||||||
|
play_pause = play_pause[1]
|
||||||
|
else:
|
||||||
|
play_pause = str()
|
||||||
|
|
||||||
|
if play_pause_font:
|
||||||
|
play_pause = label_with_font.format(font=play_pause_font, label=play_pause)
|
||||||
|
|
||||||
|
# Handle main label
|
||||||
|
|
||||||
|
artist = fix_string(metadata['xesam:artist'][0]) if metadata['xesam:artist'] else ''
|
||||||
|
song = fix_string(metadata['xesam:title']) if metadata['xesam:title'] else ''
|
||||||
|
album = fix_string(metadata['xesam:album']) if metadata['xesam:album'] else ''
|
||||||
|
|
||||||
|
if not artist and not song and not album:
|
||||||
|
print('')
|
||||||
|
else:
|
||||||
|
if len(song) > trunclen:
|
||||||
|
song = song[0:trunclen]
|
||||||
|
song += '...'
|
||||||
|
if ('(' in song) and (')' not in song):
|
||||||
|
song += ')'
|
||||||
|
|
||||||
|
if font:
|
||||||
|
artist = label_with_font.format(font=font, label=artist)
|
||||||
|
song = label_with_font.format(font=font, label=song)
|
||||||
|
album = label_with_font.format(font=font, label=album)
|
||||||
|
|
||||||
|
print(output.format(artist=artist, song=song, play_pause=play_pause, album=album))
|
||||||
|
|
||||||
|
except Exception as e:
|
||||||
|
if isinstance(e, dbus.exceptions.DBusException):
|
||||||
|
print('')
|
||||||
|
else:
|
||||||
|
print(e)
|
46
polybar/scripts/updates.sh
Executable file
46
polybar/scripts/updates.sh
Executable file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
BAR_ICON=""
|
||||||
|
NOTIFY_ICON=/usr/share/icons/Papirus/32x32/apps/system-software-update.svg
|
||||||
|
|
||||||
|
get_total_updates() { UPDATES=$(checkupdates 2>/dev/null | wc -l); }
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
get_total_updates
|
||||||
|
|
||||||
|
# notify user of updates
|
||||||
|
if hash notify-send &>/dev/null; then
|
||||||
|
if (( UPDATES > 50 )); then
|
||||||
|
notify-send -u critical -i $NOTIFY_ICON \
|
||||||
|
"You really need to update!!" "$UPDATES New packages"
|
||||||
|
elif (( UPDATES > 25 )); then
|
||||||
|
notify-send -u normal -i $NOTIFY_ICON \
|
||||||
|
"You should update soon" "$UPDATES New packages"
|
||||||
|
elif (( UPDATES > 2 )); then
|
||||||
|
notify-send -u low -i $NOTIFY_ICON \
|
||||||
|
"$UPDATES New packages"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# when there are updates available
|
||||||
|
# every 10 seconds another check for updates is done
|
||||||
|
while (( UPDATES > 0 )); do
|
||||||
|
if (( UPDATES == 1 )); then
|
||||||
|
echo " $UPDATES Update"
|
||||||
|
elif (( UPDATES > 1 )); then
|
||||||
|
echo " $UPDATES Updates"
|
||||||
|
else
|
||||||
|
echo $BAR_ICON
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
get_total_updates
|
||||||
|
done
|
||||||
|
|
||||||
|
# when no updates are available, use a longer loop, this saves on CPU
|
||||||
|
# and network uptime, only checking once every 30 min for new updates
|
||||||
|
while (( UPDATES == 0 )); do
|
||||||
|
echo $BAR_ICON
|
||||||
|
sleep 1800
|
||||||
|
get_total_updates
|
||||||
|
done
|
||||||
|
done
|
4
polybar/scripts/windows
Executable file
4
polybar/scripts/windows
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
|
||||||
|
rofi -modi window -show window -hide-scrollbar -font "Misc Termsyn 12" -padding 20 -line-padding 4 -width 40 -lines 6
|
333
polybar/test-bars.ini
Normal file
333
polybar/test-bars.ini
Normal file
|
@ -0,0 +1,333 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; ____ __ __
|
||||||
|
;; / __ \____ / /_ __/ /_ ____ ______
|
||||||
|
;; / /_/ / __ \/ / / / / __ \/ __ `/ ___/
|
||||||
|
;; / ____/ /_/ / / /_/ / /_/ / /_/ / /
|
||||||
|
;; /_/ \____/_/\__, /_.___/\__,_/_/
|
||||||
|
;; /____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Global WM Settings
|
||||||
|
|
||||||
|
[global/wm]
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL top value
|
||||||
|
; Used for top aligned bars
|
||||||
|
margin-bottom = 0
|
||||||
|
|
||||||
|
; Adjust the _NET_WM_STRUT_PARTIAL bottom value
|
||||||
|
; Used for bottom aligned bars
|
||||||
|
margin-top = 0
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; File Inclusion
|
||||||
|
; include an external file, like module file, etc.
|
||||||
|
|
||||||
|
include-file = ~/.config/polybar/colors.ini
|
||||||
|
include-file = ~/.config/polybar/modules.ini
|
||||||
|
include-file = ~/.config/polybar/user_modules.ini
|
||||||
|
include-file = ~/.config/polybar/bars.ini
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Bar Settings
|
||||||
|
|
||||||
|
[bar/bars]
|
||||||
|
; Use either of the following command to list available outputs:
|
||||||
|
; If unspecified, the application will pick the first one it finds.
|
||||||
|
; $ polybar -m | cut -d ':' -f 1
|
||||||
|
; $ xrandr -q | grep " connected" | cut -d ' ' -f1
|
||||||
|
monitor =
|
||||||
|
|
||||||
|
; Use the specified monitor as a fallback if the main one is not found.
|
||||||
|
monitor-fallback =
|
||||||
|
|
||||||
|
; Require the monitor to be in connected state
|
||||||
|
; XRandR sometimes reports my monitor as being disconnected (when in use)
|
||||||
|
monitor-strict = false
|
||||||
|
|
||||||
|
; Tell the Window Manager not to configure the window.
|
||||||
|
; Use this to detach the bar if your WM is locking its size/position.
|
||||||
|
override-redirect = false
|
||||||
|
|
||||||
|
; Put the bar at the bottom of the screen
|
||||||
|
bottom = false
|
||||||
|
|
||||||
|
; Prefer fixed center position for the `modules-center` block
|
||||||
|
; When false, the center position will be based on the size of the other blocks.
|
||||||
|
fixed-center = true
|
||||||
|
|
||||||
|
; Dimension defined as pixel value (e.g. 35) or percentage (e.g. 50%),
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in a width or height of 50% minus 10 pixels
|
||||||
|
width = 100%
|
||||||
|
height = 20
|
||||||
|
|
||||||
|
; Offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
; the percentage can optionally be extended with a pixel offset like so:
|
||||||
|
; 50%:-10, this will result in an offset in the x or y direction
|
||||||
|
; of 50% minus 10 pixels
|
||||||
|
offset-x = 0
|
||||||
|
offset-y = 0
|
||||||
|
|
||||||
|
; Background ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
background = ${color.bg}
|
||||||
|
|
||||||
|
; Foreground ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
foreground = ${color.fg}
|
||||||
|
|
||||||
|
; Background gradient (vertical steps)
|
||||||
|
; background-[0-9]+ = #aarrggbb
|
||||||
|
;;background-0 =
|
||||||
|
|
||||||
|
; Value used for drawing rounded corners
|
||||||
|
; Note: This shouldn't be used together with border-size because the border
|
||||||
|
; doesn't get rounded
|
||||||
|
; Individual top/bottom values can be defined using:
|
||||||
|
; radius-{top,bottom}
|
||||||
|
radius-top = 0.0
|
||||||
|
radius-bottom = 0.0
|
||||||
|
|
||||||
|
; Under-/overline pixel size and argb color
|
||||||
|
; Individual values can be defined using:
|
||||||
|
; {overline,underline}-size
|
||||||
|
; {overline,underline}-color
|
||||||
|
line-size = 2
|
||||||
|
line-color = ${color.ac}
|
||||||
|
|
||||||
|
; Values applied to all borders
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; border-{left,top,right,bottom}-size
|
||||||
|
; border-{left,top,right,bottom}-color
|
||||||
|
; The top and bottom borders are added to the bar height, so the effective
|
||||||
|
; window height is:
|
||||||
|
; height + border-top-size + border-bottom-size
|
||||||
|
; Meanwhile the effective window width is defined entirely by the width key and
|
||||||
|
; the border is placed withing this area. So you effectively only have the
|
||||||
|
; following horizontal space on the bar:
|
||||||
|
; width - border-right-size - border-left-size
|
||||||
|
border-bottom-size = 1
|
||||||
|
border-top-size = 1
|
||||||
|
;border-left-size = 1
|
||||||
|
;border-right-size = 1
|
||||||
|
border-color = ${color.ac}
|
||||||
|
|
||||||
|
; Number of spaces to add at the beginning/end of the bar
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; padding-{left,right}
|
||||||
|
padding = 1
|
||||||
|
|
||||||
|
; Number of spaces to add before/after each module
|
||||||
|
; Individual side values can be defined using:
|
||||||
|
; module-margin-{left,right}
|
||||||
|
module-margin-left = 1
|
||||||
|
module-margin-right = 1
|
||||||
|
|
||||||
|
; Fonts are defined using <font-name>;<vertical-offset>
|
||||||
|
; Font names are specified using a fontconfig pattern.
|
||||||
|
; font-0 = NotoSans-Regular:size=8;2
|
||||||
|
; font-1 = MaterialIcons:size=10
|
||||||
|
; font-2 = Termsynu:size=8;-1
|
||||||
|
; font-3 = FontAwesome:size=10
|
||||||
|
; See the Fonts wiki page for more details
|
||||||
|
|
||||||
|
font-0 = "Misc Termsyn:size=12;1"
|
||||||
|
font-1 = "Wuncon Siji:size=12;1"
|
||||||
|
font-2 = "xos4 Terminus:size=12;2"
|
||||||
|
|
||||||
|
; Modules are added to one of the available blocks
|
||||||
|
; modules-left = cpu ram
|
||||||
|
; modules-center = xwindow xbacklight
|
||||||
|
; modules-right = ipc clock
|
||||||
|
|
||||||
|
;; Available modules
|
||||||
|
;;
|
||||||
|
;alsa backlight battery
|
||||||
|
;bspwm cpu date
|
||||||
|
;filesystem github i3
|
||||||
|
;subscriber demo memory
|
||||||
|
;menu-apps mpd wired-network
|
||||||
|
;wireless-network network pulseaudio
|
||||||
|
;name_you_want temperature my-text-label
|
||||||
|
;backlight keyboard title ewmh
|
||||||
|
;;
|
||||||
|
;; Bars
|
||||||
|
;;
|
||||||
|
;cpu_bar memory_bar filesystem_bar mpd_bar
|
||||||
|
;volume brightness battery_bar
|
||||||
|
|
||||||
|
modules-left = cpu_bar memory_bar filesystem_bar
|
||||||
|
modules-center = mpd_bar
|
||||||
|
modules-right = volume brightness battery_bar
|
||||||
|
|
||||||
|
; The separator will be inserted between the output of each module
|
||||||
|
separator =
|
||||||
|
|
||||||
|
; This value is used to add extra spacing between elements
|
||||||
|
; @deprecated: This parameter will be removed in an upcoming version
|
||||||
|
spacing = 0
|
||||||
|
|
||||||
|
; Opacity value between 0.0 and 1.0 used on fade in/out
|
||||||
|
dim-value = 1.0
|
||||||
|
|
||||||
|
; Value to be used to set the WM_NAME atom
|
||||||
|
; If the value is empty or undefined, the atom value
|
||||||
|
; will be created from the following template: polybar-[BAR]_[MONITOR]
|
||||||
|
; NOTE: The placeholders are not available for custom values
|
||||||
|
wm-name =
|
||||||
|
|
||||||
|
; Locale used to localize various module data (e.g. date)
|
||||||
|
; Expects a valid libc locale, for example: sv_SE.UTF-8
|
||||||
|
locale =
|
||||||
|
|
||||||
|
; Position of the system tray window
|
||||||
|
; If empty or undefined, tray support will be disabled
|
||||||
|
; NOTE: A center aligned tray will cover center aligned modules
|
||||||
|
;
|
||||||
|
; Available positions:
|
||||||
|
; left
|
||||||
|
; center
|
||||||
|
; right
|
||||||
|
; none
|
||||||
|
tray-position = none
|
||||||
|
|
||||||
|
; If true, the bar will not shift its
|
||||||
|
; contents when the tray changes
|
||||||
|
tray-detached = false
|
||||||
|
|
||||||
|
; Tray icon max size
|
||||||
|
tray-maxsize = 16
|
||||||
|
|
||||||
|
; DEPRECATED! Since 3.3.0 the tray always uses pseudo-transparency
|
||||||
|
; Enable pseudo transparency
|
||||||
|
; Will automatically be enabled if a fully transparent
|
||||||
|
; background color is defined using `tray-background`
|
||||||
|
tray-transparent = false
|
||||||
|
|
||||||
|
; Background color for the tray container
|
||||||
|
; ARGB color (e.g. #f00, #ff992a, #ddff1023)
|
||||||
|
; By default the tray container will use the bar
|
||||||
|
; background color.
|
||||||
|
tray-background = ${root.background}
|
||||||
|
|
||||||
|
; Tray offset defined as pixel value (e.g. 35) or percentage (e.g. 50%)
|
||||||
|
tray-offset-x = 0
|
||||||
|
tray-offset-y = 0
|
||||||
|
|
||||||
|
; Pad the sides of each tray icon
|
||||||
|
tray-padding = 0
|
||||||
|
|
||||||
|
; Scale factor for tray clients
|
||||||
|
tray-scale = 1.0
|
||||||
|
|
||||||
|
; Restack the bar window and put it above the
|
||||||
|
; selected window manager's root
|
||||||
|
;
|
||||||
|
; Fixes the issue where the bar is being drawn
|
||||||
|
; on top of fullscreen window's
|
||||||
|
;
|
||||||
|
; Currently supported WM's:
|
||||||
|
; bspwm
|
||||||
|
; i3 (requires: `override-redirect = true`)
|
||||||
|
; wm-restack =
|
||||||
|
|
||||||
|
; Set a DPI values used when rendering text
|
||||||
|
; This only affects scalable fonts
|
||||||
|
; dpi =
|
||||||
|
|
||||||
|
; Enable support for inter-process messaging
|
||||||
|
; See the Messaging wiki page for more details.
|
||||||
|
enable-ipc = false
|
||||||
|
|
||||||
|
; Fallback click handlers that will be called if
|
||||||
|
; there's no matching module handler found.
|
||||||
|
click-left =
|
||||||
|
click-middle =
|
||||||
|
click-right =
|
||||||
|
scroll-up =
|
||||||
|
scroll-down =
|
||||||
|
double-click-left =
|
||||||
|
double-click-middle =
|
||||||
|
double-click-right =
|
||||||
|
|
||||||
|
; Requires polybar to be built with xcursor support (xcb-util-cursor)
|
||||||
|
; Possible values are:
|
||||||
|
; - default : The default pointer as before, can also be an empty string (default)
|
||||||
|
; - pointer : Typically in the form of a hand
|
||||||
|
; - ns-resize : Up and down arrows, can be used to indicate scrolling
|
||||||
|
cursor-click =
|
||||||
|
cursor-scroll =
|
||||||
|
|
||||||
|
;; WM Workspace Specific
|
||||||
|
|
||||||
|
; bspwm
|
||||||
|
;;scroll-up = bspwm-desknext
|
||||||
|
;;scroll-down = bspwm-deskprev
|
||||||
|
;;scroll-up = bspc desktop -f prev.local
|
||||||
|
;;scroll-down = bspc desktop -f next.local
|
||||||
|
|
||||||
|
;i3
|
||||||
|
;;scroll-up = i3wm-wsnext
|
||||||
|
;;scroll-down = i3wm-wsprev
|
||||||
|
;;scroll-up = i3-msg workspace next_on_output
|
||||||
|
;;scroll-down = i3-msg workspace prev_on_output
|
||||||
|
|
||||||
|
;openbox
|
||||||
|
;awesome
|
||||||
|
;etc
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
;; Application Settings
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
; The throttle settings lets the eventloop swallow up til X events
|
||||||
|
; if they happen within Y millisecond after first event was received.
|
||||||
|
; This is done to prevent flood of update event.
|
||||||
|
;
|
||||||
|
; For example if 5 modules emit an update event at the same time, we really
|
||||||
|
; just care about the last one. But if we wait too long for events to swallow
|
||||||
|
; the bar would appear sluggish so we continue if timeout
|
||||||
|
; expires or limit is reached.
|
||||||
|
throttle-output = 5
|
||||||
|
throttle-output-for = 10
|
||||||
|
|
||||||
|
; Time in milliseconds that the input handler will wait between processing events
|
||||||
|
throttle-input-for = 30
|
||||||
|
|
||||||
|
; Reload upon receiving XCB_RANDR_SCREEN_CHANGE_NOTIFY events
|
||||||
|
screenchange-reload = false
|
||||||
|
|
||||||
|
; Compositing operators
|
||||||
|
; @see: https://www.cairographics.org/manual/cairo-cairo-t.html#cairo-operator-t
|
||||||
|
compositing-background = source
|
||||||
|
compositing-foreground = over
|
||||||
|
compositing-overline = over
|
||||||
|
compositing-underline = over
|
||||||
|
compositing-border = over
|
||||||
|
|
||||||
|
; Define fallback values used by all module formats
|
||||||
|
format-foreground =
|
||||||
|
format-background =
|
||||||
|
format-underline =
|
||||||
|
format-overline =
|
||||||
|
format-spacing =
|
||||||
|
format-padding =
|
||||||
|
format-margin =
|
||||||
|
format-offset =
|
||||||
|
|
||||||
|
; Enables pseudo-transparency for the bar
|
||||||
|
; If set to true the bar can be transparent without a compositor.
|
||||||
|
pseudo-transparency = false
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
312
polybar/user_modules.ini
Normal file
312
polybar/user_modules.ini
Normal file
|
@ -0,0 +1,312 @@
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;;
|
||||||
|
;; __ __ __ ___ __ __
|
||||||
|
;; / / / /_______ _____ / |/ /___ ____/ /_ __/ /__ _____
|
||||||
|
;; / / / / ___/ _ \/ ___/ / /|_/ / __ \/ __ / / / / / _ \/ ___/
|
||||||
|
;; / /_/ (__ ) __/ / / / / / /_/ / /_/ / /_/ / / __(__ )
|
||||||
|
;; \____/____/\___/_/ /_/ /_/\____/\__,_/\__,_/_/\___/____/
|
||||||
|
;;
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/spotify]
|
||||||
|
type = custom/script
|
||||||
|
interval = 1
|
||||||
|
format-prefix = " "
|
||||||
|
format = <label>
|
||||||
|
exec = python ~/.config/polybar/scripts/spotify_status.py -f '{artist} - {song} {play_pause}'
|
||||||
|
format-underline = #1db954
|
||||||
|
|
||||||
|
[module/checknetwork]
|
||||||
|
type = custom/script
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; Command to be executed (using "/usr/bin/env sh -c [command]")
|
||||||
|
exec = ~/.config/polybar/scripts/check-network
|
||||||
|
|
||||||
|
; Conditional command that, if defined, needs to exit successfully
|
||||||
|
; before the main exec command is invoked.
|
||||||
|
; Default: ""
|
||||||
|
;;exec-if = ""
|
||||||
|
|
||||||
|
; Will the script output continous content?
|
||||||
|
; Default: false
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 2 (0 if `tail = true`)
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <output> - deprecated
|
||||||
|
; <label> (default)
|
||||||
|
;;format = <label>
|
||||||
|
;;format-background = #999
|
||||||
|
;;format-foreground = #000
|
||||||
|
;;format-padding = 4
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %output%
|
||||||
|
; Default: %output%
|
||||||
|
;;label = %output:0:15:...%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; %pid%
|
||||||
|
;
|
||||||
|
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]"
|
||||||
|
click-left = networkmanager_dmenu &
|
||||||
|
click-middle = networkmanager_dmenu &
|
||||||
|
click-right = networkmanager_dmenu &
|
||||||
|
;;double-click-left = echo double left %counter%
|
||||||
|
;;double-click-middle = echo double middle %counter%
|
||||||
|
;;double-click-right = echo double right %counter%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; %pid%
|
||||||
|
;
|
||||||
|
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]"
|
||||||
|
;;scroll-up = echo scroll up %counter%
|
||||||
|
;;scroll-down = echo scroll down %counter%
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/updates]
|
||||||
|
type = custom/script
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; Command to be executed (using "/usr/bin/env sh -c [command]")
|
||||||
|
exec = ~/.config/polybar/scripts/updates.sh
|
||||||
|
|
||||||
|
; Conditional command that, if defined, needs to exit successfully
|
||||||
|
; before the main exec command is invoked.
|
||||||
|
; Default: ""
|
||||||
|
;;exec-if = ""
|
||||||
|
|
||||||
|
; Will the script output continous content?
|
||||||
|
; Default: false
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
; Seconds to sleep between updates
|
||||||
|
; Default: 2 (0 if `tail = true`)
|
||||||
|
interval = 5
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <output> - deprecated
|
||||||
|
; <label> (default)
|
||||||
|
;;format = <label>
|
||||||
|
;;format-background = #999
|
||||||
|
;;format-foreground = #000
|
||||||
|
;;format-padding = 4
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %output%
|
||||||
|
; Default: %output%
|
||||||
|
;;label = %output:0:15:...%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; %pid%
|
||||||
|
;
|
||||||
|
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c [command]"
|
||||||
|
click-left = ~/.config/polybar/scripts/lupdates &
|
||||||
|
;;click-middle = ~/.config/polybar/scripts/lupdates &
|
||||||
|
;;click-right = ~/.config/polybar/scripts/lupdates &
|
||||||
|
;;double-click-left = echo double left %counter%
|
||||||
|
;;double-click-middle = echo double middle %counter%
|
||||||
|
;;double-click-right = echo double right %counter%
|
||||||
|
|
||||||
|
; Available tokens:
|
||||||
|
; %counter%
|
||||||
|
; %pid%
|
||||||
|
;
|
||||||
|
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c [command]"
|
||||||
|
;;scroll-up = echo scroll up %counter%
|
||||||
|
;;scroll-down = echo scroll down %counter%
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/course]
|
||||||
|
type = custom/script
|
||||||
|
exec = yq r ~/university/current-course/info.yaml short
|
||||||
|
interval = 360
|
||||||
|
|
||||||
|
[module/timetable]
|
||||||
|
type = custom/script
|
||||||
|
exec = python -u ~/.scripts/countdown.py
|
||||||
|
tail = true
|
||||||
|
|
||||||
|
[module/time]
|
||||||
|
type = internal/date
|
||||||
|
time = %H:%M
|
||||||
|
label = %time%
|
||||||
|
|
||||||
|
[module/window_switch]
|
||||||
|
type = custom/text
|
||||||
|
content = Switch
|
||||||
|
|
||||||
|
; "content" has the same properties as "format-NAME"
|
||||||
|
;;content-background = #000
|
||||||
|
;;content-foreground = #fff
|
||||||
|
;;content-padding = 4
|
||||||
|
|
||||||
|
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
click-left = skippy-xd
|
||||||
|
click-middle = skippy-xd
|
||||||
|
click-right = ~/.config/polybar/scripts/windows
|
||||||
|
|
||||||
|
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
;;scroll-up = skippy-xd
|
||||||
|
;;scroll-down = skippy-xd
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/launcher]
|
||||||
|
type = custom/text
|
||||||
|
content =
|
||||||
|
|
||||||
|
; "content" has the same properties as "format-NAME"
|
||||||
|
;;content-background = #000
|
||||||
|
content-foreground = ${color.ac}
|
||||||
|
;;content-padding = 4
|
||||||
|
|
||||||
|
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
click-left = ~/.config/polybar/scripts/launcher
|
||||||
|
;;click-middle = ~/.config/polybar/scripts/launcher-full
|
||||||
|
click-right = ~/.config/polybar/scripts/launcher-alt
|
||||||
|
|
||||||
|
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
;;scroll-up = ~/.config/polybar/scripts/launcher-full
|
||||||
|
scroll-down = ~/.config/polybar/scripts/launcher-full
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/sysmenu]
|
||||||
|
type = custom/text
|
||||||
|
content =
|
||||||
|
|
||||||
|
; "content" has the same properties as "format-NAME"
|
||||||
|
;;content-background = #000
|
||||||
|
content-foreground = ${color.ac}
|
||||||
|
;;content-padding = 4
|
||||||
|
|
||||||
|
; "click-(left|middle|right)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
click-left = ~/.config/polybar/scripts/powermenu
|
||||||
|
;;click-middle = ~/.config/polybar/scripts/powermenu
|
||||||
|
click-right = ~/.config/polybar/scripts/powermenu-alt
|
||||||
|
|
||||||
|
; "scroll-(up|down)" will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
;;scroll-up = ~/.config/polybar/scripts/powermenu
|
||||||
|
;;scroll-down = ~/.config/polybar/scripts/powermenu
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/powermenu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
; If true, <label-toggle> will be to the left of the menu items (default).
|
||||||
|
; If false, it will be on the right of all the items.
|
||||||
|
expand-right = true
|
||||||
|
|
||||||
|
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
||||||
|
; the additional "exec" property
|
||||||
|
;
|
||||||
|
; Available exec commands:
|
||||||
|
; menu-open-LEVEL
|
||||||
|
; menu-close
|
||||||
|
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
menu-0-0 = reboot
|
||||||
|
menu-0-0-exec = menu-open-1
|
||||||
|
menu-0-1 = shutdown
|
||||||
|
menu-0-1-exec = menu-open-2
|
||||||
|
|
||||||
|
menu-1-0 = back
|
||||||
|
menu-1-0-exec = menu-open-0
|
||||||
|
menu-1-1 = reboot
|
||||||
|
menu-1-1-exec = systemctl reboot
|
||||||
|
|
||||||
|
menu-2-0 = shutdown
|
||||||
|
menu-2-0-exec = systemctl poweroff
|
||||||
|
menu-2-1 = back
|
||||||
|
menu-2-1-exec = menu-open-0
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
||||||
|
; <menu> (default)
|
||||||
|
; Note that if you use <label-toggle> you must also include
|
||||||
|
; the definition for <label-open>
|
||||||
|
|
||||||
|
;;format = <label-toggle> <menu>
|
||||||
|
;;format-prefix = ${menu.icon-menu}
|
||||||
|
format-spacing = 1
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-close =
|
||||||
|
|
||||||
|
|
||||||
|
; Optional item separator
|
||||||
|
; Default: none
|
||||||
|
label-separator = |
|
||||||
|
|
||||||
|
label-open-foreground = ${color.ac}
|
||||||
|
label-close-foreground = ${color.ac}
|
||||||
|
label-separator-foreground = ${color.ac}
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
|
||||||
|
[module/menu]
|
||||||
|
type = custom/menu
|
||||||
|
|
||||||
|
; If true, <label-toggle> will be to the left of the menu items (default).
|
||||||
|
; If false, it will be on the right of all the items.
|
||||||
|
expand-right = true
|
||||||
|
|
||||||
|
; "menu-LEVEL-N" has the same properties as "label-NAME" with
|
||||||
|
; the additional "exec" property
|
||||||
|
;
|
||||||
|
; Available exec commands:
|
||||||
|
; menu-open-LEVEL
|
||||||
|
; menu-close
|
||||||
|
; Other commands will be executed using "/usr/bin/env sh -c $COMMAND"
|
||||||
|
menu-0-0 = Menu
|
||||||
|
menu-0-0-exec = ~/.config/polybar/scripts/launcher &
|
||||||
|
menu-0-1 = Files
|
||||||
|
menu-0-1-exec = thunar &
|
||||||
|
menu-0-2 = Terminal
|
||||||
|
menu-0-2-exec = termite &
|
||||||
|
menu-0-3 = Browser
|
||||||
|
menu-0-3-exec = firefox &
|
||||||
|
|
||||||
|
; Available tags:
|
||||||
|
; <label-toggle> (default) - gets replaced with <label-(open|close)>
|
||||||
|
; <menu> (default)
|
||||||
|
; Note that if you use <label-toggle> you must also include
|
||||||
|
; the definition for <label-open>
|
||||||
|
|
||||||
|
;;format = <label-toggle> <menu>
|
||||||
|
;;format-prefix = ${menu.icon-menu}
|
||||||
|
format-spacing = 1
|
||||||
|
|
||||||
|
label-open =
|
||||||
|
label-close =
|
||||||
|
|
||||||
|
|
||||||
|
; Optional item separator
|
||||||
|
; Default: none
|
||||||
|
label-separator = |
|
||||||
|
|
||||||
|
label-open-foreground = ${color.ac}
|
||||||
|
label-close-foreground = ${color.ac}
|
||||||
|
label-separator-foreground = ${color.ac}
|
||||||
|
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
||||||
|
;; __________ ______
|
||||||
|
;; / ____/ __ \/ ____/
|
||||||
|
;; / __/ / / / / /_
|
||||||
|
;; / /___/ /_/ / __/
|
||||||
|
;; /_____/\____/_/
|
||||||
|
;;
|
||||||
|
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
|
BIN
polybar/wallpapers/bg-default.png
Normal file
BIN
polybar/wallpapers/bg-default.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 57 KiB |
BIN
polybar/wallpapers/bg-secondary.jpg
Normal file
BIN
polybar/wallpapers/bg-secondary.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 164 KiB |
1
rofi/config
Normal file
1
rofi/config
Normal file
|
@ -0,0 +1 @@
|
||||||
|
rofi.theme: /usr/share/rofi/themes/purple.rasi
|
23
sxhkd/sxhkdrc
Normal file
23
sxhkd/sxhkdrc
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
alt + s
|
||||||
|
python ~/.scripts/rofi-courses.py
|
||||||
|
|
||||||
|
alt + o
|
||||||
|
zathura ~/university/current-course/master.pdf
|
||||||
|
|
||||||
|
alt + r
|
||||||
|
nautilus ~/university/current-course/
|
||||||
|
|
||||||
|
alt + j
|
||||||
|
urxvt -e $SHELL -c 'cd ~/university/current-course;$SHELL -i'
|
||||||
|
|
||||||
|
alt + m
|
||||||
|
urxvt -e $SHELL -c 'vim ~/university/current-course/master.tex'
|
||||||
|
|
||||||
|
alt + v
|
||||||
|
python ~/.scripts/rofi-lectures-view.py
|
||||||
|
|
||||||
|
alt + l
|
||||||
|
python ~/.scripts/rofi-lectures.py
|
||||||
|
|
||||||
|
alt + c
|
||||||
|
latexmk -pvc ~/university/current-course/master.tex
|
140
university/bachelor-0/preamble.tex
Normal file
140
university/bachelor-0/preamble.tex
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
\usepackage{textcomp}
|
||||||
|
\usepackage{url}
|
||||||
|
\usepackage{graphicx}
|
||||||
|
\usepackage{float}
|
||||||
|
\usepackage{booktabs}
|
||||||
|
\usepackage{enumitem}
|
||||||
|
\usepackage{parskip}
|
||||||
|
\usepackage{emptypage}
|
||||||
|
\usepackage{subcaption}
|
||||||
|
\usepackage{multicol}
|
||||||
|
\usepackage{xcolor}
|
||||||
|
\usepackage{amsmath, amsfonts, mathtools, amsthm, amssymb}
|
||||||
|
\usepackage{mathrsfs}
|
||||||
|
\usepackage{cancel}
|
||||||
|
\usepackage{bm}
|
||||||
|
|
||||||
|
\newcommand\N{\ensuremath{\mathbb{N}}}
|
||||||
|
\newcommand\R{\ensuremath{\mathbb{R}}}
|
||||||
|
\newcommand\Z{\ensuremath{\mathbb{Z}}}
|
||||||
|
\renewcommand\O{\ensuremath{\emptyset}}
|
||||||
|
\newcommand\Q{\ensuremath{\mathbb{Q}}}
|
||||||
|
\newcommand\C{\ensuremath{\mathbb{C}}}
|
||||||
|
|
||||||
|
\let\svlim\lim\def\lim{\svlim\limits}
|
||||||
|
|
||||||
|
\let\implies\Rightarrow
|
||||||
|
\let\impliedby\Leftarrow
|
||||||
|
\let\iff\Leftrightarrow
|
||||||
|
\let\epsilon\varepsilon
|
||||||
|
|
||||||
|
\usepackage{stmaryrd}
|
||||||
|
\newcommand\contra{\scalebox{1.5}{$\lightning$}}
|
||||||
|
|
||||||
|
\definecolor{correct}{HTML}{009900}
|
||||||
|
\newcommand\correct[2]{\ensuremath{\:}{\color{red}{#1}}\ensuremath{\to }{\color{correct}{#2}}\ensuremath{\:}}
|
||||||
|
\newcommand\green[1]{{\color{correct}{#1}}}
|
||||||
|
|
||||||
|
\newcommand\hr{
|
||||||
|
\noindent\rule[0.5ex]{\linewidth}{0.5pt}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand\hide[1]{}
|
||||||
|
|
||||||
|
\usepackage{siunitx}
|
||||||
|
\sisetup{locale = UK}
|
||||||
|
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\usepackage{mdframed}
|
||||||
|
\mdfsetup{skipabove=1em,skipbelow=0em}
|
||||||
|
\theoremstyle{definition}
|
||||||
|
|
||||||
|
\newmdtheoremenv[nobreak=true]{definition}{Definition}
|
||||||
|
\newtheorem*{eg}{Example}
|
||||||
|
\newtheorem*{notation}{Notation}
|
||||||
|
\newtheorem*{previouslyseen}{As previously seen}
|
||||||
|
\newtheorem*{remark}{Remark}
|
||||||
|
\newtheorem*{note}{Note}
|
||||||
|
\newtheorem*{problem}{Problem}
|
||||||
|
\newtheorem*{observe}{Observe}
|
||||||
|
\newtheorem*{property}{Property}
|
||||||
|
\newtheorem*{intuition}{Intuition}
|
||||||
|
\newmdtheoremenv[nobreak=true]{prop}{Proposition}
|
||||||
|
\newmdtheoremenv[nobreak=true]{theorem}{Theorem}
|
||||||
|
\newmdtheoremenv[nobreak=true]{corollary}{Corollary}
|
||||||
|
|
||||||
|
\usepackage{etoolbox}
|
||||||
|
\AtEndEnvironment{eg}{\null\hfill$\diamond$}%
|
||||||
|
|
||||||
|
\makeatletter
|
||||||
|
\def\thm@space@setup{%
|
||||||
|
\thm@preskip=\parskip \thm@postskip=0pt
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\practice}[1]{%
|
||||||
|
\def\@practice{#1}%
|
||||||
|
\subsection*{Practice #1}
|
||||||
|
}
|
||||||
|
|
||||||
|
\newcommand{\subpractice}[1]{%
|
||||||
|
\subsubsection*{Practice \@practice.#1}
|
||||||
|
}
|
||||||
|
|
||||||
|
\usepackage{xifthen}
|
||||||
|
\def\testdateparts#1{\dateparts#1\relax}
|
||||||
|
\def\dateparts#1 #2 #3 #4 #5\relax{
|
||||||
|
\marginpar{\small\textsf{\mbox{#1 #2 #3 #5}}}
|
||||||
|
}
|
||||||
|
|
||||||
|
\def\@lecture{}%
|
||||||
|
\newcommand{\lecture}[3]{
|
||||||
|
\ifthenelse{\isempty{#3}}{%
|
||||||
|
\def\@lecture{Lecture #1}%
|
||||||
|
}{%
|
||||||
|
\def\@lecture{Lecture #1: #3}%
|
||||||
|
}%
|
||||||
|
\subsection*{\@lecture}
|
||||||
|
\marginpar{\small\textsf{\mbox{#2}}}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
\usepackage{fancyhdr}
|
||||||
|
\pagestyle{fancy}
|
||||||
|
|
||||||
|
\fancyhead[RO,LE]{\@lecture}
|
||||||
|
\fancyhead[RE,LO]{}
|
||||||
|
|
||||||
|
\fancyfoot[RO,LE]{\thepage}
|
||||||
|
\fancyfoot[RE,LO]{}
|
||||||
|
\fancyfoot[C]{\leftmark}
|
||||||
|
|
||||||
|
\makeatother
|
||||||
|
|
||||||
|
\usepackage{todonotes}
|
||||||
|
\usepackage{tcolorbox}
|
||||||
|
|
||||||
|
\tcbuselibrary{breakable}
|
||||||
|
|
||||||
|
\newenvironment{Correction}{\begin{tcolorbox}[
|
||||||
|
arc=0mm,
|
||||||
|
colback=white,
|
||||||
|
colframe=green!60!black,
|
||||||
|
title=Note,
|
||||||
|
fonttitle=\sffamily,
|
||||||
|
breakable
|
||||||
|
]}{\end{tcolorbox}}
|
||||||
|
|
||||||
|
\newenvironment{takenote}[1]{\begin{tcolorbox}[
|
||||||
|
arc=0mm,
|
||||||
|
colback=white,
|
||||||
|
colframe=white!60!black,
|
||||||
|
title=#1,
|
||||||
|
fonttitle=\sffamily
|
||||||
|
breakable
|
||||||
|
]}{\end{tcolorbox}}
|
||||||
|
|
||||||
|
|
||||||
|
\pdfsuppresswarningpagegroup=1
|
||||||
|
|
||||||
|
\author{Curle}
|
Loading…
Reference in New Issue
Block a user