My rice dotfiles. Have fun :)

This commit is contained in:
Curle 2020-12-14 02:45:11 +00:00
commit d7fa235c3d
57 changed files with 5952 additions and 0 deletions

21
.bashrc Normal file
View 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

View 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}%
]];

View 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
View 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
View 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
View 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
View 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
View 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]

View 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
View 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
View 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
View 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
View 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
View 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
View 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
View 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 doesnt 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 windows width.
# Pressing right will grow the windows width.
# Pressing up will shrink the windows height.
# Pressing down will grow the windows 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
View 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
View 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
View 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)"

View 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
View 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
View File

@ -0,0 +1,4 @@
[xin_-1]
file=/media/secondary.jpg
mode=5
bgcolor=#ffffff

12
nitrogen/nitrogen.cfg Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View 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
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Binary file not shown.

Binary file not shown.

View 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
View 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

File diff suppressed because it is too large Load Diff

3
polybar/nohup.out Normal file
View 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
View 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
View 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
View 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
View 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
View 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
View File

@ -0,0 +1,3 @@
#!/bin/bash
termite -e "sudo pacman -Syu"

10
polybar/scripts/pmenu_g Normal file
View 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
View 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
View 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
View 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
View 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"

View 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"

View 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
View 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
View 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
View 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
View 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}
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
;; __________ ______
;; / ____/ __ \/ ____/
;; / __/ / / / / /_
;; / /___/ /_/ / __/
;; /_____/\____/_/
;;
;; _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

1
rofi/config Normal file
View File

@ -0,0 +1 @@
rofi.theme: /usr/share/rofi/themes/purple.rasi

23
sxhkd/sxhkdrc Normal file
View 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

View 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}