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