Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commitbb35aad51d0338bc919adb1ccd3e5effcb3c4499 (patch)
Author
 Syndamia <kamen@syndamia.com>
2025-03-28 19:14:51 +0200
Committer
 Syndamia <kamen@syndamia.com>
2025-03-28 19:14:51 +0200
Filesf21e579a25bf579cadc2680a84643ee6eb07d067
.files-bb35aad51d0338bc919adb1ccd3e5effcb3c4499.tar
.files-bb35aad51d0338bc919adb1ccd3e5effcb3c4499.tar.gz
.files-bb35aad51d0338bc919adb1ccd3e5effcb3c4499.zip
Parent26c9c875ddbbb421a61314266b9eca20a7789dbe (diff)
feat: Initial versions of all dotfiles
55 files changed, 6683 insertions, 0 deletions
-rw-r--r--.Xresources77
-rw-r--r--.bash_logout2
-rw-r--r--.bash_profile8
-rw-r--r--.bashrc614
-rw-r--r--.claws-mail/clawsrc549
-rw-r--r--.claws-mail/colorlabelrc7
-rw-r--r--.claws-mail/pagesetuprc10
-rw-r--r--.claws-mail/toolbar_compose.xml11
-rw-r--r--.claws-mail/toolbar_main.xml18
-rw-r--r--.claws-mail/toolbar_msgview.xml11
-rw-r--r--.config/PulseEffects/Bass & Vocal Clarity.json623
-rw-r--r--.config/copyq/copyq.conf246
-rw-r--r--.config/devilspie2/devilspie2.lua1
-rwxr-xr-x.config/devilspie2/set-xdg-icon.sh92
-rw-r--r--.config/dunst/dunstrc459
-rw-r--r--.config/flameshot/flameshot.ini42
-rw-r--r--.config/gtk-3.0/gtk.css3
-rw-r--r--.config/gtk-3.0/settings.ini16
-rw-r--r--.config/jgmenu/append.csv7
-rw-r--r--.config/jgmenu/jgmenurc4
-rw-r--r--.config/jgmenu/jgmenusimplerc18
-rw-r--r--.config/jgmenu/prepend.csv2
-rw-r--r--.config/joplin-desktop/userchrome.css30
-rw-r--r--.config/joplin-desktop/userstyle.css302
-rw-r--r--.config/lead/lead.conf24
-rwxr-xr-x.config/libinput-gestures.conf194
-rw-r--r--.config/nix/nix.conf1
-rw-r--r--.config/openbox/autostart5
-rw-r--r--.config/openbox/environment10
-rw-r--r--.config/openbox/rc.xml913
-rw-r--r--.config/openbox/terminals.menu16
-rw-r--r--.config/pavucontrol.ini8
-rw-r--r--.config/picom.conf414
-rw-r--r--.config/pnmixer/config34
-rw-r--r--.config/redshift.conf10
-rw-r--r--.config/terminator/config33
-rw-r--r--.config/tint2/tint2rc286
-rw-r--r--.dmrc3
-rw-r--r--.gitconfig12
-rw-r--r--.globalgitignore27
-rw-r--r--.gtkrc-2.019
-rw-r--r--.inputrc13
-rw-r--r--.moc/themes/rapture41
-rw-r--r--.moc/timidity.cfg1
-rw-r--r--.runelite/settings.properties1159
-rw-r--r--.screenrc13
-rw-r--r--.sxhkdrc10
-rw-r--r--.sylpheed-2.0/actionsrc1
-rw-r--r--.sylpheed-2.0/colorlabelrc7
-rw-r--r--.sylpheed-2.0/pagesetuprc10
-rw-r--r--.sylpheed-2.0/sylpheedrc250
-rw-r--r--.tmux.conf1
-rw-r--r--.wakatime.cfg9
-rwxr-xr-x.xsession6
-rw-r--r--jgmenu1
diff --git a/.Xresources b/.Xresources
new file mode 100644
index 0000000..7f8a212
--- /dev/null
+++ b/.Xresources
@@ -0,0 +1,77 @@
+xlogin*geometry: 300x300-0-0
+
+!! Xterm
+
+xterm*termName: xterm-256color
+xterm*saveLines: 16384
+! Fixes Ctrl+Backspace not working with .vimrc
+! Thanks to https://unix.stackexchange.com/a/249824/416793
+! XTerm*ptyInitialErase: true
+XTerm*backarrowKey: false
+
+! Font
+
+xterm*font: xft:MesloLGS NF:pixelsize=15:antialias=true
+xterm*renderFont: true
+
+Xft.dpi: 96
+
+xterm*cursorBlink: true
+xterm*cursorOnTime: 500
+xterm*cursorOffTime: 500
+
+xterm*loginShell: true
+
+
+! Turn the scrollbar on, and put it on the right
+xterm*scrollBar: true
+xterm*rightScrollBar: true
+
+xterm*mouseWheelScrollPage: true
+
+xterm*selectToClipboard: true
+xterm*VT100.Translations: #override \
+ Ctrl <Key> minus: smaller-vt-font() \n\
+ Ctrl <Key> plus: larger-vt-font() \n\
+ Ctrl <Key> 0: set-vt-font(d)
+
+! Gruvbox Theme {{{
+
+! -----------------------------------------------------------------------------
+! File: gruvbox-dark.xresources
+! Description: Retro groove colorscheme generalized
+! Author: morhetz <morhetz@gmail.com>
+! Source: https://github.com/morhetz/gruvbox-generalized
+! Last Modified: 6 Sep 2014
+! -----------------------------------------------------------------------------
+
+! hard contrast: *background: #1d2021
+*background: #282828
+! soft contrast: *background: #32302f
+*foreground: #ebdbb2
+! Black + DarkGrey
+*color0: #282828
+*color8: #928374
+! DarkRed + Red
+*color1: #cc241d
+*color9: #fb4934
+! DarkGreen + Green
+*color2: #98971a
+*color10: #b8bb26
+! DarkYellow + Yellow
+*color3: #d79921
+*color11: #fabd2f
+! DarkBlue + Blue
+*color4: #458588
+*color12: #83a598
+! DarkMagenta + Magenta
+*color5: #b16286
+*color13: #d3869b
+! DarkCyan + Cyan
+*color6: #689d6a
+*color14: #8ec07c
+! LightGrey + White
+*color7: #a89984
+*color15: #ebdbb2
+
+! }}}
diff --git a/.bash_logout b/.bash_logout
new file mode 100644
index 0000000..af7c6fd
--- /dev/null
+++ b/.bash_logout
@@ -0,0 +1,2 @@
+# ~/.bash_logout
+
diff --git a/.bash_profile b/.bash_profile
new file mode 100644
index 0000000..55136b9
--- /dev/null
+++ b/.bash_profile
@@ -0,0 +1,8 @@
+# .bash_profile
+
+# Get the aliases and functions
+if [ -f ~/.bashrc ]; then
+ . ~/.bashrc
+fi
+
+# User specific environment and startup programs
diff --git a/.bashrc b/.bashrc
new file mode 100644
index 0000000..7457c0b
--- /dev/null
+++ b/.bashrc
@@ -0,0 +1,614 @@
+# .bashrc
+# vi:foldmethod=marker
+
+# Source global definitions
+[ -f /etc/bashrc ] && . /etc/bashrc
+
+# When running nix develop you get your interactive bash shell, however the
+# $SHELL variable is set to the non-interactive bash
+# This variable change happens after .bashrc sourcing
+# As an awful workaround, only on the first PROMPT_COMMAND after a new shell
+# is started, we check and fix $SHELL
+shell_var_fix() {
+ if [ -x '/run/current-system/sw/bin/bash' ] && \
+ [[ "$SHELL" =~ /nix/store.*-bash-[[:digit:]].* ]]
+ then
+ export SHELL='/run/current-system/sw/bin/bash'
+ fi
+
+ # Don't ever run this function again
+ export PROMPT_COMMAND="${PROMPT_COMMAND/shell_var_fix;/}"
+ unset -f shell_var_fix
+}
+# This has a second purpose, to reset PROMPT_COMMAND, since subshells would
+# inherit it from the parent and inside the Prompt we prepend it
+# However, without this workaround, we wouldn't need to prepend in the first
+# place
+export PROMPT_COMMAND="shell_var_fix;"
+
+# Prompt {{{
+ [ "$(tput colors)" -ge 256 ]; _hc=$?
+ hc_mode() { return $_hc ; }
+
+ # $1 foreground color [REQUIRED]
+ # $2 background color [REQUIRED]
+ colors_prt() {
+ if hc_mode
+ then
+ printf "\001\e[38;5;${1}m\e[48;5;${2}m\002"
+ else
+ printf "\001\e[${1}m\e[${2}m\002"
+ fi
+ }
+ colors_res() {
+ printf "\001\e[0m\002"
+ }
+
+ # $1 cap colour [OPTIONAL]
+ # $2 cap character [OPTIONAL]
+ #
+ # Entering "o" for $1 and $2 or leaving them unset uses the defaults
+ left_cap() {
+ [ "$1" = 'o' -o -z "$1" ] && set "$PS_USER_BG" "$2"
+ [ "$2" = 'o' -o -z "$2" ] && set "$1" "$PS_LEFT_SEMI"
+
+ if hc_mode
+ then
+ colors_prt "$1" "$PS_BG"
+ printf "$2"
+ colors_prt "$PS_FG" "$1"
+ else
+ colors_prt "$PS_FG" "$1"
+ printf "$2"
+ fi
+ }
+ right_cap() {
+ [ "$2" = 'o' -o -z "$2" ] && set "$1" "$PS_RIGHT_SEMI"
+ left_cap "$1" "$2"
+ colors_res
+ }
+
+ PS_BG=0
+ hc_mode && PS_FG=223 || PS_FG=37
+ hc_mode && PS_USER_BG=66 || PS_USER_BG=44
+ # Thanks https://github.com/NixOS/nix/issues/9174#issuecomment-2054057401
+ [ -n "$IN_NIX_SHELL" -o -n "$NIX_GCROOT" ] && {
+ hc_mode && PS_USER_BG=67 || PS_USER_BG=46;
+ }
+
+ # Colors for reporting changes
+ hc_mode && PS_ERR=160 || PS_ERR=41
+ hc_mode && PS_WARN=172 || PS_WARN=43
+ hc_mode && PS_INFO=97 || PS_INFO=45
+ hc_mode && PS_DBG=52 || PS_DBG=41
+
+ hc_mode && PS_TRIANGLE='' || PS_TRIANGLE='|'
+ hc_mode && PS_TRIANGLE_BOT='' || PS_TRIANGLE='|'
+ hc_mode && PS_LEFT_SEMI='' || PS_LEFT_SEMI='('
+ hc_mode && PS_LEFT_SLAB='█' || PS_LEFT_SLAB='| '
+ hc_mode && PS_RIGHT_SLAB='█' || PS_RIGHT_SLAB=' |'
+ hc_mode && PS_RIGHT_SEMI='' || PS_RIGHT_SEMI=')'
+ hc_mode && PS_PREC='' || PS_PREC='>'
+ hc_mode && PS_PREC_GIT='' || PS_PREC_GIT='{}'
+
+ ___dirchanged=""
+
+ ps_commands() {
+ has=""
+ for i in "$@"
+ do
+ case $i in
+ (git)
+ [ -n "$___git_printed" ] && has="y" && break ;;
+ (ex)
+ [ "$EXSTAT" != '0' ] && has="y" && break ;;
+ (dur)
+ [ -z "$___timer" -a "$seconds" -gt 10 ] && has="y" && break ;;
+ (dir)
+ [ -n "$___dirchanged" ] && has="y" && break ;;
+ esac
+ done
+ [ -n "$has" ]
+ }
+ right_slab() {
+ ps_commands "$@" && echo "$PS_RIGHT_SLAB"
+ }
+
+ ps_space() {
+ ps_commands git ex dur dir && printf ' '
+ }
+ ps_nl() {
+ ps_commands git ex dur dir && printf '\n'
+ }
+
+ ps_git() {
+ if git rev-parse --is-inside-work-tree >/dev/null 2>&1
+ then
+ branch_name=$(git symbolic-ref -q HEAD)
+ branch_name=${branch_name##refs/heads/}
+ branch_name=${branch_name:-HEAD}
+
+ ___changes="$(git status --porcelain)"
+
+ if [ -n "$___dirchanged" ]
+ then
+ left_cap $PS_INFO "$PS_LEFT_SLAB"
+ printf "$branch_name"
+ right_cap $PS_INFO "$(right_slab ex dur dir)"
+ ___git_printed="y"
+ fi
+ fi
+ }
+
+ ps_exit() {
+ if [ "$EXSTAT" != '0' ]
+ then
+ left_cap $PS_ERR "$PS_LEFT_SLAB"
+ printf "$EXSTAT"
+
+ right_cap $PS_ERR "$(right_slab dur dir)"
+ fi
+ }
+
+ ps_duration() {
+ [ -n "$___timer" ] && return
+
+ if [ "$seconds" -gt 10 ]
+ then
+ left_cap $PS_DBG "$PS_LEFT_SLAB"
+ if [ "$seconds" -lt 60 ]; then TZ='UTC+24' printf '%ds' "$seconds"
+ elif [ "$seconds" -le 3600 ]; then TZ='UTC+24' printf '%(%Mm %Ss)T' "$seconds"
+ elif [ "$seconds" -le 86400 ]; then TZ='UTC+24' printf '%(%Hh %Mm %Ss)T' "$seconds"
+ else TZ='UTC+24' printf '%(%j %Hh %Mm %Ss)T' "$seconds"
+ fi
+ right_cap $PS_DBG "$(right_slab dir)"
+ fi
+ }
+
+ ps_dir() {
+ DIRCOLOR=$PS_INFO
+ [ ! -w . ] && DIRCOLOR=$PS_WARN
+
+ DIR="${PWD/#$HOME/\~}"
+ [ -z "$___dirchanged" ] && DIR=''
+
+ if [ -n "$DIR" ]
+ then
+ left_cap $DIRCOLOR "$PS_LEFT_SLAB"
+ printf "$DIR"
+ right_cap $DIRCOLOR
+ fi
+ }
+
+ jobs_count() {
+ info="$(jobs -p | tr "\012" " ")"
+ info="${info//[^ ]}"
+ echo ${#info}
+ }
+
+ ps_user() {
+ name="${USER#kamen}@$HOSTNAME"
+
+ njobs="$(jobs_count)"
+ # Our git rev-parse adds a background process, so if we have git, we'll
+ # always get at least one job. But, without git, we'll always get at least 0 jobs.
+ [ "$njobs" -gt "$(command -v git >/dev/null 2>&1; [ $? != 0 ]; echo $?)" ] \
+ && name="\001\e[4m\\002$name\001\e[24m\002"
+
+ printf "$name"
+ }
+
+ ps_precursor() {
+ colors_res
+ [ ! -w . ] && colors_prt "$PS_WARN" "$PS_BG"
+ if [ -n "$___changes" ]
+ then
+ printf "$PS_PREC_GIT"
+ else
+ printf "$PS_PREC"
+ fi
+ colors_res
+ }
+
+ trap "SECONDS=0;___timer=''" SIGUSR2
+
+ export PS_COMM="ps_space; ps_git; ps_exit; ps_duration; ps_dir; ps_nl"
+ export PS1="$(left_cap)\$(ps_user)$(right_cap) \$(ps_precursor) "
+ # Show time below command:
+ # export PS0=" $(left_cap 'o' "$PS_TRIANGLE_BOT") \A$(right_cap)\n\$(kill -s SIGUSR2 $$)"
+ export PS0="\$(kill -s SIGUSR2 $$)"
+
+ export PROMPT_COMMAND="$PROMPT_COMMAND"'EXSTAT="$?";seconds="$SECONDS";___changes="";___git_printed="";'$PS_COMM';___dirchanged=''; ___timer="n"'
+# }}}
+
+# vi mode {{{
+ bind 'set editing-mode vi'
+ bind 'set show-mode-in-prompt on'
+ bind "set vi-ins-mode-string \"$(left_cap)i$(right_cap)\""
+ bind "set vi-cmd-mode-string \"$(left_cap $PS_WARN)n$(right_cap $PS_WARN)\""
+
+ # Thanks https://stackoverflow.com/a/13773343
+ set_tab_title() {
+ printf '\e]2;%s\a' "$*"
+ }
+ # Huge thanks to: https://lists.gnu.org/archive/html/help-bash/2022-02/msg00023.html
+ bind -x "\"\xC0\a\":set_tab_title \"\$READLINE_LINE\";printf \"$(left_cap $PS_DBG)%(%T)T$(right_cap $PS_DBG)\""
+ bind '"\xC0\r":accept-line'
+ bind '"\r":"\xC0\a\xC0\r"'
+# }}}
+
+# History {{{
+ bind '"\e[A":history-search-backward'
+ bind '"\e[B":history-search-forward'
+ # Thanks to https://stackoverflow.com/a/19533853
+ shopt -s histappend
+ export HISTCONTROL=ignoredups HISTFILESIZE= HISTSIZE= HISTFILE=~/bash_history
+# }}}
+
+# Changing directory {{{
+ pushd() {
+ ___dirchanged="y"
+ builtin pushd "${1:-$HOME}" >/dev/null
+ }
+ popd() {
+ ___dirchanged="$PWD"
+ builtin popd >/dev/null 2>&1 && forward_dirs[${#forward_dirs[@]}]="$___dirchanged" || builtin popd +1
+ }
+ # Huge thanks to: https://tldp.org/LDP/abs/html/arrays.html#EMPTYARRAY
+ repushd() {
+ ___dirchanged="y"
+ [ "${#forward_dirs[@]}" -eq 0 ] && echo "bash: repushd: forward directory stack empty" && return 1
+
+ builtin pushd "${forward_dirs[${#forward_dirs[@]}-1]:-$HOME}" >/dev/null
+ unset forward_dirs[${#forward_dirs[@]}-1]
+ }
+ alias cd="pushd" # change directory
+ alias bd="popd" # back directory
+ alias fd="repushd"
+
+ cdrepo() {
+ cd "$HOME/Programming/$1/$2"
+ }
+ # Huge thanks to: https://stackoverflow.com/a/39729507
+ _cdrepo_comp() {
+ case "$1" in
+ (cdl) _folder='GitLab-repos' ;;
+ (cdg) _folder='GitHub-repos' ;;
+ (cds) _folder='source' ;;
+ esac
+
+ while IFS= read line
+ do
+ [ -z "$line" ] && continue
+ line="${line##"$HOME"/Programming/"$_folder"/}/"
+ line="${line// /\\ }"
+ COMPREPLY+=("$line")
+ done <<EOF
+$(compgen -d "$HOME"/Programming/"$_folder"/"$2")
+EOF
+ }
+
+ alias cdl="cdrepo GitLab-repos "
+ complete -o nospace -F _cdrepo_comp cdl
+
+ alias cdg="cdrepo GitHub-repos "
+ complete -o nospace -F _cdrepo_comp cdg
+
+ alias cds="cdrepo source "
+ complete -o nospace -F _cdrepo_comp cds
+
+ n() {
+ # Block nesting of nnn in subshells
+ [ "${NNNLVL:-0}" -eq 0 ] || {
+ echo "nnn is already running"
+ return
+ }
+
+ # The behaviour is set to cd on quit (nnn checks if NNN_TMPFILE is set)
+ # If NNN_TMPFILE is set to a custom path, it must be exported for nnn to
+ # see. To cd on quit only on ^G, remove the "export" and make sure not to
+ # use a custom path, i.e. set NNN_TMPFILE *exactly* as follows:
+ NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
+ # export NNN_TMPFILE="${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd"
+
+ # Unmask ^Q (, ^V etc.) (if required, see `stty -a`) to Quit nnn
+ # stty start undef
+ # stty stop undef
+ # stty lwrap undef
+ # stty lnext undef
+
+ # The command builtin allows one to alias nnn to n, if desired, without
+ # making an infinitely recursive alias
+ command nnn -deHoJU "$@"
+
+ [ ! -f "$NNN_TMPFILE" ] || {
+ . "$NNN_TMPFILE"
+ rm -f -- "$NNN_TMPFILE" > /dev/null
+ }
+ }
+# }}}
+
+# Processes {{{
+ fg() {
+ builtin fg >/dev/null
+ }
+
+ # Run in the background
+ bgr() {
+ nohup sh -c "$@" >~/nohup.out 2>&1 &
+ disown
+ }
+
+ # Kill process and run in the background
+ res() {
+ pkill "$@"
+ bgr "$@"
+ }
+
+ # Launch .desktop application (either full path or just name)
+ dela() {
+ name=$1
+ if [[ ${name:0:1} != "/" ]]; then
+ name="/usr/share/applications/${name}"
+ fi
+ if [[ ! $name =~ .desktop$ ]]; then
+ name+=".desktop"
+ fi
+ comm=($(awk -F= '$1=="Exec"{$1=""; print}' "$name"))
+ bgr "$comm"
+ }
+
+ shopt -s checkjobs
+# }}}
+
+# Variables {{{
+ export NIX_SHELL_PRESERVE_PROMPT=1
+ export VISUAL=nvim
+# }}}
+
+# File operations {{{
+ cp() {
+ command cp -p "$@"
+ }
+
+ metas() {
+ for file in *; do
+ [ "$file" != 'cover.jpeg' ] && \
+ kid3-cli -c "set title \"$(echo "$file" | sed -e "s/\.[^.]*$//")\"" \
+ -c "set artist \"$1\"" -c "set album \"$2\"" -c "set date \"$3\"" \
+ -c 'set picture:"./cover.jpeg" ""' "$file" \
+ || :
+ done
+ }
+# }}}
+
+# Bindings {{{
+ bind '"\C-l":clear-screen'
+ bind -x '"\C-g":lazygit'
+ bind -x '"\C-f":fg'
+ bind '"\C-h": backward-kill-word'
+# }}}
+
+# ANSI tests {{{
+ try_code() {
+ local type=$1
+ local val=$2
+ local mod=$3
+
+ case "$val" in
+ (n) echo; return ;;
+ esac
+
+ case "$type" in
+ (sgr) printf "\e[${mod}${val}m% 3s\e[0m " "$val" ;;
+ esac
+ }
+
+ colors() {
+ echo 'SGR format: \e[X;Y;Z;...m'
+ echo '== Modifiers =='
+ for i in {0..9} n {10..20} n {21..29} n {50..62} n {63..75}
+ do
+ try_code sgr "$i"
+ printf '\e[10m' # Alternate fonts fix
+ done
+ echo
+ echo '== 4 bit colors =='
+ echo '\e[Xm'
+ for i in {30..37} n {40..47} n {90..97} n {100..107}
+ do
+ try_code sgr "$i"
+ done
+ echo
+
+ echo '== 8 bit colors =='
+ echo '\e[38;5;Xm'
+ for i in {0..7} n {8..15} n \
+ n \
+ {16..33} n {34..51} n \
+ {52..69} n {70..87} n \
+ {88..105} n {106..123} n \
+ {124..141} n {142..159} n \
+ {160..177} n {178..195} n \
+ {196..213} n {214..231} n \
+ n \
+ {232..243} n {244..255}
+ do
+ try_code sgr "$i" '38;5;'
+ done
+ echo
+ echo '\e[48;5;Xm'
+ for i in {0..7} n {8..15} n \
+ n \
+ {16..33} n {34..51} n \
+ {52..69} n {70..87} n \
+ {88..105} n {106..123} n \
+ {124..141} n {142..159} n \
+ {160..177} n {178..195} n \
+ {196..213} n {214..231} n \
+ n \
+ {232..243} n {244..255}
+ do
+ printf '\e[30m'
+ try_code sgr "$i" '48;5;'
+ done
+ echo
+ }
+# }}}
+
+if [ -n "$ZSHRC_FUNTOO" ]
+then
+ pre-sync() {
+ echo '(.zshrc) Running pre-sync function...'
+
+ # Since in post-sync I change the EAPI of a lot of the ebuilds,
+ # the overlay can't be synced properly
+ _pwd=$(pwd)
+ cd /var/db/repos/gentoo
+ sudo git reset --hard
+ cd $_pwd
+
+ echo '(.zshrc) pre-sync finished! :}'
+ }
+
+ post-sync() {
+ echo '(.zshrc) Running post-sync function...'
+
+ # Fixes the elusive
+ # "!!! Repository name or alias 'gentoo', defined for repository 'core-kit', overrides existing alias or repository."
+ # error when enabling gentoo overlay
+ sudo sed -i 's/aliases = gentoo/#aliases = gentoo/g' /var/git/meta-repo/kits/core-kit/metadata/layout.conf
+
+ # In the gentoo overlay, most packages don't actually use EAPI 8 specific features, so
+ # they can safely be rolled back to EAPI 7 (funtoo's portage doesn't support EAPI 8 yet).
+ # However, there are still some that do need EAPI 8, so they should be left alone.
+ # Since I'm incredibly lazy, for now, this is how I'm gonna do it.
+ find '/var/db/repos/gentoo' -type f -name "*.ebuild" ! -path "*dev-qt*" ! -path "*kde-frameworks*" ! -path "*kde-plasma*" \
+ | xargs sudo sed -i 's/EAPI=8/EAPI=7/g'
+
+ echo '(.zshrc) post-sync finished! :]'
+ }
+
+ alias sen="pre-sync && sudo ego sync && post-sync && sudo emerge --quiet-build -vuDN @world"
+fi
+
+# plumb.sh
+# plumb-store-cwd () {
+# pwd > /tmp/plumb-cwd
+# }
+# zle -N plumb-store-cwd
+# bindkey "^[[5;7~" plumb-store-cwd
+
+# Open vim with .vim-session file, if it exists and the vim command doesn't have any parameters
+v() {
+ if [ -f ".vim-session" ] && [ -z "$1" ]; then
+ vim -S .vim-session
+ else
+ vim "$@"
+ fi
+}
+
+# Add to grit parent, where first value is parent number and everything else is node value
+grap() {
+ parent="$1"
+ shift
+ grit add -p $parent -- "$@"
+}
+
+onemo() {
+ bgr "nemo ./"
+}
+
+#
+# Aliases
+#
+
+if [ -x "$(command -v emerge)" ]
+then
+ alias seq="sudo emerge --quiet-build -v"
+ alias sep="sudo emerge -pv"
+ alias ses="sudo emerge -s"
+ alias seS="sudo emerge -S"
+ alias senc="sudo emaint sync -A"
+ alias sen="sudo emaint sync -A && sudo emerge --quiet-build -vuDN @world"
+ alias senp="sudo emaint sync -A && sudo emerge --quiet-build -pvuDN @world"
+ alias seN="sudo emerge --quiet-build -vuDN @world"
+ alias seNp="sudo emerge --quiet-build -pvuDN @world"
+ sedi() {
+ sudo emerge --deselect "$1" && sudo emerge --depclean "$1"
+ }
+
+ alias use="sudo vim /etc/portage/package.use"
+ alias unmask="sudo vim /etc/portage/package.unmask"
+ alias mask="sudo vim /etc/portage/package.mask"
+fi
+
+if [ -x "$(command -v dnf)" ]
+then
+ alias sdi="sudo dnf install -y"
+ alias sdr="sudo dnf remove -y"
+ alias sda="sudo dnf autoremove -y"
+ # If you're using dotnet from the "packages-microsoft-com-prod" repo, make sure to
+ # add "exclude=dotnet* aspnetcore* netstandard*" inside the /etc/yum.repos.d/fedora.repo, /etc/yum.repos.d/fedora-updates.repo and potentially /etc/yum.repos.d/fedora33.repo
+ alias sdu="sudo dnf upgrade -y && sudo dnf autoremove -y && sudo youtube-dl --update && wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash && needs-restarting -r"
+ alias sdudiscord="wget -O discord.tar.gz \"https://discord.com/api/download?platform=linux&format=tar.gz\" && tar -xzf discord.tar.gz && sudo rm -rf /opt/Discord && sudo mv Discord /opt"
+
+ alias ds="dnf search"
+ alias dcs="dnf copr search"
+ alias dp="dnf provides"
+ alias di="dnf info"
+
+ alias sdce="sudo dnf copr enable -y"
+ alias sdcei='f() { sudo dnf copr enable -y $1 && sudo dnf install -y $2; unset -f f }; f'
+fi
+
+if [ -x "$(command -v apt-get)" ]; then
+ alias sasy="sudo apt install -y"
+ alias sary="sudo apt remove -y"
+ alias saty="sudo apt autoremove -y"
+ alias sagt="sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && sudo youtube-dl --update && wget -O - https://raw.githubusercontent.com/laurent22/joplin/master/Joplin_install_and_update.sh | bash"
+fi
+
+if [ -x "$(command -v exa)" ]
+then
+ alias ll="exa --icons --group-directories-first --git --time-style long-iso -a -labh"
+ alias lk="exa --icons --group-directories-first --git --time-style long-iso -labhTL"
+ alias l.="exa --icons --group-directories-first --git --time-style long-iso -labhTL 2"
+ alias l="exa --icons --group-directories-first --time-style long-iso -abh"
+else
+ alias ll="la -alF"
+ alias la="ls -A"
+ alias l="ls -CF"
+fi
+
+if [ -x "$(command -v grit)" ]
+then
+ alias gr="grit"
+ alias gra="grit add --"
+ alias grc="grit check"
+ alias grls="grit tree"
+fi
+
+if [ -x "$(command -v youtube-dl)" ]
+then
+ alias ydl="youtube-dl -o '%(title)s.%(ext)s'"
+ alias ydlba="youtube-dl -o '%(title)s.%(ext)s' --audio-format best -x"
+fi
+
+if [ -x "$(command -v gs)" ]
+then
+ alias combinepdf="gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -sOutputFile=temp.pdf"
+fi
+
+alias wudo="sudo -u www-data"
+
+alias q="exit"
+alias x="exit"
+
+#
+# Added by scripts:
+#
+
+export PATH="/home/kamen/bin/Sencha/Cmd:$PATH"
+
+export NVM_DIR="$HOME/.nvm"
diff --git a/.claws-mail/clawsrc b/.claws-mail/clawsrc
new file mode 100644
index 0000000..9ee3e06
--- /dev/null
+++ b/.claws-mail/clawsrc
@@ -0,0 +1,549 @@
+[Common]
+config_version=4
+use_ext_inc=0
+ext_inc_path=/usr/bin/mh/inc
+autochk_newmail=1
+autochk_interval=60
+check_on_startup=1
+open_inbox_on_inc=0
+scan_all_after_inc=1
+newmail_notify_manu=0
+newmail_notify_auto=0
+newmail_notify_cmd=
+receive_dialog_mode=1
+receivewin_width=460
+receivewin_height=-1
+no_receive_error_panel=0
+close_receive_dialog=1
+save_message=1
+confirm_send_queued_messages=0
+send_dialog_mode=0
+sendwin_width=599
+sendwin_height=250
+outgoing_charset=
+encoding_method=0
+outgoing_fallback_to_ascii=1
+rewrite_first_from=1
+warn_empty_subj=1
+warn_sending_many_recipients_num=0
+hide_timezone=0
+allow_jisx0201_kana=0
+auto_ext_editor=0
+forward_as_attachment=0
+redirect_keep_from=0
+undo_level=50
+compose_with_format=1
+compose_subject_format=
+compose_body_format=
+show_compose_margin=0
+type_any_header=0
+linewrap_length=72
+linewrap_quotation=0
+linewrap_pastes=1
+primary_paste_unselects=0
+linewrap_auto=0
+auto_indent=1
+autosave=1
+autosave_length=25
+autosave_encrypted=1
+warn_large_insert=1
+warn_large_insert_size=468
+enable_aspell=1
+dictionary=en_GB
+alt_dictionary=bg_BG
+use_alternate_dict=1
+check_while_typing=1
+recheck_when_changing_dict=1
+misspelled_color=#ff0000
+use_both_dicts=1
+reply_with_quote=1
+compose_dnd_insert_or_attach=0
+reply_account_autoselect=1
+forward_account_autoselect=1
+reedit_account_autoselect=1
+default_reply_list=1
+show_ruler=1
+reply_quote_mark=>
+reply_quote_format=%cursor\n\n%as\n\nOn %d\n%f wrote:\n\n%q
+forward_quote_mark=>
+forward_quote_format=\n\nBegin forwarded message:\n\n?d{Date: %d\n}?f{From: %f\n}?t{To: %t\n}?c{Cc: %c\n}?n{Newsgroups: %n\n}?s{Subject: %s\n}\n\n%M
+quote_chars=>
+message_font_gtk2=Monospace 10
+print_font_gtk2=Monospace 9
+small_font_gtk2=Sans 9
+normal_font_gtk2=Sans 10
+bold_font_gtk2=Sans Bold 9
+use_different_print_font=0
+derive_from_normal_font=1
+custom_color1=#ff9900
+custom_colorlabel1=Orange
+custom_color2=#ff0000
+custom_colorlabel2=Red
+custom_color3=#ff66ff
+custom_colorlabel3=Pink
+custom_color4=#00ccff
+custom_colorlabel4=Sky blue
+custom_color5=#0000ff
+custom_colorlabel5=Blue
+custom_color6=#009900
+custom_colorlabel6=Green
+custom_color7=#663333
+custom_colorlabel7=Brown
+custom_color8=#aaaaaa
+custom_colorlabel8=Grey
+custom_color9=#c07254
+custom_colorlabel9=Light brown
+custom_color10=#c00000
+custom_colorlabel10=Dark red
+custom_color11=#cc1074
+custom_colorlabel11=Dark pink
+custom_color12=#5094cd
+custom_colorlabel12=Steel blue
+custom_color13=#ffd500
+custom_colorlabel13=Gold
+custom_color14=#00d800
+custom_colorlabel14=Bright green
+custom_color15=#c060c0
+custom_colorlabel15=Magenta
+display_image=1
+resize_image=1
+inline_image=1
+fit_image_height=1
+display_folder_unread_num=1
+newsgroup_abbrev_len=16
+translate_header=1
+default_sort_key=3
+default_sort_type=1
+use_address_book=0
+thread_by_subject=1
+date_format=%H:%M - %d.%m.%Y
+msgview_date_format=0
+next_on_delete=0
+bold_unread=1
+bold_marked=0
+toolbar_style=4
+show_col_headers=1
+show_statusbar=1
+show_searchbar=1
+summary_col_show_mark=1
+summary_col_show_unread=1
+summary_col_show_subject=1
+summary_col_show_from=1
+summary_col_show_to=0
+summary_col_show_date=1
+summary_col_show_mime=1
+summary_col_show_size=1
+summary_col_show_number=0
+summary_col_show_score=0
+summary_col_show_locked=0
+summary_col_show_tags=0
+summary_col_lock=1
+summary_col_pos_mark=5
+summary_col_pos_unread=6
+summary_col_pos_mime=7
+summary_col_pos_subject=8
+summary_col_pos_from=9
+summary_col_pos_date=10
+summary_col_pos_size=11
+summary_col_pos_number=1
+summary_col_pos_score=2
+summary_col_pos_locked=3
+summary_col_pos_to=0
+summary_col_pos_tags=4
+summary_col_size_mark=23
+summary_col_size_unread=18
+summary_col_size_mime=19
+summary_col_size_subject=545
+summary_col_size_from=170
+summary_col_size_to=120
+summary_col_size_date=188
+summary_col_size_size=45
+summary_col_size_number=40
+summary_col_size_score=40
+summary_col_size_locked=13
+summary_col_size_tags=150
+folderwin_x=16
+folderwin_y=16
+folderview_width=322
+folderview_height=937
+folderview_visible=1
+folder_col_show_folder=1
+folder_col_show_new=0
+folder_col_show_unread=0
+folder_col_show_total=1
+folder_col_pos_folder=3
+folder_col_pos_new=0
+folder_col_pos_unread=1
+folder_col_pos_total=2
+folder_col_size_folder=120
+folder_col_size_new=32
+folder_col_size_unread=32
+folder_col_size_total=27
+folder_default_thread=1
+folder_default_thread_collapsed=0
+folder_default_hide_read_threads=0
+folder_default_hide_read_msgs=0
+folder_default_hide_del_msgs=0
+summaryview_width=1592
+summaryview_height=937
+main_messagewin_x=256
+main_messagewin_y=210
+messageview_width=674
+messageview_height=937
+messageview_visible=1
+mainview_x=0
+mainview_y=0
+mainview_width=1592
+mainview_height=791
+mainwin_x=0
+mainwin_y=0
+mainwin_maximised=1
+mainwin_fullscreen=0
+mainwin_menubar=1
+mainwin_width=1124
+mainwin_height=791
+messagewin_width=1118
+messagewin_height=688
+mimeview_tree_height=75
+sourcewin_width=600
+sourcewin_height=500
+compose_width=1918
+compose_height=1051
+compose_notebook_height=136
+compose_x=0
+compose_y=0
+enable_color=1
+quote_level1_color=#919191
+quote_level2_color=#919191
+quote_level3_color=#919191
+enable_bgcolor=0
+quote_level1_bgcolor=#cccccc
+quote_level2_bgcolor=#d4d4d4
+quote_level3_bgcolor=#dddddd
+uri_color=#b47494
+emphasis_color=#729fcf
+target_folder_color=#da1cca
+signature_color=#d49407
+recycle_quote_colors=0
+default_header_color=#000000
+default_header_bgcolor=#f5f6be
+tags_color=#000000
+tags_bgcolor=#f5f6be
+qs_active_color=#000000
+qs_active_bgcolor=#f5f6be
+qs_error_color=#000000
+qs_error_bgcolor=#ff7070
+display_header_pane=1
+display_header=1
+display_xface=1
+save_xface=1
+render_html=0
+invoke_plugin_on_html=1
+promote_html_part=1
+line_space=2
+never_send_retrcpt=0
+enable_smooth_scroll=0
+scroll_step=1
+scroll_half_page=0
+hide_quoted=1
+respect_flowed_format=0
+show_all_headers=0
+show_other_header=0
+attach_desc=1
+attach_save_directory=/run/media/kamen/Thumb
+attach_load_directory=/home/kamen/Downloads/
+mime_textviewer=
+mime_open_command=evince %s
+show_inline_attachments=1
+layout_mode=1
+open_selected_message_on_folder_open=0
+open_selected_message_on_search_results=0
+open_selected_message_on_prevnext=0
+open_selected_message_on_deletemove=0
+open_selected_message_on_directional=0
+always_show_message_when_selected=1
+select_on_entry=3
+show_tooltips=1
+summary_select_prio1=2
+summary_select_prio2=3
+summary_select_prio3=1
+summary_select_prio4=5
+summary_select_prio5=0
+summary_select_prio6=0
+summary_select_prio7=0
+summary_select_prio8=0
+summary_select_prio9=0
+summary_select_prio10=0
+mark_as_read_on_new_window=0
+mark_as_read_delay=0
+immediate_execution=1
+nextunreadmsg_dialog=1
+summary_from_show=0
+pixmap_theme_path=INTERNAL_DEFAULT
+enable_alpha_svg=1
+enable_pixmap_scaling=1
+pixmap_scaling_auto=1
+pixmap_scaling_ppi=102
+run_processingrules_before_mark_all=0
+ask_mark_all_read=0
+ask_override_colorlabel=0
+ask_apply_per_account_filtering_rules=1
+apply_per_account_filtering_rules=0
+addressbook_use_editaddress_dialog=1
+addressbook_hpaned_pos=255
+addressbook_vpaned_pos=-1
+uri_open_command=xdg-open '%s'
+ext_editor_command=vim %s
+cmds_use_system_default=1
+add_address_by_click=0
+session_passwords=1
+confirm_on_exit=0
+clean_trash_on_exit=0
+ask_on_cleaning=1
+warn_queued_on_exit=1
+work_offline=0
+summary_quicksearch_type=3
+summary_quicksearch_recurse=1
+io_timeout_secs=60
+hide_score=-9999
+important_score=1
+clip_log=1
+log_length=500
+enable_log_standard=1
+enable_log_warning=1
+enable_log_error=1
+enable_log_status=1
+log_msg_color=#00af00
+log_warn_color=#af0000
+log_error_color=#af0000
+log_in_color=#000000
+log_out_color=#0000ef
+log_status_ok_color=#00af00
+log_status_nok_color=#0000af
+log_status_skip_color=#aa00aa
+enable_filtering_debug=0
+filtering_debug_level=1
+enable_filtering_debug_inc=1
+enable_filtering_debug_manual=1
+enable_filtering_debug_folder_proc=0
+enable_filtering_debug_pre_proc=0
+enable_filtering_debug_post_proc=0
+filtering_debug_clip_log=1
+filtering_debug_log_length=500
+gtk_enable_accels=1
+color_new=#0000b3
+filteringwin_width=1355
+filteringwin_height=534
+filteringactionwin_width=1086
+filteringactionwin_height=389
+matcherwin_width=1322
+matcherwin_height=590
+templateswin_width=500
+templateswin_height=540
+actionsiodialog_width=582
+actionsiodialog_height=310
+actionswin_width=486
+actionswin_height=398
+tagswin_width=586
+tagswin_height=250
+sslmanwin_width=700
+sslmanwin_height=250
+uriopenerwin_width=-1
+uriopenerwin_height=-1
+foldersortwin_width=412
+foldersortwin_height=300
+addressbookwin_width=999
+addressbookwin_height=360
+addressbookeditpersonwin_width=640
+addressbookeditpersonwin_height=351
+addressbookeditgroupwin_width=580
+addressbookeditgroupwin_height=340
+pluginswin_width=409
+pluginswin_height=300
+prefswin_width=1186
+prefswin_height=648
+folderitemwin_width=700
+folderitemwin_height=550
+zero_replacement_char=0
+editaccountwin_width=751
+editaccountwin_height=550
+accountswin_width=676
+accountswin_height=402
+logwin_width=1076
+logwin_height=400
+filtering_debugwin_width=600
+filtering_debugwin_height=-1
+folderselwin_width=300
+folderselwin_height=360
+addressaddwin_width=300
+addressaddwin_height=-1
+addressbook_folderselwin_width=300
+addressbook_folderselwin_height=-1
+aboutwin_width=450
+aboutwin_height=500
+addrgather_width=450
+addrgather_height=-1
+news_subscribe_width=450
+news_subscribe_height=400
+imap_scan_tree_recurs_limit=64
+warn_dnd=0
+show_save_all_success=1
+show_save_all_failure=1
+utf8_instead_of_locale_for_broken_mail=0
+enable_swap_from=0
+use_stripes_everywhere=1
+use_stripes_in_summaries=0
+stripes_color_offset=3000
+enable_hscrollbar=1
+folderview_vscrollbar_policy=0
+textview_cursor_visible=0
+hover_timeout=500
+cache_max_mem_usage=4096
+cache_min_keep_time=15
+thread_by_subject_max_age=10
+last_opened_folder=
+goto_last_folder_on_startup=0
+startup_folder=
+goto_folder_on_startup=0
+summary_quicksearch_sticky=1
+summary_quicksearch_dynamic=0
+summary_quicksearch_autorun=0
+statusbar_update_step=10
+compose_no_markup=0
+skip_ssl_cert_check=0
+live_dangerously=0
+save_parts_readwrite=0
+hide_quotes=0
+unsafe_ssl_certs=0
+real_time_sync=0
+print_paper_type=
+print_paper_orientation=0
+print_margin_top=-1
+print_margin_bottom=-1
+print_margin_left=-1
+print_margin_right=-1
+print_use_color=0
+print_use_collate=0
+print_use_reverse=0
+print_use_duplex=0
+print_imgs=1
+print_previewwin_width=600
+print_previewwin_height=-1
+use_networkmanager=1
+use_shred=0
+two_line_vertical=1
+inherit_folder_properties=0
+flush_metadata=1
+nav_history_length=50
+diff_added_color=#008b8b
+diff_deleted_color=#6a5acd
+diff_hunk_color=#a52a2a
+folder_search_wildcard=1
+address_search_wildcard=1
+enable_avatars=3
+use_master_passphrase=0
+master_passphrase=
+master_passphrase_pbkdf2_rounds=50000
+use_proxy=0
+proxy_type=1
+proxy_host=localhost
+proxy_port=1080
+use_proxy_auth=0
+proxy_name=
+proxy_pass=
+qs_press_timeout=500
+
+[Plugins_Common]
+
+[Plugins_GTK3]
+libravatar.so
+notification.so
+pgpcore.so
+pgpinline.so
+pgpmime.so
+/usr/lib64/claws-mail/plugins/fancy.so
+
+[Libravatar]
+base_url=http://cdn.libravatar.org/avatar
+cache_interval=24
+cache_icons=1
+default_mode=0
+default_mode_url=
+allow_redirects=1
+allow_federated=1
+timeout=0
+max_redirects_url=7
+max_redirects_mm=5
+max_redirects=3
+
+[Dillo]
+local_browse=0
+full_window=0
+whitelist_ab=0
+whitelist_ab_folder=Any
+
+[fancy]
+enable_images=1
+enable_remote_content=0
+enable_scripts=0
+enable_plugins=0
+open_external=1
+zoom_level=100
+enable_java=0
+stylesheet=
+
+[NotificationPlugin]
+include_mail=1
+include_news=1
+include_rss=1
+include_calendar=1
+urgency_hint_new=0
+urgency_hint_unread=0
+canberra_play_sounds=1
+banner_show=0
+banner_speed=30
+banner_width=0
+banner_include_unread=0
+banner_max_msgs=100
+banner_sticky=0
+banner_root_x=0
+banner_root_y=10
+banner_folder_specific=0
+banner_enable_colors=0
+banner_color_bg=#000000
+banner_color_fg=#fefd00
+popup_show=1
+popup_timeout=5000
+popup_folder_specific=0
+popup_display_folder_name=0
+command_enabled=0
+command_timeout=60000
+command_folder_specific=0
+command_line=
+lcdproc_enabled=0
+lcdproc_hostname=localhost
+lcdproc_port=13666
+trayicon_enabled=1
+trayicon_hide_at_startup=0
+trayicon_close_to_tray=1
+trayicon_hide_when_iconified=0
+trayicon_folder_specific=0
+trayicon_display_folder_name=0
+trayicon_popup_enabled=0
+trayicon_popup_timeout=5000
+hotkeys_enabled=0
+hotkeys_toggle_mainwindow=
+
+[GPG]
+auto_check_signatures=1
+autocompletion=0
+autocompletion_limit=0
+use_gpg_agent=0
+store_passphrase=0
+store_passphrase_timeout=0
+passphrase_grab=0
+gpg_warning=1
+gpg_ask_create_key=0
+skip_encryption_warning=pgpmime,
+gpg_path=
+
diff --git a/.claws-mail/colorlabelrc b/.claws-mail/colorlabelrc
new file mode 100644
index 0000000..9e5f5f8
--- /dev/null
+++ b/.claws-mail/colorlabelrc
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.claws-mail/pagesetuprc b/.claws-mail/pagesetuprc
new file mode 100644
index 0000000..e9374d8
--- /dev/null
+++ b/.claws-mail/pagesetuprc
@@ -0,0 +1,10 @@
+[Page Setup]
+PPDName=A4
+DisplayName=A4
+Width=210
+Height=297
+MarginTop=6.3499999999999996
+MarginBottom=14.224
+MarginLeft=6.3499999999999996
+MarginRight=6.3499999999999996
+Orientation=portrait
diff --git a/.claws-mail/toolbar_compose.xml b/.claws-mail/toolbar_compose.xml
new file mode 100644
index 0000000..0dc3c87
--- /dev/null
+++ b/.claws-mail/toolbar_compose.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<toolbar>
+ <item file="mail_send" text="Send" action="A_SEND"/>
+ <item file="mail_send_queue" text="Send later" action="A_SEND_LATER"/>
+ <item file="mail_draft" text="Draft" action="A_DRAFT"/>
+ <separator/>
+ <item file="insert_file" text="Insert" action="A_INSERT"/>
+ <item file="mail_attach" text="Attach" action="A_ATTACH"/>
+ <separator/>
+ <item file="address_book" text="Address" action="A_ADDRBOOK"/>
+</toolbar>
diff --git a/.claws-mail/toolbar_main.xml b/.claws-mail/toolbar_main.xml
new file mode 100644
index 0000000..e67d25f
--- /dev/null
+++ b/.claws-mail/toolbar_main.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<toolbar>
+ <item file="mail_receive_all" text="Get Mail" action="A_RECEIVE_ALL"/>
+ <separator/>
+ <item file="mail_send_queue" text="Send" action="A_SEND_QUEUED"/>
+ <item file="mail_compose" text="Compose" action="A_COMPOSE_EMAIL"/>
+ <item file="notice_note" text="Proc" action="A_RUN_PROCESSING"/>
+ <separator/>
+ <item file="mail_reply" text="Reply" action="A_REPLY_MESSAGE"/>
+ <item file="mail_reply_to_all" text="All" action="A_REPLY_ALL"/>
+ <item file="mail_reply_to_author" text="Sender" action="A_REPLY_SENDER"/>
+ <item file="mail_forward" text="Forward" action="A_FORWARD"/>
+ <separator/>
+ <item file="trash_btn" text="Wastebin" action="A_TRASH"/>
+ <item file="spam_btn" text="Spam" action="A_LEARN_SPAM"/>
+ <separator/>
+ <item file="down_arrow" text="Next" action="A_GOTO_NEXT"/>
+</toolbar>
diff --git a/.claws-mail/toolbar_msgview.xml b/.claws-mail/toolbar_msgview.xml
new file mode 100644
index 0000000..ec913c8
--- /dev/null
+++ b/.claws-mail/toolbar_msgview.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<toolbar>
+ <item file="mail_reply" text="Reply" action="A_REPLY_MESSAGE"/>
+ <item file="mail_reply_to_all" text="All" action="A_REPLY_ALL"/>
+ <item file="mail_reply_to_author" text="Sender" action="A_REPLY_SENDER"/>
+ <item file="mail_forward" text="Forward" action="A_FORWARD"/>
+ <separator/>
+ <item file="trash_btn" text="Wastebin" action="A_TRASH"/>
+ <item file="spam_btn" text="Spam" action="A_LEARN_SPAM"/>
+ <item file="down_arrow" text="Next" action="A_GOTO_NEXT"/>
+</toolbar>
diff --git a/.config/PulseEffects/Bass & Vocal Clarity.json b/.config/PulseEffects/Bass & Vocal Clarity.json
new file mode 100644
index 0000000..70c7c08
--- /dev/null
+++ b/.config/PulseEffects/Bass & Vocal Clarity.json
@@ -0,0 +1,623 @@
+{
+ "spectrum": {
+ "show": "true",
+ "n-points": "100",
+ "height": "100",
+ "use-custom-color": "false",
+ "fill": "true",
+ "show-bar-border": "true",
+ "scale": "1",
+ "exponent": "1",
+ "sampling-freq": "10",
+ "line-width": "2",
+ "type": "Bars",
+ "color": [
+ "1",
+ "1",
+ "1",
+ "1"
+ ],
+ "gradient-color": [
+ "0",
+ "0",
+ "0",
+ "1"
+ ]
+ },
+ "output": {
+ "blacklist": "",
+ "plugins_order": [
+ "limiter",
+ "autogain",
+ "gate",
+ "multiband_gate",
+ "compressor",
+ "multiband_compressor",
+ "convolver",
+ "bass_enhancer",
+ "exciter",
+ "crystalizer",
+ "stereo_tools",
+ "reverb",
+ "equalizer",
+ "delay",
+ "deesser",
+ "crossfeed",
+ "loudness",
+ "maximizer",
+ "filter",
+ "pitch"
+ ],
+ "bass_enhancer": {
+ "state": "true",
+ "input-gain": "0",
+ "output-gain": "0",
+ "amount": "16",
+ "harmonics": "8.9999999999999982",
+ "scope": "112",
+ "floor": "30",
+ "blend": "-6",
+ "floor-active": "false",
+ "listen": "false"
+ },
+ "compressor": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "mode": "Downward",
+ "attack": "20",
+ "release": "100",
+ "threshold": "-12",
+ "ratio": "4",
+ "knee": "-6",
+ "makeup": "0",
+ "sidechain": {
+ "listen": "false",
+ "type": "Feed-forward",
+ "mode": "RMS",
+ "source": "Middle",
+ "preamp": "0",
+ "reactivity": "10",
+ "lookahead": "0"
+ }
+ },
+ "crossfeed": {
+ "state": "false",
+ "fcut": "700",
+ "feed": "4.5"
+ },
+ "deesser": {
+ "state": "false",
+ "detection": "RMS",
+ "mode": "Wide",
+ "threshold": "-18",
+ "ratio": "3",
+ "laxity": "15",
+ "makeup": "0",
+ "f1-freq": "6000",
+ "f2-freq": "4500",
+ "f1-level": "0",
+ "f2-level": "12",
+ "f2-q": "1",
+ "sc-listen": "false"
+ },
+ "equalizer": {
+ "state": "false",
+ "mode": "IIR",
+ "num-bands": "10",
+ "input-gain": "0",
+ "output-gain": "0",
+ "split-channels": "false",
+ "left": {
+ "band0": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "4",
+ "frequency": "32",
+ "q": "1.6076163800595922"
+ },
+ "band1": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "2",
+ "frequency": "64",
+ "q": "1.6114336125119133"
+ },
+ "band2": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "1",
+ "frequency": "125",
+ "q": "1.5774022547438429"
+ },
+ "band3": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "0",
+ "frequency": "250",
+ "q": "1.5811477447449769"
+ },
+ "band4": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "-1",
+ "frequency": "500",
+ "q": "1.5849021282894709"
+ },
+ "band5": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "-2",
+ "frequency": "1000",
+ "q": "1.588665426494752"
+ },
+ "band6": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "0",
+ "frequency": "2000",
+ "q": "1.5924376605283908"
+ },
+ "band7": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "2",
+ "frequency": "4000",
+ "q": "1.5962188516082185"
+ },
+ "band8": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "3",
+ "frequency": "8000",
+ "q": "1.6000090210024491"
+ },
+ "band9": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "3",
+ "frequency": "16000",
+ "q": "1.6038081900297951"
+ }
+ },
+ "right": {
+ "band0": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "4",
+ "frequency": "32",
+ "q": "1.6076163800595922"
+ },
+ "band1": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "2",
+ "frequency": "64",
+ "q": "1.6114336125119133"
+ },
+ "band2": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "1",
+ "frequency": "125",
+ "q": "1.5774022547438429"
+ },
+ "band3": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "0",
+ "frequency": "250",
+ "q": "1.5811477447449769"
+ },
+ "band4": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "-1",
+ "frequency": "500",
+ "q": "1.5849021282894709"
+ },
+ "band5": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "-2",
+ "frequency": "1000",
+ "q": "1.588665426494752"
+ },
+ "band6": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "0",
+ "frequency": "2000",
+ "q": "1.5924376605283908"
+ },
+ "band7": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "2",
+ "frequency": "4000",
+ "q": "1.5962188516082185"
+ },
+ "band8": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "3",
+ "frequency": "8000",
+ "q": "1.6000090210024491"
+ },
+ "band9": {
+ "type": "Bell",
+ "mode": "RLC (BT)",
+ "slope": "x1",
+ "solo": "false",
+ "mute": "false",
+ "gain": "3",
+ "frequency": "16000",
+ "q": "1.6038081900297951"
+ }
+ }
+ },
+ "exciter": {
+ "state": "true",
+ "input-gain": "0",
+ "output-gain": "0",
+ "amount": "1",
+ "harmonics": "8.0000000000000018",
+ "scope": "7500",
+ "ceil": "16000",
+ "blend": "-5",
+ "ceil-active": "false",
+ "listen": "false"
+ },
+ "filter": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "frequency": "193.821",
+ "resonance": "1.3795599999999999",
+ "mode": "12dB\/oct Lowpass",
+ "inertia": "74"
+ },
+ "gate": {
+ "state": "false",
+ "detection": "Peak",
+ "stereo-link": "Maximum",
+ "range": "-24",
+ "attack": "20",
+ "release": "250",
+ "threshold": "-18",
+ "ratio": "2",
+ "knee": "9",
+ "makeup": "0"
+ },
+ "limiter": {
+ "state": "false",
+ "input-gain": "-8",
+ "limit": "0",
+ "lookahead": "5",
+ "release": "50",
+ "asc": "false",
+ "asc-level": "0.5",
+ "oversampling": "1"
+ },
+ "maximizer": {
+ "state": "false",
+ "release": "25",
+ "ceiling": "0",
+ "threshold": "0"
+ },
+ "pitch": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "cents": "0",
+ "semitones": "0",
+ "octaves": "0",
+ "crispness": "3",
+ "formant-preserving": "false",
+ "faster": "true"
+ },
+ "reverb": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "room-size": "Large",
+ "decay-time": "1",
+ "hf-damp": "3396.4899999999998",
+ "diffusion": "0.5",
+ "amount": "-11.378935813903809",
+ "dry": "0",
+ "predelay": "0",
+ "bass-cut": "300",
+ "treble-cut": "5000"
+ },
+ "multiband_compressor": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "freq0": "120",
+ "freq1": "1000",
+ "freq2": "6000",
+ "mode": "LR8",
+ "subband": {
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "lowband": {
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "Peak",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "midband": {
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "highband": {
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ }
+ },
+ "loudness": {
+ "state": "false",
+ "loudness": "-3.1000000000000001",
+ "output": "-6",
+ "link": "-9.0999999999999996"
+ },
+ "multiband_gate": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "freq0": "120",
+ "freq1": "1000",
+ "freq2": "6000",
+ "mode": "LR4",
+ "subband": {
+ "reduction": "-24",
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "lowband": {
+ "reduction": "-24",
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "midband": {
+ "reduction": "-24",
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "RMS",
+ "bypass": "false",
+ "solo": "false"
+ },
+ "highband": {
+ "reduction": "-24",
+ "threshold": "-12",
+ "ratio": "2",
+ "attack": "150",
+ "release": "300",
+ "makeup": "0",
+ "knee": "9",
+ "detection": "Peak",
+ "bypass": "false",
+ "solo": "false"
+ }
+ },
+ "stereo_tools": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "balance-in": "0",
+ "balance-out": "0",
+ "softclip": "false",
+ "mutel": "false",
+ "muter": "false",
+ "phasel": "false",
+ "phaser": "false",
+ "mode": "LR > LR (Stereo Default)",
+ "side-level": "0",
+ "side-balance": "0",
+ "middle-level": "0",
+ "middle-panorama": "0",
+ "stereo-base": "0",
+ "delay": "0",
+ "sc-level": "1",
+ "stereo-phase": "0"
+ },
+ "convolver": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "kernel-path": "",
+ "ir-width": "100"
+ },
+ "crystalizer": {
+ "state": "true",
+ "aggressive": "false",
+ "input-gain": "-5",
+ "output-gain": "0",
+ "band0": {
+ "intensity": "12",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band1": {
+ "intensity": "10",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band2": {
+ "intensity": "8",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band3": {
+ "intensity": "6",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band4": {
+ "intensity": "4",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band5": {
+ "intensity": "2",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band6": {
+ "intensity": "1",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band7": {
+ "intensity": "-2",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band8": {
+ "intensity": "-4",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band9": {
+ "intensity": "-6",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band10": {
+ "intensity": "-8",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band11": {
+ "intensity": "-10",
+ "mute": "false",
+ "bypass": "false"
+ },
+ "band12": {
+ "intensity": "-12",
+ "mute": "false",
+ "bypass": "false"
+ }
+ },
+ "autogain": {
+ "state": "true",
+ "detect-silence": "true",
+ "input-gain": "0",
+ "output-gain": "0",
+ "target": "-23",
+ "weight-m": "1",
+ "weight-s": "1",
+ "weight-i": "1"
+ },
+ "delay": {
+ "state": "false",
+ "input-gain": "0",
+ "output-gain": "0",
+ "time-l": "0.070000000000000007",
+ "time-r": "0"
+ }
+ }
+}
diff --git a/.config/copyq/copyq.conf b/.config/copyq/copyq.conf
new file mode 100644
index 0000000..01b10ce
--- /dev/null
+++ b/.config/copyq/copyq.conf
@@ -0,0 +1,246 @@
+[General]
+plugin_priority=itemimage, itemencrypted, itemfakevim, itemnotes, itempinned, itemsync, itemtags, itemtext
+
+[Commands]
+1\Command=copyq: plugins.itempinned.pin()
+1\Icon=
+1\InMenu=true
+1\Input=!OUTPUT
+1\Name=Pin
+1\Output=application/x-copyq-item-pinned
+2\Command=copyq: plugins.itempinned.unpin()
+2\Icon=
+2\InMenu=true
+2\Input=application/x-copyq-item-pinned
+2\Name=Unpin
+3\Command=copyq: plugins.itemtags.tag(decodeURIComponent('Important'))
+3\Icon=
+3\InMenu=true
+3\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) && fail()
+3\Name=Tag as “Important”
+4\Command=copyq: plugins.itemtags.untag(decodeURIComponent('Important'))
+4\Icon=
+4\InMenu=true
+4\MatchCommand=copyq: plugins.itemtags.hasTag(decodeURIComponent('Important')) || fail()
+4\Name=Remove tag “Important”
+5\Command=copyq: plugins.itemtags.tag()
+5\Icon=
+5\InMenu=true
+5\Name=Add a Tag
+6\Command=copyq: plugins.itemtags.untag()
+6\Icon=
+6\InMenu=true
+6\Input=application/x-copyq-tags
+6\Name=Remove a Tag
+7\Command=copyq: plugins.itemtags.clearTags()
+7\Icon=
+7\InMenu=true
+7\Input=application/x-copyq-tags
+7\Name=Clear all tags
+size=7
+
+[Options]
+action_has_input=false
+action_has_output=false
+action_output_tab=
+action_separator=\\n
+activate_closes=true
+activate_focuses=false
+activate_item_with_single_click=false
+activate_pastes=false
+always_on_top=true
+autocompletion=true
+autostart=false
+check_clipboard=true
+check_selection=false
+clipboard_notification_lines=0
+clipboard_tab=&clipboard
+close_on_unfocus=true
+command_history_size=100
+confirm_exit=true
+copy_clipboard=false
+copy_selection=false
+disable_tray=false
+edit_ctrl_return=true
+editor=vim %1
+expire_tab=0
+filter_case_insensitive=true
+filter_regular_expression=true
+hide_main_window=true
+hide_main_window_in_task_bar=false
+hide_tabs=true
+hide_toolbar=true
+hide_toolbar_labels=true
+item_popup_interval=0
+language=en
+max_process_manager_rows=1000
+maxitems=1024
+move=true
+native_menu_bar=true
+native_notifications=true
+notification_horizontal_offset=10
+notification_maximum_height=100
+notification_maximum_width=300
+notification_position=3
+notification_vertical_offset=10
+number_search=false
+open_windows_on_current_screen=true
+row_index_from_one=true
+run_selection=true
+save_delay_ms_on_item_added=300000
+save_delay_ms_on_item_edited=1000
+save_delay_ms_on_item_modified=300000
+save_delay_ms_on_item_moved=1800000
+save_delay_ms_on_item_removed=600000
+save_filter_history=false
+save_on_app_deactivated=true
+script_paste_delay_ms=250
+show_advanced_command_settings=false
+show_simple_items=false
+show_tab_item_count=false
+style=
+tab_tree=false
+tabs=&clipboard
+text_tab_width=8
+text_wrap=true
+transparency=0
+transparency_focused=0
+tray_commands=false
+tray_images=true
+tray_item_paste=false
+tray_items=21
+tray_menu_open_on_left_click=false
+tray_tab=
+tray_tab_is_current=false
+vi=false
+window_key_press_time_ms=50
+window_paste_with_ctrl_v_regex=
+window_wait_after_raised_ms=50
+window_wait_before_raise_ms=20
+window_wait_for_modifier_released_ms=2000
+window_wait_raised_ms=150
+
+[Plugins]
+itemencrypted\enabled=true
+itemfakevim\enabled=true
+itemfakevim\really_enable=false
+itemfakevim\source_file=
+itemimage\enabled=true
+itemimage\image_editor=gimp
+itemimage\max_image_height=240
+itemimage\max_image_width=320
+itemimage\svg_editor=inkscape
+itemnotes\enabled=true
+itempinned\enabled=true
+itemsync\enabled=true
+itemtags\enabled=true
+itemtext\enabled=true
+itemtext\max_height=0
+itemtext\max_lines=0
+itemtext\use_rich_text=false
+itemweb\enabled=true
+
+[Shortcuts]
+about=shift+f1
+change_tab_icon=ctrl+shift+t
+commands=f6
+copy_selected_items=ctrl+c
+delete_item=del
+edit=f2
+edit_notes=shift+f2
+editor=ctrl+e
+exit=ctrl+q
+export=ctrl+s
+find_items=f3
+help=f1
+import=ctrl+i
+item-menu=shift+f10
+move_down=ctrl+down
+move_to_bottom=ctrl+end
+move_to_clipboard=
+move_to_top=ctrl+home
+move_up=ctrl+up
+new=ctrl+n
+new_tab=ctrl+t
+next_tab=right
+paste_selected_items=ctrl+v
+preferences=ctrl+p
+previous_tab=left
+process_manager=ctrl+shift+z
+remove_tab=ctrl+w
+rename_tab=ctrl+f2
+reverse_selected_items=ctrl+shift+r
+show-log=f12
+show_clipboard_content=ctrl+shift+c
+show_item_content=f4
+show_item_preview=f7
+sort_selected_items=ctrl+shift+s
+system-run=f5
+toggle_clipboard_storing=ctrl+shift+x
+
+[Tabs]
+1\icon=
+1\max_item_count=0
+1\name=&clipboard
+1\store_items=true
+size=1
+
+[Theme]
+alt_bg=#383838
+alt_item_css=
+bg=#4b4b4b
+css=
+css_template_items=items
+css_template_main_window=main_window
+css_template_notification=notification
+css_template_tooltip=tooltip
+cur_item_css="\n ;border: 0.1em solid ${sel_bg}"
+edit_bg=#ffffff
+edit_fg=#1a1a1a
+edit_font="Ubuntu Condensed,11,-1,5,50,0,0,0,0,0"
+fg=#dfdfdf
+find_bg=#00689c
+find_fg=#ffffff
+find_font="Ubuntu Condensed,10,-1,5,50,0,0,0,0,0"
+font="Ubuntu Condensed,10,-1,5,50,0,0,0,0,0"
+font_antialiasing=true
+hover_item_css=
+icon_size=16
+item_css=
+item_spacing=
+menu_bar_css="\n ;background: ${bg}\n ;color: ${fg}"
+menu_bar_disabled_css="\n ;color: ${bg - #666}"
+menu_bar_selected_css="\n ;background: ${sel_bg}\n ;color: ${sel_fg}"
+menu_css="\n ;border: 1px solid ${sel_bg}\n ;background: ${bg}\n ;color: ${fg}"
+notes_bg=#ffffff
+notes_css=
+notes_fg=#232323
+notes_font="Ubuntu Condensed,11,-1,5,50,0,0,0,0,0"
+notification_bg=#333
+notification_fg=#ddd
+notification_font=
+num_fg=#7f7f7f
+num_font="Ubuntu,7,-1,5,25,0,0,0,0,0"
+search_bar="\n ;background: ${edit_bg}\n ;color: ${edit_fg}\n ;border: 1px solid ${alt_bg}\n ;margin: 2px"
+search_bar_focused="\n ;border: 1px solid ${sel_bg}"
+sel_bg=#61819c
+sel_fg=#ffffff
+sel_item_css=
+show_number=true
+show_scrollbars=true
+style_main_window=false
+tab_bar_css="\n ;background: ${bg - #222}"
+tab_bar_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
+tab_bar_scroll_buttons_css="\n ;background: ${bg - #222}\n ;color: ${fg}\n ;border: 0"
+tab_bar_sel_item_counter="\n ;color: ${sel_bg - #044 + #400}"
+tab_bar_tab_selected_css="\n ;padding: 0.5em\n ;background: ${bg}\n ;border: 0.05em solid ${bg}\n ;color: ${fg}"
+tab_bar_tab_unselected_css="\n ;border: 0.05em solid ${bg}\n ;padding: 0.5em\n ;background: ${bg - #222}\n ;color: ${fg - #333}"
+tab_tree_css="\n ;color: ${fg}\n ;background-color: ${bg}"
+tab_tree_item_counter="\n ;color: ${fg - #044 + #400}\n ;font-size: 6pt"
+tab_tree_sel_item_counter="\n ;color: ${sel_fg - #044 + #400}"
+tab_tree_sel_item_css="\n ;color: ${sel_fg}\n ;background-color: ${sel_bg}\n ;border-radius: 2px"
+tool_bar_css="\n ;color: ${fg}\n ;background-color: ${bg}\n ;border: 0"
+tool_button_css="\n ;color: ${fg}\n ;background: ${bg}\n ;border: 0\n ;border-radius: 2px"
+tool_button_pressed_css="\n ;background: ${sel_bg}"
+tool_button_selected_css="\n ;background: ${sel_bg - #222}\n ;color: ${sel_fg}\n ;border: 1px solid ${sel_bg}"
+use_system_icons=false
diff --git a/.config/devilspie2/devilspie2.lua b/.config/devilspie2/devilspie2.lua
new file mode 100644
index 0000000..8babe1d
--- /dev/null
+++ b/.config/devilspie2/devilspie2.lua
@@ -0,0 +1 @@
+os.execute( "/home/kamen/.config/devilspie2/set-xdg-icon.sh "..get_window_xid())
diff --git a/.config/devilspie2/set-xdg-icon.sh b/.config/devilspie2/set-xdg-icon.sh
new file mode 100755
index 0000000..704d64b
--- /dev/null
+++ b/.config/devilspie2/set-xdg-icon.sh
@@ -0,0 +1,92 @@
+#!/bin/bash
+# SOURCE: https://gist.github.com/SamAdamDay/54bc739131cc98f8d226
+# Requirements: xseticon, pyxdg, xprop
+
+# The application files to search through
+SEARCH_FILES="$HOME/.local/share/applications/*.desktop /usr/share/applications/*.desktop /usr/local/share/applications/*.desktop"
+
+# The name of this script
+ME=`basename $0`
+
+# Print help message and exit
+help()
+{
+ echo "usage: $ME xid"
+ echo "Assigns an XDG icon (specified by the current theme) to the window given by xid"
+ echo
+ exit 0
+}
+
+# Check for options
+while getopts h OPT; do
+ case "${OPT}" in
+ h) help ;;
+ esac
+done
+shift $(($OPTIND-1))
+
+# If no id is given, then print usage
+if [ "$#" == "0" ]; then help; fi
+
+# Determine the xid
+xid=$1
+
+# Determine the WM_CLASS of the window, if possible
+result=`xprop -id "$xid" WM_CLASS`
+
+# If the xprop returned a nonzero exit status, then we need to exit too
+if [ "$?" != "0" ]; then
+ echo "E: Could not get WM_CLASS for the window with xid $xid. Either it doesn't exist, or it doesn't have WM_CLASS set."
+ exit 1
+fi
+
+# Extract the first WM_CLASS
+class=`echo "$result" | sed 's/^WM_CLASS(STRING) = "\([a-zA-Z0-9_-]\+\)".*$/\1/'`
+
+# Find a .desktop file with StartupWMClass=$class, if one exists
+file=`grep --files-with-matches --no-messages "StartupWMClass[[:space:]]*=[[:space:]]*$class" $SEARCH_FILES`
+
+# If too many files (ie more than one) were found, then exit
+if [[ "$file" == *\n*\n ]]; then
+ echo "E: More than one matching .desktop file for the window with xid $xid (WM_CLASS: '$class')"
+ exit 1
+fi
+
+# If we couldn't find a file, then exit
+if [ ! -e "$file" ]; then
+ echo "E: Could not find a matching .desktop file for the window with xid $xid (WM_CLASS: '$class')"
+ exit 1
+fi
+
+# Extract the icon name from the .desktop file
+icon=`grep '^Icon[[:space:]]*=.*$' "$file" | sed 's@^Icon *= *\([a-zA-Z0-9./_ (),-]\+\)$@\1@'`
+
+# If $icon is a PNG that exists then use that, otherwise determine the icon file from the theme
+if [ -e $icon ] && [ "${icon##*.}" == "png" ]; then
+
+ iconfile=$icon
+
+else
+
+ # Determine the current icon theme
+ theme=`gsettings get org.gnome.desktop.interface icon-theme` # Has quotes
+
+ # Determine the icon file using the XDG Icon File Specification (http://standards.freedesktop.org/icon-theme-spec)
+ # Try various sizes, preferring the larger ones
+ for i in 256 128 64 32; do
+ iconfile=`python -c "from xdg import IconTheme; print(IconTheme.getIconPath('$icon',$i,$theme,['png']))"`
+ if [ -e "$iconfile" ]; then break; fi
+ done
+
+ # If this has failed, then $icon probably doesn't have an icon file
+ if [ ! -e $iconfile ]; then
+ echo "E: Could not find icon file for icon name '$icon'. Window xid: $xid, WM_CLASS: '$class'"
+ exit 1
+ fi
+
+fi
+
+# Finally, set the the window icon to $iconfile
+xseticon -id "$xid" "$iconfile"
+
+exit 0
diff --git a/.config/dunst/dunstrc b/.config/dunst/dunstrc
new file mode 100644
index 0000000..d10c054
--- /dev/null
+++ b/.config/dunst/dunstrc
@@ -0,0 +1,459 @@
+[global]
+ ### Display ###
+
+ # Which monitor should the notifications be displayed on.
+ monitor = 0
+
+ # Display notification on focused monitor. Possible modes are:
+ # mouse: follow mouse pointer
+ # keyboard: follow window with keyboard focus
+ # none: don't follow anything
+ #
+ # "keyboard" needs a window manager that exports the
+ # _NET_ACTIVE_WINDOW property.
+ # This should be the case for almost all modern window managers.
+ #
+ # If this option is set to mouse or keyboard, the monitor option
+ # will be ignored.
+ follow = mouse
+
+ # The geometry of the window:
+ width = 400
+ origin = bottom-right
+ offset = 30x20
+
+ # Turn on the progess bar
+ progress_bar = true
+
+ # Set the progress bar height. This includes the frame, so make sure
+ # it's at least twice as big as the frame width.
+ progress_bar_height = 10
+
+ # Set the frame width of the progress bar
+ progress_bar_frame_width = 1
+
+ # Set the minimum width for the progress bar
+ progress_bar_min_width = 150
+
+ # Set the maximum width for the progress bar
+ progress_bar_max_width = 400
+
+
+ # Show how many messages are currently hidden (because of geometry).
+ indicate_hidden = yes
+
+ # Shrink window if it's smaller than the width. Will be ignored if
+ # width is 0.
+ shrink = no
+
+ # The transparency of the window. Range: [0; 100].
+ # This option will only work if a compositing window manager is
+ # present (e.g. xcompmgr, compiz, etc.).
+ transparency = 5
+
+ # The height of the entire notification. If the height is smaller
+ # than the font height and padding combined, it will be raised
+ # to the font height and padding.
+ notification_height = 0
+
+ # Draw a line of "separator_height" pixel height between two
+ # notifications.
+ # Set to 0 to disable.
+ separator_height = 7
+
+ # Padding between text and separator.
+ padding = 8
+
+ # Horizontal padding.
+ horizontal_padding = 8
+
+ # Padding between text and icon.
+ text_icon_padding = 0
+
+ # Defines width in pixels of frame around the notification window.
+ # Set to 0 to disable.
+ frame_width = 0
+
+ # Defines color of the frame around the notification window.
+ frame_color = "#868686"
+
+ # Define a color for the separator.
+ # possible values are:
+ # * auto: dunst tries to find a color fitting to the background;
+ # * foreground: use the same color as the foreground;
+ # * frame: use the same color as the frame;
+ # * anything else will be interpreted as a X color.
+ separator_color = "#00000000"
+
+ # Sort messages by urgency.
+ sort = no
+
+ # Don't remove messages, if the user is idle (no mouse or keyboard input)
+ # for longer than idle_threshold seconds.
+ # Set to 0 to disable.
+ # A client can set the 'transient' hint to bypass this. See the rules
+ # section for how to disable this if necessary
+ idle_threshold = 120
+
+ # Sort messages by urgency.
+ sort = no
+
+ ### Text ###
+
+ font = Noto Sans 11
+
+ # The spacing between lines. If the height is smaller than the
+ # font height, it will get raised to the font height.
+ line_height = 0
+
+ # Possible values are:
+ # full: Allow a small subset of html markup in notifications:
+ # <b>bold</b>
+ # <i>italic</i>
+ # <s>strikethrough</s>
+ # <u>underline</u>
+ #
+ # For a complete reference see
+ # <https://developer.gnome.org/pango/stable/pango-Markup.html>.
+ #
+ # strip: This setting is provided for compatibility with some broken
+ # clients that send markup even though it's not enabled on the
+ # server. Dunst will try to strip the markup but the parsing is
+ # simplistic so using this option outside of matching rules for
+ # specific applications *IS GREATLY DISCOURAGED*.
+ #
+ # no: Disable markup parsing, incoming notifications will be treated as
+ # plain text. Dunst will not advertise that it has the body-markup
+ # capability if this is set as a global setting.
+ #
+ # It's important to note that markup inside the format option will be parsed
+ # regardless of what this is set to.
+ markup = full
+
+ # The format of the message. Possible variables are:
+ # %a appname
+ # %s summary
+ # %b body
+ # %i iconname (including its path)
+ # %I iconname (without its path)
+ # %p progress value if set ([ 0%] to [100%]) or nothing
+ # %n progress value if set without any extra characters
+ # %% Literal %
+ # Markup is allowed
+ format = "<b>%s</b>\n%b"
+
+ # Alignment of message text.
+ # Possible values are "left", "center" and "right".
+ alignment = left
+
+ # Vertical alignment of message text and icon.
+ # Possible values are "top", "center" and "bottom".
+ vertical_alignment = center
+
+ # Show age of message if message is older than show_age_threshold
+ # seconds.
+ # Set to -1 to disable.
+ show_age_threshold = 60
+
+ # Split notifications into multiple lines if they don't fit into
+ # geometry.
+ word_wrap = yes
+
+ # When word_wrap is set to no, specify where to make an ellipsis in long lines.
+ # Possible values are "start", "middle" and "end".
+ ellipsize = middle
+
+ # Ignore newlines '\n' in notifications.
+ ignore_newline = no
+
+ # Stack together notifications with the same content
+ stack_duplicates = true
+
+ # Hide the count of stacked notifications with the same content
+ hide_duplicate_count = false
+
+ # Display indicators for URLs (U) and actions (A).
+ show_indicators = yes
+
+ ### Icons ###
+
+ # Align icons left/right/off
+ icon_position = right
+
+ # Scale small icons up to this size, set to 0 to disable. Helpful
+ # for e.g. small files or high-dpi screens. In case of conflict,
+ # max_icon_size takes precedence over this.
+ min_icon_size = 0
+
+ # Scale larger icons down to this size, set to 0 to disable
+ max_icon_size = 32
+
+ # Paths to default icons.
+ icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
+
+ ### History ###
+
+ # Should a notification popped up from history be sticky or timeout
+ # as if it would normally do.
+ sticky_history = yes
+
+ # Maximum amount of notifications kept in history
+ history_length = 20
+
+ ### Misc/Advanced ###
+
+ # dmenu path.
+ dmenu = /usr/bin/dmenu -p dunst:
+
+ # Browser for opening urls in context menu.
+ browser = /usr/bin/firefox -new-tab
+
+ # Always run rule-defined scripts, even if the notification is suppressed
+ always_run_script = true
+
+ # Define the title of the windows spawned by dunst
+ title = Dunst
+
+ # Define the class of the windows spawned by dunst
+ class = Dunst
+
+ # Print a notification on startup.
+ # This is mainly for error detection, since dbus (re-)starts dunst
+ # automatically after a crash.
+ startup_notification = false
+
+ # Manage dunst's desire for talking
+ # Can be one of the following values:
+ # crit: Critical features. Dunst aborts
+ # warn: Only non-fatal warnings
+ # mesg: Important Messages
+ # info: all unimportant stuff
+ # debug: all less than unimportant stuff
+ verbosity = mesg
+
+ # Define the corner radius of the notification window
+ # in pixel size. If the radius is 0, you have no rounded
+ # corners.
+ # The radius will be automatically lowered if it exceeds half of the
+ # notification height to avoid clipping text and/or icons.
+ corner_radius = 0
+
+ # Ignore the dbus closeNotification message.
+ # Useful to enforce the timeout set by dunst configuration. Without this
+ # parameter, an application may close the notification sent before the
+ # user defined timeout.
+ ignore_dbusclose = false
+
+ ### Wayland ###
+ # These settings are Wayland-specific. They have no effect when using X11
+
+ # Uncomment this if you want to let notications appear under fullscreen
+ # applications (default: overlay)
+ # layer = top
+
+ # Set this to true to use X11 output on Wayland.
+ force_xwayland = false
+
+ ### Legacy
+
+ # Use the Xinerama extension instead of RandR for multi-monitor support.
+ # This setting is provided for compatibility with older nVidia drivers that
+ # do not support RandR and using it on systems that support RandR is highly
+ # discouraged.
+ #
+ # By enabling this setting dunst will not be able to detect when a monitor
+ # is connected or disconnected which might break follow mode if the screen
+ # layout changes.
+ force_xinerama = false
+
+ ### mouse
+
+ # Defines list of actions for each mouse event
+ # Possible values are:
+ # * none: Don't do anything.
+ # * do_action: If the notification has exactly one action, or one is marked as default,
+ # invoke it. If there are multiple and no default, open the context menu.
+ # * close_current: Close current notification.
+ # * close_all: Close all notifications.
+ # These values can be strung together for each mouse event, and
+ # will be executed in sequence.
+ mouse_left_click = do_action
+ mouse_middle_click = close_all
+ mouse_right_click = close_current
+
+# Experimental features that may or may not work correctly. Do not expect them
+# to have a consistent behaviour across releases.
+[experimental]
+ # Calculate the dpi to use on a per-monitor basis.
+ # If this setting is enabled the Xft.dpi value will be ignored and instead
+ # dunst will attempt to calculate an appropriate dpi value for each monitor
+ # using the resolution and physical size. This might be useful in setups
+ # where there are multiple screens with very different dpi values.
+ per_monitor_dpi = false
+
+# The internal keyboard shortcut support in dunst is now considered deprecated
+# and should be replaced by dunstctl calls. You can use the configuration of your
+# WM or DE to bind these to shortcuts of your choice.
+# Check the dunstctl manual page for more info.
+[shortcuts]
+
+ # Shortcuts are specified as [modifier+][modifier+]...key
+ # Available modifiers are "ctrl", "mod1" (the alt-key), "mod2",
+ # "mod3" and "mod4" (windows-key).
+ # Xev might be helpful to find names for keys.
+
+ # Close notification. Equivalent dunstctl command:
+ # dunstctl close
+ # close = ctrl+space
+
+ # Close all notifications. Equivalent dunstctl command:
+ # dunstctl close-all
+ # close_all = ctrl+shift+space
+
+ # Redisplay last message(s). Equivalent dunstctl command:
+ # dunstctl history-pop
+ # history = ctrl+grave
+
+ # Context menu. Equivalent dunstctl command:
+ # dunstctl context
+ # context = ctrl+shift+period
+
+[urgency_low]
+ # IMPORTANT: colors have to be defined in quotation marks.
+ # Otherwise the "#" and following would be interpreted as a comment.
+ background = "#3d3d3d"
+ foreground = "#888888"
+ timeout = 10
+ # Icon for notifications with low urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_normal]
+ background = "#3d3d3d"
+ foreground = "#ffffff"
+ timeout = 10
+ # Icon for notifications with normal urgency, uncomment to enable
+ #icon = /path/to/icon
+
+[urgency_critical]
+ background = "#c35b5b"
+ foreground = "#ffffff"
+ timeout = 120
+ # Icon for notifications with critical urgency, uncomment to enable
+ #icon = /path/to/icon
+
+# Every section that isn't one of the above is interpreted as a rules to
+# override settings for certain messages.
+#
+# Messages can be matched by
+# appname (discouraged, see desktop_entry)
+# body
+# category
+# desktop_entry
+# icon
+# match_transient
+# msg_urgency
+# stack_tag
+# summary
+#
+# and you can override the
+# background
+# foreground
+# format
+# frame_color
+# fullscreen
+# new_icon
+# set_stack_tag
+# set_transient
+# timeout
+# urgency
+#
+# Shell-like globbing will get expanded.
+#
+# Instead of the appname filter, it's recommended to use the desktop_entry filter.
+# GLib based applications export their desktop-entry name. In comparison to the appname,
+# the desktop-entry won't get localized.
+#
+# SCRIPTING
+# You can specify a script that gets run when the rule matches by
+# setting the "script" option.
+# The script will be called as follows:
+# script appname summary body icon urgency
+# where urgency can be "LOW", "NORMAL" or "CRITICAL".
+#
+# NOTE: if you don't want a notification to be displayed, set the format
+# to "".
+# NOTE: It might be helpful to run dunst -print in a terminal in order
+# to find fitting options for rules.
+
+# Disable the transient hint so that idle_threshold cannot be bypassed from the
+# client
+#[transient_disable]
+# match_transient = yes
+# set_transient = no
+#
+# Make the handling of transient notifications more strict by making them not
+# be placed in history.
+#[transient_history_ignore]
+# match_transient = yes
+# history_ignore = yes
+
+# fullscreen values
+# show: show the notifications, regardless if there is a fullscreen window opened
+# delay: displays the new notification, if there is no fullscreen window active
+# If the notification is already drawn, it won't get undrawn.
+# pushback: same as delay, but when switching into fullscreen, the notification will get
+# withdrawn from screen again and will get delayed like a new notification
+#[fullscreen_delay_everything]
+# fullscreen = delay
+#[fullscreen_show_critical]
+# msg_urgency = critical
+# fullscreen = show
+
+#[espeak]
+# summary = "*"
+# script = dunst_espeak.sh
+
+#[script-test]
+# summary = "*script*"
+# script = dunst_test.sh
+
+#[ignore]
+# # This notification will not be displayed
+# summary = "foobar"
+# format = ""
+
+#[history-ignore]
+# # This notification will not be saved in history
+# summary = "foobar"
+# history_ignore = yes
+
+#[skip-display]
+# # This notification will not be displayed, but will be included in the history
+# summary = "foobar"
+# skip_display = yes
+
+#[signed_on]
+# appname = Pidgin
+# summary = "*signed on*"
+# urgency = low
+#
+#[signed_off]
+# appname = Pidgin
+# summary = *signed off*
+# urgency = low
+#
+#[says]
+# appname = Pidgin
+# summary = *says*
+# urgency = critical
+#
+#[twitter]
+# appname = Pidgin
+# summary = *twitter.com*
+# urgency = normal
+#
+#[stack-volumes]
+# appname = "some_volume_notifiers"
+# set_stack_tag = "volume"
+#
+# vim: ft=cfg
diff --git a/.config/flameshot/flameshot.ini b/.config/flameshot/flameshot.ini
new file mode 100644
index 0000000..2c6fc1a
--- /dev/null
+++ b/.config/flameshot/flameshot.ini
@@ -0,0 +1,42 @@
+[General]
+buttons=@Invalid()
+contrastOpacity=76
+disabledTrayIcon=false
+drawColor=#000000
+drawFontSize=1
+drawThickness=50
+filenamePattern=%H-%M_%d-%m-%Y
+ignoreUpdateToVersion=12.0.0
+predefinedColorPaletteLarge=true
+savePathFixed=false
+showDesktopNotification=false
+showHelp=false
+showMagnifier=true
+showSidePanelButton=false
+showStartupLaunchMessage=true
+startupLaunch=true
+
+[Shortcuts]
+TYPE_ARROW=A
+TYPE_COMMIT_CURRENT_TOOL=Ctrl+Return
+TYPE_COPY=Ctrl+C
+TYPE_DELETE_CURRENT_TOOL=Del
+TYPE_DRAWER=D
+TYPE_EXIT=Ctrl+Q
+TYPE_MARKER=M
+TYPE_MOVESELECTION=Ctrl+M
+TYPE_MOVE_DOWN=Down
+TYPE_MOVE_LEFT=Left
+TYPE_MOVE_RIGHT=Right
+TYPE_MOVE_UP=Up
+TYPE_PENCIL=P
+TYPE_RESIZE_DOWN=Shift+Down
+TYPE_RESIZE_LEFT=Shift+Left
+TYPE_RESIZE_RIGHT=Shift+Right
+TYPE_RESIZE_UP=Shift+Up
+TYPE_SAVE=Ctrl+S
+TYPE_SELECTION=S
+TYPE_SELECTIONINDICATOR=
+TYPE_SELECT_ALL=Ctrl+A
+TYPE_TEXT=T
+TYPE_TOGGLE_PANEL=Space
diff --git a/.config/gtk-3.0/gtk.css b/.config/gtk-3.0/gtk.css
new file mode 100644
index 0000000..7a0ec72
--- /dev/null
+++ b/.config/gtk-3.0/gtk.css
@@ -0,0 +1,3 @@
+separator {
+ background-color: #313131;
+}
diff --git a/.config/gtk-3.0/settings.ini b/.config/gtk-3.0/settings.ini
new file mode 100644
index 0000000..b65c536
--- /dev/null
+++ b/.config/gtk-3.0/settings.ini
@@ -0,0 +1,16 @@
+[Settings]
+gtk-theme-name=Mint-Y-Dark-Blue
+gtk-icon-theme-name=Mint-Y-Dark-Blue
+gtk-font-name=Noto Sans 10
+gtk-cursor-theme-name=oreo_black_bordered_cursors
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle=hintmedium
+gtk-xft-rgba=none
diff --git a/.config/jgmenu/append.csv b/.config/jgmenu/append.csv
new file mode 100644
index 0000000..2bbcf64
--- /dev/null
+++ b/.config/jgmenu/append.csv
@@ -0,0 +1,7 @@
+^sep()
+Log Out,~/.a/sys/on-wm-logout.sh && loginctl terminate-user $USER,system-log-out
+Lock Now,~/.a/sys/lock.sh now,system-lock-screen
+^sep()
+Suspend,systemctl suspend,system-suspend
+Reboot,~/.a/sys/on-wm-logout.sh && systemctl reboot,system-reboot
+Shutdown,~/.a/sys/on-wm-logout.sh && systemctl poweroff,system-shutdown
diff --git a/.config/jgmenu/jgmenurc b/.config/jgmenu/jgmenurc
new file mode 100644
index 0000000..bca16d9
--- /dev/null
+++ b/.config/jgmenu/jgmenurc
@@ -0,0 +1,4 @@
+tint2_look = 1
+menu_padding_top = 25
+position_mode = pointer
+item_height = 28
diff --git a/.config/jgmenu/jgmenusimplerc b/.config/jgmenu/jgmenusimplerc
new file mode 100644
index 0000000..bb97010
--- /dev/null
+++ b/.config/jgmenu/jgmenusimplerc
@@ -0,0 +1,18 @@
+menu_width = 1
+arrow_width = 1
+icon_size = 0
+
+menu_radius = 0
+item_radius = 0
+
+# Plan 9 scheme
+#menu_border = 5
+#menu_padding_top = 0
+#menu_padding_right = 0
+#menu_padding_bottom = 0
+#menu_padding_left = 0
+#color_menu_bg = #eaffea 100
+#color_menu_border = #88cc88 100
+#color_norm_fg = #000000 100
+#color_sel_bg = #448844 100
+#color_sel_fg = #000000 100
diff --git a/.config/jgmenu/prepend.csv b/.config/jgmenu/prepend.csv
new file mode 100644
index 0000000..c4a55b7
--- /dev/null
+++ b/.config/jgmenu/prepend.csv
@@ -0,0 +1,2 @@
+@search,,10,8,182,20,0,left,top,auto,#000000 0,Type to Search
+^sep()
diff --git a/.config/joplin-desktop/userchrome.css b/.config/joplin-desktop/userchrome.css
new file mode 100644
index 0000000..29ce612
--- /dev/null
+++ b/.config/joplin-desktop/userchrome.css
@@ -0,0 +1,30 @@
+/* For styling the entire Joplin app (except the rendered Markdown, which is defined in `userstyle.css`) */
+
+/* CSS for the Dark theme to make the CodeMirror editor mimic the scheme of the old ACE editor */
+
+span.cm-header {
+ color: #CF6A4C;
+ font-size: inherit !important;
+ }
+
+span.cm-link-text, span.cm-strong, span.cm-em {
+ color: #8F9D6A !important;
+ font-style: normal;
+ font-weight: normal;
+ }
+
+span.cm-variable-2, span.cm-hr {
+ color: #F9EE98 !important;
+ }
+
+span.cm-meta, span.cm-property {
+ color: #7587A6 !important;
+ }
+
+ span.cm-string.cm-url {
+ color: #DDDDDD !important;
+ }
+
+span.cm-comment {
+ color: #DAD085 !important;
+ }
diff --git a/.config/joplin-desktop/userstyle.css b/.config/joplin-desktop/userstyle.css
new file mode 100644
index 0000000..5f02386
--- /dev/null
+++ b/.config/joplin-desktop/userstyle.css
@@ -0,0 +1,302 @@
+/* For styling the rendered Markdown */
+
+:root {
+ --fg-color: #ffeede;
+ --bg-color: #262626;
+ --fg-selection-color: #001121;
+ --bg-selection-color: #81949f;
+ --border-color: #777;
+ --blockquote-color: #919191;
+ --blockquote-border-color: #919191;
+ --header-color: #d49408;
+ --accent-line-color: #d47408;
+ --strong-color: #c35b5b;
+ --a-color: #cd81a7;
+ --a-hover-color: #eeaacd;
+ --code-bg-color: #414141;
+ --pre-bg-color: #414141;
+ --em-color: #e17b08;
+ --table-border-color: #777;
+ --tr-bg-color: #262626;
+ --alternating-row-color: #353535;
+}
+
+/* Custom mouse text selection colors */
+
+::-moz-selection {
+ color: var(--fg-selection-color);
+ background: var(--bg-selection-color);
+}
+
+::selection {
+ color: var(--fg-selection-color);
+ background: var(--bg-selection-color);
+}
+
+/* Global */
+
+body {
+ min-height: calc(100vh - 16px);
+ color: var(--fg-color);
+ background-color: var(--bg-color);
+ border-color: var(--border-color);
+}
+
+body, td, th {
+ font: 18px 'Open Sans', sans-serif;
+ line-height: 1.5em;
+}
+
+img {
+ max-width: 100%;
+ box-sizing: border-box;
+ image-rendering: crisp-edges;
+}
+
+img, hr {
+ border: 1px solid var(--border-color);
+}
+
+strong {
+ color: var(--strong-color);
+}
+
+a, a strong {
+ text-decoration: none;
+ color: var(--a-color);
+ border-bottom: 1px dashed;
+}
+
+a:hover, a strong:hover {
+ color: var(--a-hover-color);
+}
+
+a * {
+ color: var(--fg-color);
+}
+
+sup a {
+ border: none;
+}
+
+i, em {
+ color: var(--em-color);
+}
+
+article {
+ flex: 1;
+ max-width: 52.7em; /* Equivalent to 50em on 19px font-size */
+ min-height: calc(100vh - 228px);
+ overflow: auto;
+ padding: 0 0.4em;
+ box-sizing: border-box;
+}
+
+ul, ol {
+ padding-inline-start: 30px;
+}
+
+h1, h2, h3, h4, h5, h6, b {
+ color: var(--header-color);
+ border-color: var(--border-color);
+}
+
+h1 {
+ font-size: 1.7em;
+ line-height: 1.2em;
+ margin-block-end: 0.5em;
+}
+
+h1:not(:first-child), hr ~ h1 {
+ margin-top: 4em;
+}
+
+h2 {
+ margin-top: 3em;
+}
+
+h1::before, h2::before, h3::before, h4::before, h5::before {
+ content: "\2550 ";
+ color: var(--border-color);
+}
+
+h1::after, h2::after, h3::after, h4::after, h5::after {
+ color: var(--border-color);
+}
+
+h1::after {
+ content: " \2550 \2550 \2550 \2550 \2550";
+}
+
+h2::after {
+ content: " \2550 \2550 \2550";
+}
+
+h3::after {
+ content: " \2550";
+}
+
+h4 {
+ border-bottom: 2px solid var(--border-color);
+}
+
+/* Show link icon next to headings */
+
+h3, h4, h5, h6 {
+ margin-block-start: 1.25em;
+ margin-block-end: 0.16em;
+ line-height: 1.25em;
+}
+
+h2 + a, h3 + a, h4 + a, h5 + a, h6 + a {
+ display: inline;
+ border: none !important;
+}
+
+h2 + a img, h3 + a img, h4 + a img, h5 + a img, h6 + a img {
+ height: 1.3em;
+ border: none;
+ vertical-align: text-top;
+}
+
+h2 + a img, h3 + a img, h4 + a img, h5 + a img, h6 + a img, .icon, .file-icon, .file-wrapper > summary {
+ /* Since link images are made for dark mode, and have white-ish foreground,
+ * this filter makes them black (when in light mode)
+ */
+ filter: none;
+}
+
+ /* The following CSS is a modified version of sindresorhus's github-markdown-css repo: https://github.com/sindresorhus/github-markdown-css */
+
+code, pre {
+ font-family: monospace;
+ font-size: 1em;
+}
+
+code {
+ padding: .2em .4em;
+ margin: 0;
+ font-size: 85%;
+ background-color: var(--code-bg-color);
+ border-radius: 3px;
+}
+
+pre code {
+ display: inline;
+ padding: 0;
+ margin: 0;
+ overflow: visible;
+ line-height: inherit;
+ word-wrap: normal;
+ background-color: var(--code-bg-color);
+ border: 0;
+}
+
+pre > code {
+ padding: 0;
+ margin: 0;
+ font-size: 100%;
+ word-break: normal;
+ white-space: pre;
+ background-color: inherit;
+ border: 0;
+}
+
+pre {
+ padding: 16px;
+ overflow: auto;
+ font-size: 85%;
+ line-height: 1.45;
+ background-color: var(--pre-bg-color);
+ border-radius: 3px;
+ margin: 0;
+ word-break: normal;
+ word-wrap: normal;
+}
+
+table {
+ border-spacing: 0;
+ border-collapse: collapse;
+ margin-top: 10px;
+ margin-bottom: 10px;
+ width: 100%;
+ overflow: auto;
+}
+
+table td, table th {
+ word-break: normal !important;
+}
+
+table td:not(:empty) {
+ padding: 0.5em;
+}
+
+table th:not(:empty) {
+ font-size: 1.1em;
+ padding: 0.2em;
+ font-weight: 600;
+}
+
+table code {
+ white-space: normal;
+ font-size: 0.7em;
+}
+
+table td:not(:first-of-type), table th:not(:first-of-type) {
+ border-left: 2px dashed var(--table-border-color);
+}
+
+table tr:not(:first-of-type) {
+ background-color: var(--tr-bg-color);
+}
+
+thead tr {
+ border-bottom: 2px dashed var(--table-border-color);
+}
+
+table tr:nth-child(2n), thead tr {
+ background-color: var(--alternating-row-color);
+}
+
+blockquote {
+ margin: 0;
+ margin-top: 0;
+ margin-bottom: 16px;
+ padding: 0 1em;
+ color: var(--blockquote-color);
+ border-left: .25em solid var(--blockquote-border-color);
+}
+
+blockquote > :first-child {
+ margin-top: 0;
+}
+
+blockquote > :last-child {
+ margin-bottom: 0;
+}
+
+dt {
+ font-size: 1.2em;
+}
+
+dt * {
+ vertical-align: middle;
+}
+
+dt a {
+ border: none;
+}
+
+dt img, .svg {
+ max-height: 1em;
+ box-sizing: border-box;
+}
+
+dd {
+ margin-bottom: 1em;
+ line-height: 1.5em;
+}
+
+dd code {
+ font-size: 0.8em;
+}
diff --git a/.config/lead/lead.conf b/.config/lead/lead.conf
new file mode 100644
index 0000000..77aa77d
--- /dev/null
+++ b/.config/lead/lead.conf
@@ -0,0 +1,24 @@
+[HDMI-A-0]
+bottom=
+bottomLeft=SystemMonitor
+bottomRight=ToggleDesktop
+left=
+right=
+top=
+topLeft=
+topRight=
+
+[SystemMonitor]
+enterAction=gnome-system-monitor
+exitAction=
+enterDelay=100
+exitDelay=0
+
+[ToggleDesktop]
+enterAction=/home/kamen/toggle-desktop.sh
+exitAction=
+enterDelay=100
+exitDelay=0
+
+[systemsettings]
+/* debug=1 */
diff --git a/.config/libinput-gestures.conf b/.config/libinput-gestures.conf
new file mode 100755
index 0000000..6c1e9de
--- /dev/null
+++ b/.config/libinput-gestures.conf
@@ -0,0 +1,194 @@
+# Configuration file for libinput-gestures.
+# Mark Blakeney, Sep 2015
+#
+# The default configuration file exists at /etc/libinput-gestures.conf
+# but a user can create a personal custom configuration file at
+# ~/.config/libinput-gestures.conf.
+#
+# Lines starting with '#' and blank lines are ignored. Currently
+# "gesture" and "device" configuration keywords are supported as
+# described below. The keyword can optionally be appended with a ":" (to
+# maintain compatibility with original format configuration files).
+#
+# Each gesture line has 3 [or 4] arguments separated by whitespace:
+#
+# action motion [finger_count] command
+#
+# where action and motion is either:
+# swipe up
+# swipe down
+# swipe left
+# swipe right
+# swipe left_up
+# swipe left_down
+# swipe right_up
+# swipe right_down
+# pinch in
+# pinch out
+# pinch clockwise
+# pinch anticlockwise
+#
+# command is the remainder of the line and is any valid shell command +
+# arguments.
+#
+# finger_count is a single numeric digit and is optional (and is
+# typically 3 or 4). If specified then the command is executed when
+# exactly that number of fingers is used in the gesture. If not
+# specified then the command is executed when that gesture is executed
+# with any number of fingers. Gesture lines specified with finger_count
+# have priority over the same gesture specified without any
+# finger_count.
+#
+# Typically command will be xdotool, or wmctrl. See "man xdotool" for
+# the many things you can action with that tool. Note that unfortunately
+# xdotool does not work with native Wayland clients.
+
+###############################################################################
+# SWIPE GESTURES:
+###############################################################################
+
+# Note the default is an "internal" command that uses wmctrl to switch
+# workspaces and, unlike xdotool, works on both Xorg and Wayland (via
+# XWayland). It also can be configured for vertical and horizontal
+# switching over tabular workspaces, as per the example below. You can
+# also add "-w" to the internal command to allow wrapping workspaces.
+
+# Move to next workspace (works for GNOME/KDE/etc on Wayland and Xorg)
+gesture swipe up _internal ws_up
+
+# NOTE ABOUT FINGER COUNT:
+# The above command will configure this command for all fingers (i.e. 3
+# for 4) but to configure it for 3 fingers only, change it to:
+# gesture swipe up 3 _internal ws_up
+# Then you can configure something else for 4 fingers or leave 4 fingers
+# unconfigured. You can configure an explicit finger count like this for
+# all example commands in this configuration file.
+#
+# gesture swipe up xdotool key super+Page_Down
+
+# Move to prev workspace (works for GNOME/KDE/etc on Wayland and Xorg)
+gesture swipe down /home/kamen/toggle-desktop.sh
+# gesture swipe down _internal ws_down
+# gesture swipe down xdotool key super+Page_Up
+
+# Browser go forward (works only for Xorg, and Xwayland clients)
+gesture swipe left xdotool key alt+Right
+
+# Browser go back (works only for Xorg, and Xwayland clients)
+gesture swipe right xdotool key alt+Left
+
+# NOTE: If you don't use "natural" scrolling direction for your touchpad
+# then you may want to swap the above default left/right and up/down
+# configurations.
+
+# Optional extended swipe gestures, e.g. for browser tab navigation:
+#
+# Jump to next open browser tab
+# gesture swipe right_up xdotool key control+Tab
+#
+# Jump to previous open browser tab
+# gesture swipe left_up xdotool key control+shift+Tab
+#
+# Close current browser tab
+# gesture swipe left_down xdotool key control+w
+#
+# Reopen and jump to last closed browser tab
+# gesture swipe right_down xdotool key control+shift+t
+
+# Example of 8 static workspaces, e.g. using KDE virtual-desktops,
+# arranged in 2 rows of 4 columns across using swipe up/down/left/right
+# to navigate in fixed planes. You can also add the "-w/--wrap" option
+# to allow wrapping in any direction. You must configure your virtual
+# desktops with the same column dimension.
+# gesture swipe up _internal --cols 4 ws_up
+# gesture swipe down _internal --cols 4 ws_down
+# gesture swipe left _internal --cols 4 ws_left
+# gesture swipe right _internal --cols 4 ws_right
+#
+# Example of 16 static workspaces, e.g. using KDE virtual-desktops,
+# arranged in 4 rows of 4 columns across using swipe up/down/left/right
+# to navigate in fixed planes, and also using swipe
+# left_up/left_down/right_up/right_down to navigate diagonally. You can
+# also add the "-w/--wrap" option to allow wrapping in any direction
+# and/or diagonally. You must configure your virtual desktops with the
+# same column dimension.
+# gesture swipe up _internal --cols 4 ws_up
+# gesture swipe down _internal --cols 4 ws_down
+# gesture swipe left _internal --cols 4 ws_left
+# gesture swipe right _internal --cols 4 ws_right
+# gesture swipe left_up _internal --cols 4 ws_left_up
+# gesture swipe left_down _internal --cols 4 ws_left_down
+# gesture swipe right_up _internal --cols 4 ws_right_up
+# gesture swipe right_down _internal --cols 4 ws_right_down
+
+# Example virtual desktop switching for Ubuntu Unity/Compiz. The
+# _internal command does not work for Compiz but you can explicitly
+# configure the swipe commands to work for a Compiz virtual 2
+# dimensional desktop as follows:
+# gesture swipe up xdotool key ctrl+alt+Up
+# gesture swipe down xdotool key ctrl+alt+Down
+# gesture swipe left xdotool key ctrl+alt+Left
+# gesture swipe right xdotool key ctrl+alt+Right
+
+# Example to change audio volume:
+# Note this only works on an Xorg desktop (not Wayland).
+# gesture swipe up xdotool key XF86AudioRaiseVolume
+# gesture swipe down xdotool key XF86AudioLowerVolume
+
+###############################################################################
+# PINCH GESTURES:
+###############################################################################
+
+# GNOME SHELL open/close overview (works for GNOME on Xorg only)
+gesture pinch in xdotool key super+s
+gesture pinch out xdotool key super+s
+
+# KDE Plasma open/close overview
+# gesture pinch in xdotool key ctrl+F9
+# gesture pinch out xdotool key ctrl+F9
+
+# GNOME SHELL open/close overview (works for GNOME on Wayland and Xorg)
+# Note since GNOME 3.24 on Wayland this is implemented natively so no
+# real point configuring for Wayland.
+# gesture pinch in dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
+# gesture pinch out dbus-send --session --type=method_call --dest=org.gnome.Shell /org/gnome/Shell org.gnome.Shell.Eval string:'Main.overview.toggle();'
+
+# Optional extended pinch gestures:
+# gesture pinch clockwise <whatever command>
+# gesture pinch anticlockwise <whatever command>
+
+###############################################################################
+# This application normally determines your touchpad device
+# automatically. Some users may have multiple touchpads but by default
+# we use only the first one found. However, you can choose to specify
+# the explicit device name to use. Run "libinput list-devices" to work
+# out the name of your device (from the "Device:" field). Then add a
+# device line specifying that name, e.g:
+#
+# device DLL0665:01 06CB:76AD Touchpad
+#
+# If the device name starts with a '/' then it is instead considered as
+# the explicit device path although since device paths can change
+# through reboots this is best to be a symlink. E.g. instead of specifying
+# /dev/input/event12, you should use the corresponding full path link
+# under /dev/input/by-path/ or /dev/input/by-id/.
+#
+# You can choose to use ALL touchpad devices by setting the device name
+# to "all". E.g. Do this if you have multiple touchpads which you want
+# to use in parallel. This reduces performance slightly so only set this
+# if you have to.
+#
+# device all
+
+###############################################################################
+# You can set a minimum travel distance threshold before swipe gestures
+# are actioned using the swipe_threshold configuration command.
+# Specify this value in dots. The default is 0.
+# E.g. set it to 100 dots with "swipe_threshold 100".
+# swipe_threshold 0
+
+###############################################################################
+# You can set a timeout on gestures from start to end. The default is
+# the value commented below. It can be any value in float secs >= 0.
+# 0 = no timeout. E.g. set it to 2 secs with "timeout 2".
+# timeout 1.5
diff --git a/.config/nix/nix.conf b/.config/nix/nix.conf
new file mode 100644
index 0000000..c7d7291
--- /dev/null
+++ b/.config/nix/nix.conf
@@ -0,0 +1 @@
+experimental-features = nix-command flakes
diff --git a/.config/openbox/autostart b/.config/openbox/autostart
new file mode 100644
index 0000000..14ec8dc
--- /dev/null
+++ b/.config/openbox/autostart
@@ -0,0 +1,5 @@
+#
+# These commands are ran when an Openbox X Session is started.
+#
+
+~/.a/sys/on-wm-session.sh
diff --git a/.config/openbox/environment b/.config/openbox/environment
new file mode 100644
index 0000000..3311bd6
--- /dev/null
+++ b/.config/openbox/environment
@@ -0,0 +1,10 @@
+#
+# Set system-wide environment variables here for Openbox
+# User-specific variables should be placed in $HOME/.config/openbox/environment
+#
+
+# To set your language for displaying messages and time/date formats, use the following:
+#LANG=en_CA.UTF8
+
+# To set your keyboard layout, you need to modify your X config:
+# http://www.google.com/search?q=how+to+set+keyboard+layout+xorg
diff --git a/.config/openbox/rc.xml b/.config/openbox/rc.xml
new file mode 100644
index 0000000..97d8a43
--- /dev/null
+++ b/.config/openbox/rc.xml
@@ -0,0 +1,913 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file, it will be overwritten on install.
+ Copy the file to $HOME/.config/openbox/ instead. -->
+<openbox_config xmlns="http://openbox.org/3.4/rc" xmlns:xi="http://www.w3.org/2001/XInclude">
+ <resistance>
+ <strength>10</strength>
+ <screen_edge_strength>20</screen_edge_strength>
+ </resistance>
+ <focus>
+ <focusNew>yes</focusNew>
+ <!-- always try to focus new windows when they appear. other rules do
+ apply -->
+ <followMouse>no</followMouse>
+ <!-- move focus to a window when you move the mouse into it -->
+ <focusLast>yes</focusLast>
+ <!-- focus the last used window when changing desktops, instead of the one
+ under the mouse pointer. when followMouse is enabled -->
+ <underMouse>no</underMouse>
+ <!-- move focus under the mouse, even when the mouse is not moving -->
+ <focusDelay>200</focusDelay>
+ <!-- when followMouse is enabled, the mouse must be inside the window for
+ this many milliseconds (1000 = 1 sec) before moving focus to it -->
+ <raiseOnFocus>no</raiseOnFocus>
+ <!-- when followMouse is enabled, and a window is given focus by moving the
+ mouse into it, also raise the window -->
+ </focus>
+ <placement>
+ <policy>UnderMouse</policy>
+ <!-- 'Smart' or 'UnderMouse' -->
+ <center>yes</center>
+ <!-- whether to place windows in the center of the free area found or
+ the top left corner -->
+ <monitor>Primary</monitor>
+ <!-- with Smart placement on a multi-monitor system, try to place new windows
+ on: 'Any' - any monitor, 'Mouse' - where the mouse is, 'Active' - where
+ the active window is, 'Primary' - only on the primary monitor -->
+ <primaryMonitor>1</primaryMonitor>
+ <!-- The monitor where Openbox should place popup dialogs such as the
+ focus cycling popup, or the desktop switch popup. It can be an index
+ from 1, specifying a particular monitor. Or it can be one of the
+ following: 'Mouse' - where the mouse is, or
+ 'Active' - where the active window is -->
+ </placement>
+ <theme>
+ <name>Blocks-Dark</name>
+ <titleLayout>NLIMC</titleLayout>
+ <!--
+ available characters are NDSLIMC, each can occur at most once.
+ N: window icon
+ L: window label (AKA title).
+ I: iconify
+ M: maximize
+ C: close
+ S: shade (roll up/down)
+ D: omnipresent (on all desktops).
+ -->
+ <keepBorder>yes</keepBorder>
+ <animateIconify>yes</animateIconify>
+ <font place="ActiveWindow">
+ <name>Noto Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveWindow">
+ <name>Noto Sans</name>
+ <size>10</size>
+ <!-- font size in points -->
+ <weight>Bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>Normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuHeader">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="MenuItem">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>normal</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="ActiveOnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ <font place="InactiveOnScreenDisplay">
+ <name>sans</name>
+ <size>9</size>
+ <!-- font size in points -->
+ <weight>bold</weight>
+ <!-- 'bold' or 'normal' -->
+ <slant>normal</slant>
+ <!-- 'italic' or 'normal' -->
+ </font>
+ </theme>
+ <desktops>
+ <!-- this stuff is only used at startup, pagers allow you to change them
+ during a session
+
+ these are default values to use when other ones are not already set
+ by other applications, or saved in your session
+
+ use obconf if you want to change these without having to log out
+ and back in -->
+ <number>1</number>
+ <firstdesk>1</firstdesk>
+ <names>
+ <name>Desktop</name>
+ </names>
+ <popupTime>875</popupTime>
+ <!-- The number of milliseconds to show the popup for when switching
+ desktops. Set this to 0 to disable the popup. -->
+ </desktops>
+ <resize>
+ <drawContents>no</drawContents>
+ <popupShow>Nonpixel</popupShow>
+ <!-- 'Always', 'Never', or 'Nonpixel' (xterms and such) -->
+ <popupPosition>Center</popupPosition>
+ <!-- 'Center', 'Top', or 'Fixed' -->
+ <popupFixedPosition>
+ <!-- these are used if popupPosition is set to 'Fixed' -->
+ <x>10</x>
+ <!-- positive number for distance from left edge, negative number for
+ distance from right edge, or 'Center' -->
+ <y>10</y>
+ <!-- positive number for distance from top edge, negative number for
+ distance from bottom edge, or 'Center' -->
+ </popupFixedPosition>
+ </resize>
+ <!-- You can reserve a portion of your screen where windows will not cover when
+ they are maximized, or when they are initially placed.
+ Many programs reserve space automatically, but you can use this in other
+ cases. -->
+ <margins>
+ <top>0</top>
+ <bottom>0</bottom>
+ <left>0</left>
+ <right>0</right>
+ </margins>
+ <dock>
+ <position>TopLeft</position>
+ <!-- (Top|Bottom)(Left|Right|)|Top|Bottom|Left|Right|Floating -->
+ <floatingX>0</floatingX>
+ <floatingY>0</floatingY>
+ <noStrut>no</noStrut>
+ <stacking>Above</stacking>
+ <!-- 'Above', 'Normal', or 'Below' -->
+ <direction>Vertical</direction>
+ <!-- 'Vertical' or 'Horizontal' -->
+ <autoHide>no</autoHide>
+ <hideDelay>300</hideDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <showDelay>300</showDelay>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <moveButton>Middle</moveButton>
+ <!-- 'Left', 'Middle', 'Right' -->
+ </dock>
+ <keyboard>
+ <chainQuitKey>C-g</chainQuitKey>
+ <!-- Keybindings for window tiling -->
+ <keybind key="W-Up">
+ <action name="ToggleMaximize"/>
+ </keybind>
+ <keybind key="W-A-Up">
+ <action name="Unmaximize"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>0</y>
+ <width>100%</width>
+ <height>50%</height>
+ </action>
+ </keybind>
+ <keybind key="W-A-Right">
+ <action name="Unmaximize"/>
+ <action name="MoveResizeTo">
+ <x>-0</x>
+ <y>0</y>
+ <width>50%</width>
+ <height>100%</height>
+ </action>
+ </keybind>
+ <keybind key="W-A-Down">
+ <action name="Unmaximize"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>-0</y>
+ <width>100%</width>
+ <height>50%</height>
+ </action>
+ </keybind>
+ <keybind key="W-A-Left">
+ <action name="Unmaximize"/>
+ <action name="MoveResizeTo">
+ <x>0</x>
+ <y>0</y>
+ <width>50%</width>
+ <height>100%</height>
+ </action>
+ </keybind>
+ <!-- Keybindings for running applications -->
+ <keybind key="XF86MonBrightnessUp">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Brightness up</name>
+ </startupnotify>
+ <command>~/.a/brightness-control.sh +</command>
+ </action>
+ </keybind>
+ <keybind key="XF86MonBrightnessDown">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Brightness down</name>
+ </startupnotify>
+ <command>~/.a/brightness-control.sh -</command>
+ </action>
+ </keybind>
+ <keybind key="W-d">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Toggle desktop</name>
+ </startupnotify>
+ <command>~/.a/toggle-desktop.sh</command>
+ </action>
+ </keybind>
+ <keybind key="W-L">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Lock screen</name>
+ </startupnotify>
+ <command>~/.a/sys/lock.sh now</command>
+ </action>
+ </keybind>
+ <keybind key="Print">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Screenshot</name>
+ </startupnotify>
+ <command>flameshot gui</command>
+ </action>
+ </keybind>
+ <keybind key="W-E">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>File manager</name>
+ </startupnotify>
+ <command>nemo</command>
+ </action>
+ </keybind>
+ <keybind key="W-f">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>System Monitor</name>
+ </startupnotify>
+ <command>gnome-system-monitor</command>
+ </action>
+ </keybind>
+ <keybind key="W-p">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Start Menu</name>
+ </startupnotify>
+ <command>jgmenu_run</command>
+ </action>
+ </keybind>
+ <keybind key="W-x">
+ <action name="Execute">
+ <command>wmctrl -x -a xed -b toggle,hidden</command>
+ </action>
+ </keybind>
+ <keybind key="C-A-T">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Terminal</name>
+ </startupnotify>
+ <command>terminator</command>
+ </action>
+ </keybind>
+ <keybind key="A-T">
+ <action name="Execute">
+ <startupnotify>
+ <enabled>false</enabled>
+ <name>Terminal</name>
+ </startupnotify>
+ <command>terminator --new-tab</command>
+ </action>
+ </keybind>
+ <!-- Keybindings for desktop switching -->
+ <keybind key="C-A-Left">
+ <action name="GoToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Right">
+ <action name="GoToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Up">
+ <action name="GoToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="C-A-Down">
+ <action name="GoToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Left">
+ <action name="SendToDesktop">
+ <to>left</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Right">
+ <action name="SendToDesktop">
+ <to>right</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Up">
+ <action name="SendToDesktop">
+ <to>up</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="S-A-Down">
+ <action name="SendToDesktop">
+ <to>down</to>
+ <wrap>no</wrap>
+ </action>
+ </keybind>
+ <keybind key="W-F1">
+ <action name="GoToDesktop">
+ <to>1</to>
+ </action>
+ </keybind>
+ <keybind key="W-F2">
+ <action name="GoToDesktop">
+ <to>2</to>
+ </action>
+ </keybind>
+ <keybind key="W-F3">
+ <action name="GoToDesktop">
+ <to>3</to>
+ </action>
+ </keybind>
+ <keybind key="W-F4">
+ <action name="GoToDesktop">
+ <to>4</to>
+ </action>
+ </keybind>
+ <!-- Keybindings for windows -->
+ <keybind key="A-F4">
+ <action name="Close"/>
+ </keybind>
+ <keybind key="A-Escape">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </keybind>
+ <keybind key="A-space">
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </keybind>
+ <!-- Keybindings for window switching -->
+ <keybind key="A-Tab">
+ <action name="NextWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="A-S-Tab">
+ <action name="PreviousWindow">
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <keybind key="C-A-Tab">
+ <action name="NextWindow">
+ <panels>yes</panels>
+ <desktop>yes</desktop>
+ <finalactions>
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </finalactions>
+ </action>
+ </keybind>
+ <!-- Keybindings for window switching with the arrow keys -->
+ <keybind key="W-S-Right">
+ <action name="DirectionalCycleWindows">
+ <direction>right</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Left">
+ <action name="DirectionalCycleWindows">
+ <direction>left</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Up">
+ <action name="DirectionalCycleWindows">
+ <direction>up</direction>
+ </action>
+ </keybind>
+ <keybind key="W-S-Down">
+ <action name="DirectionalCycleWindows">
+ <direction>down</direction>
+ </action>
+ </keybind>
+ </keyboard>
+ <mouse>
+ <dragThreshold>1</dragThreshold>
+ <!-- number of pixels the mouse must move before a drag begins -->
+ <doubleClickTime>500</doubleClickTime>
+ <!-- in milliseconds (1000 = 1 second) -->
+ <screenEdgeWarpTime>400</screenEdgeWarpTime>
+ <!-- Time before changing desktops when the pointer touches the edge of the
+ screen while moving a window, in milliseconds (1000 = 1 second).
+ Set this to 0 to disable warping -->
+ <screenEdgeWarpMouse>false</screenEdgeWarpMouse>
+ <!-- Set this to TRUE to move the mouse pointer across the desktop when
+ switching due to hitting the edge of the screen -->
+ <context name="Frame">
+ <mousebind button="A-Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Click">
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="A-Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="A-Right" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ <mousebind button="A-Middle" action="Press">
+ <action name="Lower"/>
+ <action name="FocusToBottom"/>
+ <action name="Unfocus"/>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-S-Up" action="Click">
+ <action name="SendToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-S-Down" action="Click">
+ <action name="SendToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Titlebar">
+ <mousebind button="Left" action="Drag">
+ <action name="Move"/>
+ </mousebind>
+ <mousebind button="Left" action="DoubleClick">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Up" action="Click">
+ <action name="if">
+ <shaded>no</shaded>
+ <then>
+ <action name="Shade"/>
+ <action name="Raise"/>
+ </then>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="if">
+ <shaded>yes</shaded>
+ <then>
+ <action name="Unshade"/>
+ <action name="Raise"/>
+ </then>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Titlebar Top Right Bottom Left TLCorner TRCorner BRCorner BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Close"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Top">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>top</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Left">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>left</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Right">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>right</edge>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Bottom">
+ <mousebind button="Left" action="Drag">
+ <action name="Resize">
+ <edge>bottom</edge>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="TRCorner BRCorner TLCorner BLCorner">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Drag">
+ <action name="Resize"/>
+ </mousebind>
+ </context>
+ <context name="Client">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Icon">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="ShowMenu">
+ <menu>client-menu</menu>
+ </action>
+ </mousebind>
+ </context>
+ <context name="AllDesktops">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleOmnipresent"/>
+ </mousebind>
+ </context>
+ <context name="Shade">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleShade"/>
+ </mousebind>
+ </context>
+ <context name="Iconify">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Iconify"/>
+ </mousebind>
+ </context>
+ <context name="Maximize">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Middle" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="ToggleMaximize"/>
+ </mousebind>
+ <mousebind button="Middle" action="Click">
+ <action name="ToggleMaximize">
+ <direction>vertical</direction>
+ </action>
+ </mousebind>
+ <mousebind button="Right" action="Click">
+ <action name="ToggleMaximize">
+ <direction>horizontal</direction>
+ </action>
+ </mousebind>
+ </context>
+ <context name="Close">
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ <action name="Unshade"/>
+ </mousebind>
+ <mousebind button="Left" action="Click">
+ <action name="Close"/>
+ </mousebind>
+ </context>
+ <context name="Desktop">
+ <mousebind button="Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="C-A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="Left" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ <mousebind button="Right" action="Press">
+ <action name="Focus"/>
+ <action name="Raise"/>
+ </mousebind>
+ </context>
+ <context name="Root">
+ <!-- Menus -->
+ <!--<mousebind button="Middle" action="Press">
+ <action name="ShowMenu">
+ <menu>client-list-combined-menu</menu>
+ </action>
+ </mousebind> -->
+ <mousebind button="Right" action="Press">
+ <action name="Execute">
+ <command>jgmenu_run</command>
+ </action>
+ </mousebind>
+ </context>
+ <context name="MoveResize">
+ <mousebind button="Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Up" action="Click">
+ <action name="GoToDesktop">
+ <to>previous</to>
+ </action>
+ </mousebind>
+ <mousebind button="A-Down" action="Click">
+ <action name="GoToDesktop">
+ <to>next</to>
+ </action>
+ </mousebind>
+ </context>
+ </mouse>
+ <menu>
+ <!-- You can specify more than one menu file in here and they are all loaded,
+ just don't make menu ids clash or, well, it'll be kind of pointless -->
+ <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
+ <file>menu.xml</file>
+ <hideDelay>200</hideDelay>
+ <!-- if a press-release lasts longer than this setting (in milliseconds), the
+ menu is hidden again -->
+ <middle>no</middle>
+ <!-- center submenus vertically about the parent entry -->
+ <submenuShowDelay>100</submenuShowDelay>
+ <!-- time to delay before showing a submenu after hovering over the parent
+ entry.
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be shown until it is clicked on -->
+ <submenuHideDelay>400</submenuHideDelay>
+ <!-- time to delay before hiding a submenu when selecting another
+ entry in parent menu
+ if this is a negative value, then the delay is infinite and the
+ submenu will not be hidden until a different submenu is opened -->
+ <showIcons>yes</showIcons>
+ <!-- controls if icons appear in the client-list-(combined-)menu -->
+ <manageDesktops>yes</manageDesktops>
+ <!-- show the manage desktops section in the client-list-(combined-)menu -->
+ </menu>
+ <applications>
+ <application title="xed">
+ <decor>no</decor>
+ <position force="no">
+ <x>-108</x>
+ <y>center</y>
+ </position>
+ <size>
+ <width>20%</width>
+ <height>100%</height>
+ </size>
+ <skip_taskbar>yes</skip_taskbar>
+ <layer>above</layer>
+ </application>
+ <!--
+ # this is an example with comments through out. use these to make your
+ # own rules, but without the comments of course.
+ # you may use one or more of the name/class/role/title/type rules to specify
+ # windows to match
+
+ <application name="the window's _OB_APP_NAME property (see obxprop)"
+ class="the window's _OB_APP_CLASS property (see obxprop)"
+ groupname="the window's _OB_APP_GROUP_NAME property (see obxprop)"
+ groupclass="the window's _OB_APP_GROUP_CLASS property (see obxprop)"
+ role="the window's _OB_APP_ROLE property (see obxprop)"
+ title="the window's _OB_APP_TITLE property (see obxprop)"
+ type="the window's _OB_APP_TYPE property (see obxprob)..
+ (if unspecified, then it is 'dialog' for child windows)">
+ # you may set only one of name/class/role/title/type, or you may use more
+ # than one together to restrict your matches.
+
+ # the name, class, role, and title use simple wildcard matching such as those
+ # used by a shell. you can use * to match any characters and ? to match
+ # any single character.
+
+ # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
+ # or desktop
+
+ # when multiple rules match a window, they will all be applied, in the
+ # order that they appear in this list
+
+
+ # each rule element can be left out or set to 'default' to specify to not
+ # change that attribute of the window
+
+ <decor>yes</decor>
+ # enable or disable window decorations
+
+ <shade>no</shade>
+ # make the window shaded when it appears, or not
+
+ <position force="no">
+ # the position is only used if both an x and y coordinate are provided
+ # (and not set to 'default')
+ # when force is "yes", then the window will be placed here even if it
+ # says you want it placed elsewhere. this is to override buggy
+ # applications who refuse to behave
+ <x>center</x>
+ # a number like 50, or 'center' to center on screen. use a negative number
+ # to start from the right (or bottom for <y>), ie -50 is 50 pixels from
+ # the right edge (or bottom). use 'default' to specify using value
+ # provided by the application, or chosen by openbox, instead.
+ <y>200</y>
+ <monitor>1</monitor>
+ # specifies the monitor in a xinerama setup.
+ # 1 is the first head, or 'mouse' for wherever the mouse is
+ </position>
+
+ <size>
+ # the size to make the window.
+ <width>20</width>
+ # a number like 20, or 'default' to use the size given by the application.
+ # you can use fractions such as 1/2 or percentages such as 75% in which
+ # case the value is relative to the size of the monitor that the window
+ # appears on.
+ <height>30%</height>
+ </size>
+
+ <focus>yes</focus>
+ # if the window should try be given focus when it appears. if this is set
+ # to yes it doesn't guarantee the window will be given focus. some
+ # restrictions may apply, but Openbox will try to
+
+ <desktop>1</desktop>
+ # 1 is the first desktop, 'all' for all desktops
+
+ <layer>normal</layer>
+ # 'above', 'normal', or 'below'
+
+ <iconic>no</iconic>
+ # make the window iconified when it appears, or not
+
+ <skip_pager>no</skip_pager>
+ # asks to not be shown in pagers
+
+ <skip_taskbar>no</skip_taskbar>
+ # asks to not be shown in taskbars. window cycling actions will also
+ # skip past such windows
+
+ <fullscreen>yes</fullscreen>
+ # make the window in fullscreen mode when it appears
+
+ <maximized>true</maximized>
+ # 'Horizontal', 'Vertical' or boolean (yes/no)
+ </application>
+
+ # end of the example
+-->
+ </applications>
+</openbox_config>
diff --git a/.config/openbox/terminals.menu b/.config/openbox/terminals.menu
new file mode 100644
index 0000000..450543e
--- /dev/null
+++ b/.config/openbox/terminals.menu
@@ -0,0 +1,16 @@
+<!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
+ "http://www.freedesktop.org/standards/menu-spec/1.0/menu.dtd">
+
+<Menu>
+ <Name>Terminals</Name>
+
+ <!-- Read standard .desktop file locations -->
+ <DefaultAppDirs/>
+
+ <!-- Read in overrides and child menus from applications.d -->
+ <DefaultMergeDirs/>
+
+ <Include>
+ <Category>TerminalEmulator</Category>
+ </Include>
+</Menu>
diff --git a/.config/pavucontrol.ini b/.config/pavucontrol.ini
new file mode 100644
index 0000000..9585a0f
--- /dev/null
+++ b/.config/pavucontrol.ini
@@ -0,0 +1,8 @@
+[window]
+width=1132
+height=751
+sinkInputType=1
+sourceOutputType=1
+sinkType=0
+sourceType=0
+showVolumeMeters=1
diff --git a/.config/picom.conf b/.config/picom.conf
new file mode 100644
index 0000000..4c2505f
--- /dev/null
+++ b/.config/picom.conf
@@ -0,0 +1,414 @@
+#################################
+# Shadows #
+#################################
+
+
+# Enabled client-side shadows on windows. Note desktop windows
+# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
+# unless explicitly requested using the wintypes option.
+#
+# shadow = false
+shadow = true;
+
+# The blur radius for shadows, in pixels. (defaults to 12)
+# shadow-radius = 12
+shadow-radius = 7;
+
+# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
+# shadow-opacity = .75
+
+# The left offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-x = -15
+shadow-offset-x = -7;
+
+# The top offset for shadows, in pixels. (defaults to -15)
+# shadow-offset-y = -15
+shadow-offset-y = -7;
+
+# Red color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-red = 0
+
+# Green color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-green = 0
+
+# Blue color value of shadow (0.0 - 1.0, defaults to 0).
+# shadow-blue = 0
+
+# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
+# shadow-color = "#000000"
+
+# Specify a list of conditions of windows that should have no shadow.
+#
+# examples:
+# shadow-exclude = "n:e:Notification";
+#
+# shadow-exclude = []
+shadow-exclude = [
+ "name = 'Notification'",
+ "class_g = 'Conky'",
+ "class_g ?= 'Notify-osd'",
+ "class_g = 'Cairo-clock'",
+ "_GTK_FRAME_EXTENTS@:c",
+ "class_g = 'lead'",
+ "class_g = 'firefox' && argb", # thanks https://github.com/rehmano/dotfiles/blob/master/picom/picom.conf
+ "class_g = 'thunderbird' && argb",
+ "class_g = 'easyeffects'"
+];
+
+# Specify a X geometry that describes the region in which shadow should not
+# be painted in, such as a dock window region. Use
+# shadow-exclude-reg = "x10+0+0"
+# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
+#
+# shadow-exclude-reg = ""
+
+# Crop shadow of a window fully on a particular Xinerama screen to the screen.
+# xinerama-shadow-crop = false
+
+
+#################################
+# Fading #
+#################################
+
+
+# Fade windows in/out when opening/closing and when opacity changes,
+# unless no-fading-openclose is used.
+# fading = false
+fading = false;
+
+# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
+# fade-in-step = 0.028
+fade-in-step = 0.03;
+
+# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
+# fade-out-step = 0.03
+fade-out-step = 0.03;
+
+# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
+# fade-delta = 10
+
+# Specify a list of conditions of windows that should not be faded.
+# fade-exclude = []
+
+# Do not fade on window open/close.
+# no-fading-openclose = false
+
+# Do not fade destroyed ARGB windows with WM frame. Workaround of bugs in Openbox, Fluxbox, etc.
+# no-fading-destroyed-argb = false
+
+
+#################################
+# Transparency / Opacity #
+#################################
+
+
+# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
+# inactive-opacity = 1
+inactive-opacity = 1.0; #0.8;
+
+# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
+# frame-opacity = 1.0
+frame-opacity = 1.0; #0.7;
+
+# Let inactive opacity set by -i override the '_NET_WM_OPACITY' values of windows.
+# inactive-opacity-override = true
+inactive-opacity-override = false;
+
+# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
+active-opacity = 1.0
+
+# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
+inactive-dim = 0.1
+
+# Specify a list of conditions of windows that should never be considered focused.
+# focus-exclude = []
+focus-exclude = [ "class_g = 'Cairo-clock'" ];
+
+# Use fixed inactive dim value, instead of adjusting according to window opacity.
+# inactive-dim-fixed = 1.0
+
+# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
+# like `50:name *= "Firefox"`. picom-trans is recommended over this.
+# Note we don't make any guarantee about possible conflicts with other
+# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
+# example:
+# opacity-rule = [ "80:class_g = 'URxvt'" ];
+
+#################################
+# Corners #
+#################################
+
+# Sets the radius of rounded window corners. When > 0, the compositor will
+# round the corners of windows. Does not interact well with
+# `transparent-clipping`.
+corner-radius = 0
+
+# Exclude conditions for rounded corners.
+rounded-corners-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'"
+];
+
+
+#################################
+# Background-Blurring #
+#################################
+
+
+# Parameters for background blurring, see the *BLUR* section for more information.
+# blur-method =
+# blur-size = 12
+#
+# blur-deviation = false
+#
+# blur-strength = 5
+
+# Blur background of semi-transparent / ARGB windows.
+# Bad in performance, with driver-dependent behavior.
+# The name of the switch may change without prior notifications.
+#
+# blur-background = false
+
+# Blur background of windows when the window frame is not opaque.
+# Implies:
+# blur-background
+# Bad in performance, with driver-dependent behavior. The name may change.
+#
+# blur-background-frame = false
+
+
+# Use fixed blur strength rather than adjusting according to window opacity.
+# blur-background-fixed = false
+
+
+# Specify the blur convolution kernel, with the following format:
+# example:
+# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
+#
+# blur-kern = ""
+blur-kern = "3x3box";
+
+
+# Exclude conditions for background blur.
+# blur-background-exclude = []
+blur-background-exclude = [
+ "window_type = 'dock'",
+ "window_type = 'desktop'",
+ "_GTK_FRAME_EXTENTS@:c"
+];
+
+#################################
+# General Settings #
+#################################
+
+# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
+# daemon = false
+
+# Specify the backend to use: `xrender`, `glx`, or `xr_glx_hybrid`.
+# `xrender` is the default one.
+#
+# backend = "glx"
+backend = "glx";
+
+# Enable/disable VSync.
+# vsync = false
+vsync = true;
+
+# Enable remote control via D-Bus. See the *D-BUS API* section below for more details.
+# dbus = false
+
+# Try to detect WM windows (a non-override-redirect window with no
+# child that has 'WM_STATE') and mark them as active.
+#
+# mark-wmwin-focused = false
+mark-wmwin-focused = true;
+
+# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
+# mark-ovredir-focused = false
+mark-ovredir-focused = true;
+
+# Try to detect windows with rounded corners and don't consider them
+# shaped windows. The accuracy is not very high, unfortunately.
+#
+# detect-rounded-corners = false
+detect-rounded-corners = true;
+
+# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
+# not passing '_NET_WM_OPACITY' of client windows to frame windows.
+#
+# detect-client-opacity = false
+detect-client-opacity = true;
+
+# Specify refresh rate of the screen. If not specified or 0, picom will
+# try detecting this with X RandR extension.
+#
+# refresh-rate = 60
+refresh-rate = 0;
+
+# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
+# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
+# provided that the WM supports it.
+#
+# use-ewmh-active-win = false
+
+# Unredirect all windows if a full-screen opaque window is detected,
+# to maximize performance for full-screen windows. Known to cause flickering
+# when redirecting/unredirecting windows.
+#
+# unredir-if-possible = false
+
+# Delay before unredirecting the window, in milliseconds. Defaults to 0.
+# unredir-if-possible-delay = 0
+
+# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
+# unredir-if-possible-exclude = []
+
+# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
+# in the same group focused at the same time.
+#
+# detect-transient = false
+detect-transient = true;
+
+# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
+# group focused at the same time. 'WM_TRANSIENT_FOR' has higher priority if
+# detect-transient is enabled, too.
+#
+# detect-client-leader = false
+detect-client-leader = true;
+
+# Resize damaged region by a specific number of pixels.
+# A positive value enlarges it while a negative one shrinks it.
+# If the value is positive, those additional pixels will not be actually painted
+# to screen, only used in blur calculation, and such. (Due to technical limitations,
+# with use-damage, those pixels will still be incorrectly painted to screen.)
+# Primarily used to fix the line corruption issues of blur,
+# in which case you should use the blur radius value here
+# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
+# with a 5x5 one you use `--resize-damage 2`, and so on).
+# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
+#
+# resize-damage = 1
+
+# Specify a list of conditions of windows that should be painted with inverted color.
+# Resource-hogging, and is not well tested.
+#
+# invert-color-include = []
+
+# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
+# Might cause incorrect opacity when rendering transparent content (but never
+# practically happened) and may not work with blur-background.
+# My tests show a 15% performance boost. Recommended.
+#
+# glx-no-stencil = false
+
+# GLX backend: Avoid rebinding pixmap on window damage.
+# Probably could improve performance on rapid window content changes,
+# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
+# Recommended if it works.
+#
+# glx-no-rebind-pixmap = false
+
+# Disable the use of damage information.
+# This cause the whole screen to be redrawn everytime, instead of the part of the screen
+# has actually changed. Potentially degrades the performance, but might fix some artifacts.
+# The opposing option is use-damage
+#
+# no-use-damage = false
+use-damage = true;
+
+# Use X Sync fence to sync clients' draw calls, to make sure all draw
+# calls are finished before picom starts drawing. Needed on nvidia-drivers
+# with GLX backend for some users.
+#
+# xrender-sync-fence = false
+
+# GLX backend: Use specified GLSL fragment shader for rendering window contents.
+# See `compton-default-fshader-win.glsl` and `compton-fake-transparency-fshader-win.glsl`
+# in the source tree for examples.
+#
+# glx-fshader-win = ""
+
+# Force all windows to be painted with blending. Useful if you
+# have a glx-fshader-win that could turn opaque pixels transparent.
+#
+# force-win-blend = false
+
+# Do not use EWMH to detect fullscreen windows.
+# Reverts to checking if a window is fullscreen based only on its size and coordinates.
+#
+# no-ewmh-fullscreen = false
+
+# Dimming bright windows so their brightness doesn't exceed this set value.
+# Brightness of a window is estimated by averaging all pixels in the window,
+# so this could comes with a performance hit.
+# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
+#
+# max-brightness = 1.0
+
+# Make transparent windows clip other windows like non-transparent windows do,
+# instead of blending on top of them.
+#
+# transparent-clipping = false
+
+# Set the log level. Possible values are:
+# "trace", "debug", "info", "warn", "error"
+# in increasing level of importance. Case doesn't matter.
+# If using the "TRACE" log level, it's better to log into a file
+# using *--log-file*, since it can generate a huge stream of logs.
+#
+# log-level = "debug"
+log-level = "warn";
+
+# Set the log file.
+# If *--log-file* is never specified, logs will be written to stderr.
+# Otherwise, logs will to written to the given file, though some of the early
+# logs might still be written to the stderr.
+# When setting this option from the config file, it is recommended to use an absolute path.
+#
+# log-file = "/path/to/your/log/file"
+
+# Show all X errors (for debugging)
+# show-all-xerrors = false
+
+# Write process ID to a file.
+# write-pid-path = "/path/to/your/log/file"
+
+# Window type settings
+#
+# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
+# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
+# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
+# "tooltip", "notification", "combo", and "dnd".
+#
+# Following per window-type options are available: ::
+#
+# fade, shadow:::
+# Controls window-type-specific shadow and fade settings.
+#
+# opacity:::
+# Controls default opacity of the window type.
+#
+# focus:::
+# Controls whether the window of this type is to be always considered focused.
+# (By default, all window types except "normal" and "dialog" has this on.)
+#
+# full-shadow:::
+# Controls whether shadow is drawn under the parts of the window that you
+# normally won't be able to see. Useful when the window has parts of it
+# transparent, and you want shadows in those areas.
+#
+# redir-ignore:::
+# Controls whether this type of windows should cause screen to become
+# redirected again after been unredirected. If you have unredir-if-possible
+# set, and doesn't want certain window to cause unnecessary screen redirection,
+# you can set this to `true`.
+#
+wintypes:
+{
+ tooltip = { fade = true; shadow = false; opacity = 1.0; focus = true; full-shadow = false; };
+ dock = { shadow = false; }
+ dnd = { shadow = false; }
+ popup_menu = { opacity = 1.0; }
+ dropdown_menu = { opacity = 1.0; }
+ notification = { full-shadow = true; }
+};
diff --git a/.config/pnmixer/config b/.config/pnmixer/config
new file mode 100644
index 0000000..534c7d7
--- /dev/null
+++ b/.config/pnmixer/config
@@ -0,0 +1,34 @@
+[PNMixer]
+SliderOrientation=vertical
+DisplayTextVolume=true
+TextVolumePosition=0
+ScrollStep=5
+FineScrollStep=1
+MiddleClickAction=0
+CustomCommand=
+VolMuteKey=-1
+VolUpKey=123
+VolDownKey=122
+AlsaCard=(default)
+NormalizeVolume=true
+SystemTheme=true
+DrawVolMeter=false
+VolMeterPos=10
+VolMeterColor=0.90980392156900003;0.43137254902;0.43137254902;
+VolumeControlCommand=pavucontrol
+EnableHotKeys=true
+VolMuteMods=0
+VolUpMods=0
+VolDownMods=0
+EnableNotifications=true
+HotkeyNotifications=true
+MouseNotifications=false
+PopupNotifications=false
+ExternalNotifications=true
+NotificationTimeout=1500
+
+[(default)]
+Channel=Master
+
+[HDA Intel PCH]
+Channel=Master
diff --git a/.config/redshift.conf b/.config/redshift.conf
new file mode 100644
index 0000000..38558a3
--- /dev/null
+++ b/.config/redshift.conf
@@ -0,0 +1,10 @@
+[redshift]
+temp-day=6500
+temp-night=3000
+brightness-day=1.0
+brightness-night=0.95
+location-provider=manual
+
+[manual]
+lat=42.8
+lon=23.3
diff --git a/.config/terminator/config b/.config/terminator/config
new file mode 100644
index 0000000..839941c
--- /dev/null
+++ b/.config/terminator/config
@@ -0,0 +1,33 @@
+[global_config]
+ handle_size = 5
+ enabled_plugins = CommandNotify, LaunchpadBugURLHandler, LaunchpadCodeURLHandler, APTURLHandler, CustomCommandsMenu
+[keybindings]
+ paste = <Primary><Shift>v
+ help = ""
+[profiles]
+ [[default]]
+ background_color = "#282828"
+ background_darkness = 0.97
+ font = MesloLGS NF 11
+ foreground_color = "#ebdbb2"
+ show_titlebar = False
+ scrollbar_position = hidden
+ scrollback_infinite = True
+ palette = "#282828:#cc241d:#98971a:#d79921:#458588:#b16286:#689d6a:#a89984:#928374:#fb4934:#b8bb26:#fabd2f:#83a598:#d3869b:#8ec07c:#ebdbb2"
+ use_system_font = False
+[layouts]
+ [[default]]
+ [[[child1]]]
+ parent = window0
+ profile = default
+ type = Terminal
+ [[[window0]]]
+ parent = ""
+ type = Window
+[plugins]
+ [[CustomCommandsMenu]]
+ [[[Open in Nemo]]]
+ command = (nemo ./ > /dev/null 2>&1 &)
+ enabled = True
+ name = Open in Nemo
+ position = 0
diff --git a/.config/tint2/tint2rc b/.config/tint2/tint2rc
new file mode 100644
index 0000000..2efc229
--- /dev/null
+++ b/.config/tint2/tint2rc
@@ -0,0 +1,286 @@
+#---- Generated by tint2conf 78a8 ----
+# See https://gitlab.com/o9000/tint2/wikis/Configure for
+# full documentation of the configuration options.
+#-------------------------------------
+# Gradients
+#-------------------------------------
+# Backgrounds
+# Background 1:
+rounded = 8
+border_width = 0
+border_sides =
+border_content_tint_weight = 0
+background_content_tint_weight = 0
+background_color = #ffffff 20
+border_color = #000000 0
+background_color_hover = #ffffff 20
+border_color_hover = #000000 0
+background_color_pressed = #ffffff 20
+border_color_pressed = #000000 0
+
+# Background 2: Active task
+rounded = 0
+border_width = 2
+border_sides = B
+border_content_tint_weight = 0
+background_content_tint_weight = 0
+background_color = #808080 80
+border_color = #b3b3b3 100
+background_color_hover = #808080 80
+border_color_hover = #555555 80
+background_color_pressed = #808080 80
+border_color_pressed = #555555 80
+
+# Background 3: Default task
+rounded = 0
+border_width = 2
+border_sides = B
+border_content_tint_weight = 0
+background_content_tint_weight = 0
+background_color = #ffffff 0
+border_color = #ffffff 0
+background_color_hover = #808080 80
+border_color_hover = #ffffff 100
+background_color_pressed = #ffffff 0
+border_color_pressed = #ffffff 0
+
+# Background 4: Panel
+rounded = 0
+border_width = 2
+border_sides = TBLR
+border_content_tint_weight = 0
+background_content_tint_weight = 0
+background_color = #282828 89
+border_color = #868686 0
+background_color_hover = #ffffff 0
+border_color_hover = #ffffff 0
+background_color_pressed = #ffffff 0
+border_color_pressed = #ffffff 0
+
+# Background 5: Tooltip
+rounded = 0
+border_width = 2
+border_sides = TBLR
+border_content_tint_weight = 0
+background_content_tint_weight = 0
+background_color = #282828 76
+border_color = #868686 76
+background_color_hover = #ffffff 0
+border_color_hover = #ffffff 0
+background_color_pressed = #ffffff 0
+border_color_pressed = #ffffff 0
+
+#-------------------------------------
+# Panel
+panel_items = L:T:SEE:C
+panel_size = 100% 50
+panel_margin = 0 0
+panel_padding = 8 4 4
+panel_background_id = 4
+wm_menu = 1
+panel_dock = 0
+panel_pivot_struts = 0
+panel_position = top center horizontal
+panel_layer = top
+panel_monitor = all
+panel_shrink = 1
+autohide = 1
+autohide_show_timeout = 0.125
+autohide_hide_timeout = 0.125
+autohide_height = 1
+strut_policy = none
+panel_window_name = tint2
+disable_transparency = 0
+mouse_effects = 1
+font_shadow = 0
+mouse_hover_icon_asb = 100 0 10
+mouse_pressed_icon_asb = 100 0 0
+scale_relative_to_dpi = 0
+scale_relative_to_screen_height = 0
+
+#-------------------------------------
+# Taskbar
+taskbar_mode = single_desktop
+taskbar_hide_if_empty = 0
+taskbar_padding = 0 0 4
+taskbar_background_id = 0
+taskbar_active_background_id = 0
+taskbar_name = 0
+taskbar_hide_inactive_tasks = 0
+taskbar_hide_different_monitor = 1
+taskbar_hide_different_desktop = 1
+taskbar_always_show_all_desktop_tasks = 0
+taskbar_name_padding = 0 0
+taskbar_name_background_id = 0
+taskbar_name_active_background_id = 0
+taskbar_name_font_color = #000000 100
+taskbar_name_active_font_color = #000000 100
+taskbar_distribute_size = 0
+taskbar_sort_order = none
+task_align = left
+
+#-------------------------------------
+# Task
+task_text = 0
+task_icon = 1
+task_centered = 1
+urgent_nb_of_blink = 100000
+task_maximum_size = 42 42
+task_padding = 0 2 1
+task_tooltip = 1
+task_thumbnail = 1
+task_thumbnail_size = 210
+task_iconified_icon_asb = 70 0 0
+task_background_id = 3
+task_active_background_id = 2
+mouse_left = toggle_iconify
+mouse_middle = close
+mouse_right = none
+mouse_scroll_up = none
+mouse_scroll_down = none
+
+#-------------------------------------
+# System tray (notification area)
+systray_padding = 2 0 4
+systray_background_id = 0
+systray_sort = ascending
+systray_icon_size = 26
+systray_icon_asb = 100 0 0
+systray_monitor = 1
+systray_name_filter =
+
+#-------------------------------------
+# Launcher
+launcher_padding = 0 0 4
+launcher_background_id = 0
+launcher_icon_background_id = 0
+launcher_icon_size = 42
+launcher_icon_asb = 100 0 0
+launcher_icon_theme = Mint-Y-Dark-Blue
+launcher_icon_theme_override = 0
+startup_notifications = 1
+launcher_tooltip = 1
+launcher_item_app = ~/.local/share/applications/jgmenu.desktop
+
+#-------------------------------------
+# Clock
+time1_format = %H:%M - %d.%m.%Y
+time2_format =
+time1_font = Sans 11
+time1_timezone =
+time2_timezone =
+clock_font_color = #eeeeee 100
+clock_padding = 0 0
+clock_background_id = 0
+clock_tooltip =
+clock_tooltip_timezone =
+clock_lclick_command = zenity --calendar --text ""
+clock_rclick_command =
+clock_mclick_command =
+clock_uwheel_command =
+clock_dwheel_command =
+
+#-------------------------------------
+# Battery
+battery_tooltip = 1
+battery_low_status = 0
+battery_low_cmd =
+battery_full_cmd =
+bat1_font = sans 10
+bat2_font = sans 6
+battery_font_color = #eeeeee 100
+bat1_format = $(/home/kamen/battery-status.sh)
+bat2_format =
+battery_padding = 0 3
+battery_background_id = 0
+battery_hide = 101
+battery_lclick_command =
+battery_rclick_command =
+battery_mclick_command =
+battery_uwheel_command =
+battery_dwheel_command =
+ac_connected_cmd = notify-send -u low -i ac-adapter 'AC Connected'
+ac_disconnected_cmd = notify-send -u low -i battery 'AC Disconnected'
+
+#-------------------------------------
+# Separator 1
+separator = new
+separator_background_id = 0
+separator_color = #777777 80
+separator_style = line
+separator_size = 1
+separator_padding = 4 0
+
+#-------------------------------------
+# Separator 2
+separator = new
+separator_background_id = 0
+separator_color = #777777 80
+separator_style = line
+separator_size = 1
+separator_padding = 4 0
+
+#-------------------------------------
+# Separator 3
+separator = new
+separator_background_id = 0
+separator_color = #777777 80
+separator_style = line
+separator_size = 1
+separator_padding = 4 0
+
+#-------------------------------------
+# Executor 1
+execp = new
+execp_command = while true; do xkbmon -u -o | colrm 3; sleep 0.1; done
+execp_interval = 0
+execp_has_icon = 0
+execp_cache_icon = 1
+execp_continuous = 1
+execp_markup = 0
+execp_monitor = all
+execp_lclick_command =
+execp_rclick_command =
+execp_mclick_command =
+execp_uwheel_command =
+execp_dwheel_command =
+execp_font = Sans 11
+execp_font_color = #ffffff 100
+execp_padding = 0 3
+execp_background_id = 0
+execp_centered = 1
+execp_icon_w = 0
+execp_icon_h = 0
+
+#-------------------------------------
+# Executor 2
+execp = new
+execp_command = /home/kamen/.a/battery-status.sh
+execp_interval = 10
+execp_has_icon = 0
+execp_cache_icon = 1
+execp_continuous = 1
+execp_markup = 0
+execp_monitor = all
+execp_lclick_command =
+execp_rclick_command =
+execp_mclick_command =
+execp_uwheel_command =
+execp_dwheel_command =
+execp_font = Sans 11
+execp_font_color = #ffbe6f 100
+execp_padding = 0 3
+execp_background_id = 0
+execp_centered = 1
+execp_icon_w = 0
+execp_icon_h = 0
+
+#-------------------------------------
+# Tooltip
+tooltip_show_timeout = 0.5
+tooltip_hide_timeout = 0.1
+tooltip_padding = 6 6
+tooltip_background_id = 5
+tooltip_font_color = #ffffff 100
+tooltip_font = Sans 10
+
diff --git a/.dmrc b/.dmrc
new file mode 100644
index 0000000..4b2ee06
--- /dev/null
+++ b/.dmrc
@@ -0,0 +1,3 @@
+[Desktop]
+Language=en_GB.utf8
+Session=openbox
diff --git a/.gitconfig b/.gitconfig
new file mode 100644
index 0000000..8c0adc8
--- /dev/null
+++ b/.gitconfig
@@ -0,0 +1,12 @@
+[credential]
+ helper = store
+[core]
+ excludesFile = ~/.globalgitignore
+ editor = vim
+[user]
+ name = Syndamia
+ email = kamen@syndamia.com
+[commit]
+ gpgSign = true
+[push]
+ autoSetupRemote = true
diff --git a/.globalgitignore b/.globalgitignore
new file mode 100644
index 0000000..3849cb1
--- /dev/null
+++ b/.globalgitignore
@@ -0,0 +1,27 @@
+#
+# Vim stuff (taken from https://github.com/github/gitignore/blob/main/Global/Vim.gitignore)
+#
+
+# Swap
+[._]*.s[a-v][a-z]
+[._]*.sw[a-p]
+[._]s[a-rt-v][a-z]
+[._]ss[a-gi-z]
+[._]sw[a-p]
+
+# Temporary
+.netrwhist
+*~
+# Auto-generated tag files
+tags
+# Persistent undo
+[._]*.un~
+
+.vim-session
+
+#
+# General software compilation
+#
+
+*.out
+output
diff --git a/.gtkrc-2.0 b/.gtkrc-2.0
new file mode 100644
index 0000000..c64e9c5
--- /dev/null
+++ b/.gtkrc-2.0
@@ -0,0 +1,19 @@
+# DO NOT EDIT! This file will be overwritten by LXAppearance.
+# Any customization should be done in ~/.gtkrc-2.0.mine instead.
+
+include "/home/kamen/.gtkrc-2.0.mine"
+gtk-theme-name="Mint-Y-Dark-Blue"
+gtk-icon-theme-name="Mint-Y-Dark-Blue"
+gtk-font-name="Noto Sans 10"
+gtk-cursor-theme-name="oreo_black_bordered_cursors"
+gtk-cursor-theme-size=0
+gtk-toolbar-style=GTK_TOOLBAR_BOTH
+gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
+gtk-button-images=1
+gtk-menu-images=1
+gtk-enable-event-sounds=1
+gtk-enable-input-feedback-sounds=1
+gtk-xft-antialias=1
+gtk-xft-hinting=1
+gtk-xft-hintstyle="hintmedium"
+gtk-xft-rgba="none"
diff --git a/.inputrc b/.inputrc
new file mode 100644
index 0000000..f12eb5f
--- /dev/null
+++ b/.inputrc
@@ -0,0 +1,13 @@
+# Readline config
+
+# Respect default shortcuts.
+$include /etc/inputrc
+
+## arrow up
+#
+"\e[A":history-search-backward
+## arrow down
+"\e[B":history-search-forward
+
+set show-all-if-ambiguous on
+set completion-ignore-case on
diff --git a/.moc/themes/rapture b/.moc/themes/rapture
new file mode 100644
index 0000000..5cb5324
--- /dev/null
+++ b/.moc/themes/rapture
@@ -0,0 +1,41 @@
+##############################################################################
+#
+# Rapture Theme by Kamen Mladenov <syndamia@protonmail.com>
+#
+# A gruvbox-inspired theme for MOC (Music On Console)
+#
+##############################################################################
+
+background = white black
+frame = white black
+window_title = white black bold,dim
+directory = white black bold
+selected_directory = black white bold
+file = green black bold
+selected_file = black yellow bold
+selected_info = black yellow bold
+marked_file = red black bold
+marked_selected_file = red white bold
+marked_info = blue black bold
+marked_selected_info = blue white bold
+info = magenta black bold
+status = yellow black bold
+title = yellow black bold
+state = black white bold
+current_time = green black bold
+time_left = red black bold
+total_time = black black
+time_total_frames = black black
+sound_parameters = cyan black bold
+legend = cyan black
+disabled = red black bold
+enabled = white black bold
+empty_mixer_bar = white black
+filled_mixer_bar = black white
+empty_time_bar = white black bold
+filled_time_bar = black yellow bold
+entry = white black
+entry_title = magenta black bold
+error = black red bold
+message = white black bold,dim
+plist_time = black white
diff --git a/.moc/timidity.cfg b/.moc/timidity.cfg
new file mode 100644
index 0000000..a5479c1
--- /dev/null
+++ b/.moc/timidity.cfg
@@ -0,0 +1 @@
+default /tmp/timidity.tmp
diff --git a/.runelite/settings.properties b/.runelite/settings.properties
new file mode 100644
index 0000000..003df00
--- /dev/null
+++ b/.runelite/settings.properties
@@ -0,0 +1,1159 @@
+#RuneLite configuration
+#Mon Apr 04 20:02:36 EEST 2022
+statusbars.rightBarMode=PRAYER
+runelite.timestampplugin=true
+runelite.mtaplugin=true
+party.includeSelf=false
+grounditems.textOutline=false
+chatfilter.filterGameChat=false
+runelite.crowdsourcingplugin=true
+implings.showmagpie=NONE
+interacthighlight.objectHoverHighlightColor=-1878982657
+fishing.statTimeout=0
+groundMarker.markerColor=-256
+worldmap.minigameTooltip=true
+banktags.useTabs=true
+worldhopper.subscriptionFilter=BOTH
+itemCharge.showWaterskinCharges=true
+music.musicVolume=1
+runelite.combatlevelplugin=true
+runelite.trayIcon=true
+chatcommands.bh=true
+grandexchange.quickLookup=true
+itemCharge.explorerRing=30
+hunterplugin.hexColorEmptyTrap=-65536
+runelite.hiscoreplugin=true
+screenshot.notifyWhenTaken=true
+groundMarker.drawOnMinimap=true
+runecraft.showFire=true
+poh.showRepairStand=true
+statusbars.hideAfterCombatDelay=0
+grandexchange.enableNotifications=true
+agility.markHighlight=-65536
+xpglobes.showXpHour=true
+grounditems.deprioritizeHiddenItems=false
+timers.showTzhaarTimers=true
+xpglobes.Progress\ arc\ width=2
+fpscontrol.limitFpsUnfocused=true
+runecraft.showAir=true
+party.sounds=true
+raids.uploadScreenshot=CLIPBOARD
+wintertodt.notifyCold=INTERRUPT
+itemCharge.showAmuletOfChemistryCharges=true
+objectindicators.rememberObjectColors=false
+grounditems.notifyHighlightedDrops=false
+music.soundEffectVolume=17
+runelite.runenergyplugin=true
+raids.layoutMessage=false
+driftnet.showNetStatus=true
+nightmareZone.absorptionnotification=true
+screenshot.ccKick=false
+xpdrop.meleePrayerColor=-15368019
+screenshot.playerDeath=false
+menuentryswapper.swapGauntlet=false
+entityhider.hideProjectiles=false
+grandexchange.enableOsbPrices=false
+runelite.instancemapplugin=true
+runelite.itempricesplugin=true
+runelite.statusbarsplugin=false
+runelite.questlistplugin=true
+itemCharge.showBraceletOfSlaughterCharges=true
+chatfilter.collapseGameChat=false
+randomevents.notifyMoM=false
+screenshot.includeFrame=true
+runelite.opponentinfoplugin=true
+music.granularSliders=true
+kingdomofmiscellania.cofferThreshold=7500000
+runelite.notificationRequestFocus=FORCE
+playerindicators.drawClanMemberNames=true
+screenshot.combatAchievements=true
+teamCapes.minimumCapeCount=1
+idlenotifier.oxygen=0
+boosts.notifyOnBoost=true
+implings.magpieColor=-7434733
+entityhider.hideClanMates=false
+menuentryswapper.swapQuick=true
+runecraft.showNature=true
+discord.showMainMenu=true
+clanchat.clanCounter=false
+runecraft.hightlightDarkMage=true
+menuentryswapper.shiftClickCustomization=true
+runelite.examineplugin=true
+tearsofguthix.blueTearsColor=1677787135
+menuentryswapper.swapDepositPool=false
+chatcommands.lms=true
+menuentryswapper.swapTemporossLeave=false
+screenshot.uploadScreenshot=NEITHER
+tileindicators.destinationTileBorderWidth=2.0
+worldmap.fairyRingTooltips=true
+grounditems.defaultColor=-1
+metronome.tickVolume=96
+prayer.prayerBarHideIfNotPraying=true
+worldmap.runecraftingAltarIcon=true
+entityhider.hidePlayers=true
+runecraft.showSoul=true
+motherlode.showOresFound=true
+clanchat.privateMessageIcons=false
+chatfilter.filterClan=false
+textrecolor.opaquePrivateMessageReceivedHighlight=-16767101
+menuentryswapper.swapPrayerBook=false
+gpu.uiScalingMode=LINEAR
+xpTracker.progressBarTooltipLabel=TIME_TO_LEVEL
+grounditems.hotkey=0\:512
+chatcommands.gc=true
+woodcutting.showRedwoods=true
+runelite.grounditemsplugin=false
+runelite.timetrackingplugin=true
+grounditems.menuHighlightMode=NAME
+entityhider.hideLocalPlayer=false
+entityhider.hideNPCs2D=false
+tileindicators.highlightCurrentColor=-16711681
+itemidentification.showAllotmentSeeds=false
+cannon.showEmptyCannonNotification=true
+pyramidplunder.highlightUrnsFloor=9
+screenshot.valuableDrop=false
+zoom.invertYaw=false
+discord.showSkillActivity=true
+worldmap.miningSiteTooltips=true
+menuentryswapper.swapHerbs=false
+itemstat.absolute=true
+itemstat.colorBetterUncapped=-13373901
+screenshot.collectionLogEntries=true
+screenshot.kills=false
+implings.earthColor=-12691904
+menuentryswapper.bankDepositShiftClick=OFF
+runelite.bosstimersplugin=true
+textrecolor.transparentClanMessageHighlight=-1
+xpglobes.Orb\ duration=10
+menuentryswapper.swapGEItemCollect=DEFAULT
+zoom.rightClickMovesCamera=true
+inventorygrid.dragDelay=0
+menuentryswapper.swapBait=false
+groundMarker.showImportExport=true
+attackIndicator.warnForStrength=false
+runelite.tearsofguthixplugin=true
+itemidentification.showBerrySeeds=false
+runelite.smeltingplugin=true
+npcindicators.fillColor=335609855
+itemCharge.veryLowWarningColor=-65536
+runecraft.showLaw=true
+herbiboar.showClickboxes=false
+runelite.fishingplugin=true
+runelite.cameraplugin=true
+runelite.friendschatplugin=true
+timers.showAntiFire=true
+defaultworld.useLastWorld=false
+attackIndicator.warnForDefensive=false
+chatnotification.notifyOnPM=false
+itemidentification.showPlanks=false
+woodcutting.showNestNotification=true
+slayer.weaknessPrompt=true
+implings.showname=false
+attackIndicator.warnForMagic=false
+mousehighlight.uiTooltip=true
+fishing.flyingFishNotification=true
+music.muteOwnAreaSounds=false
+chathistory.clearHistory=true
+textrecolor.transparentClanChatGuestMessageHighlight=-1
+attackIndicator.warnForRanged=false
+grounditems.showHighlightedOnly=false
+itemidentification.showPyreLogs=false
+party.recolorNames=true
+roofremoval.removePosition=true
+agility.highlightPortals=true
+driftnet.untaggedFishColor=-16711681
+combatlevel.wildernessAttackLevelRange=true
+runelite.worldmapplugin=true
+groundMarker.fillOpacity=50
+blastmine.hexWarningColor=-2542080
+screenshot.hotkey=0\:0
+poh.showXericsTalisman=true
+runelite.barrowsplugin=true
+worldmap.miscellaneousTeleportIcon=true
+menuentryswapper.swapJewelleryBox=false
+npcUnaggroArea.npcUnaggroAreaColor=-256
+worldhopper.showSidebar=true
+runelite.barbarianassaultplugin=true
+dpscounter.showDamage=false
+gpu.fpsTarget=60
+idlenotifier.spec=0
+runelite.chatcommandsplugin=true
+wintertodt.showOverlay=true
+menuentryswapper.swapCollectMiscellania=false
+runelite.musicplugin=true
+blastfurnace.showConveyorBelt=false
+timers.showCannon=true
+herbiboar.showTrail=true
+menuentryswapper.bankWithdrawShiftClick=OFF
+runelite.raidsplugin=true
+timers.showPickpocketStun=true
+prayer.showPrayerDoseIndicator=true
+grounditems.notifyTier=OFF
+xpglobes.Orb\ size=40
+timetracking.activeTab=CLOCK
+menuentryswapper.claimSlime=true
+grounditems.recolorMenuHiddenItems=false
+itemstat.colorNoChange=-1118482
+menuentryswapper.swapMorytaniaLegs=WEAR
+wintertodt.notifyBrazierOut=true
+blastmine.showTimerOverlay=true
+motherlode.showMiningStats=true
+nightmareZone.moveoverlay=true
+music.muteOtherAreaEnvironmentSounds=false
+dailytaskindicators.showStaves=true
+runelite.groundmarkerplugin=true
+npcindicators.highlightOutline=false
+implings.crystalColor=-10634030
+inventorytags.fillOpacity=50
+interfaceStyles.hdMenu=false
+music.muteOtherAreaSounds=false
+runelite.ammoplugin=true
+gpu.smoothBanding=true
+xpglobes.showVirtualLevel=false
+grounditems.highlightValueCalculation=HIGHEST
+screenshot.displayDate=true
+textrecolor.transparentPublicChatHighlight=-1
+interfaceStyles.hdHealthBars=false
+chatcommands.duels=true
+roofremoval.overridePOH=false
+runelite.wintertodtplugin=true
+grounditems.dontHideUntradeables=true
+hunterplugin.hexColorOpenTrap=-256
+xpglobes.enableTooltips=true
+randomevents.notifyQuiz=false
+runelite.fairyringplugin=true
+runelite.notificationFocused=false
+itemCharge.showBellowCharges=true
+poh.showSpellbook=true
+loottracker.npcKillChatMessage=false
+itemCharge.showBindingNecklaceCharges=true
+itemCharge.ringOfForging=-1
+inventoryViewer.toggleKeybind=0\:0
+interacthighlight.npcAttackHoverHighlightColor=-1862271232
+menuentryswapper.swapHarpoon=false
+stretchedmode.integerScaling=false
+gpu.brightTextures=false
+runelite.fontType=SMALL
+kourendLibrary.showTargetHintArrow=true
+mining.statTimeout=5
+chatcommands.price=true
+specialcounter.bulwarkThreshold=0
+keyremapping.f10=48\:0
+textrecolor.transparentPrivateMessageReceivedHighlight=-1
+keyremapping.f12=61\:0
+keyremapping.f11=45\:0
+menuentryswapper.swapBanker=true
+grounditems.showLootbeamForHighlighted=false
+objectindicators.markerColor=-256
+worldhopper.quickhopOutOfDanger=true
+tileindicators.destinationTileFillColor=838860800
+worldmap.arceuusSpellbookIcon=true
+chatcommands.lvl=true
+worldhopper.quickHopRegionFilter=[]
+fishing.overlayColor=-16711681
+runelite.randomeventplugin=true
+timers.showVengeance=true
+corp.showDamage=true
+runelite.customcursorplugin=true
+playerindicators.nonClanMemberColor=-65536
+boosts.relativeBoost=false
+blastmine.showRockIconOverlay=true
+worldmap.agilityShortcutIcon=true
+screenshot.rewards=true
+loottracker.saveLoot=true
+xpTracker.skillTabOverlayMenuOptions=true
+grounditems.collapseEntries=false
+motherlode.showBrokenStruts=true
+poh.showPortals=true
+motherlode.showMiningState=true
+inventorytags.tagUnderline=false
+raids.screenshotHotkey=0\:0
+worldmap.hunterAreaTooltips=true
+blastmine.hexTimerColor=-2542080
+xpglobes.enableCustomArcColor=false
+runelite.friendlistplugin=true
+attackIndicator.alwaysShowStyle=true
+dailytaskindicators.showEssence=false
+itemidentification.showGems=false
+runelite.xpdropplugin=true
+fpscontrol.maxFpsUnfocused=10
+cooking.fermentTimer=true
+menuentryswapper.swapHardWoodGrove=true
+tileindicators.highlightDestinationColor=-8355712
+dailytaskindicators.showRunes=false
+kourendLibrary.showTutorialOverlay=true
+wintertodt.notifySnowfall=INTERRUPT
+mining.showMiningStats=true
+timetracking.sortOrder=NONE
+textrecolor.opaqueClanGuestInfoHighlight=-65536
+runelite.interfaceFontType=REGULAR
+runelite.boostsplugin=true
+itemstat.colorWorse=-1166541
+slayer.highlightTargets=false
+fishing.harpoonfishOverlayColor=-16711936
+implings.youngColor=-5266296
+menuentryswapper.swapStartMinigame=true
+interfaceStyles.rsCrossSprites=false
+runelite.infoboxFontType=REGULAR
+menuentryswapper.swapDesertAmulet=WEAR
+worldmap.standardSpellbookIcon=true
+chatfilter.collapsePlayerChat=false
+grandexchange.highlightSearchMatch=true
+interacthighlight.npcShowInteract=true
+xpdrop.fakeXpDropDelay=0
+pyramidplunder.highlightDoors=true
+timers.showImbuedHeart=true
+itemprices.showGEPrice=true
+slayer.targetColor=-65536
+gpu.fogDepth=2
+pyramidplunder.showExactTimer=true
+chatfilter.filterClanChat=false
+clanchat.showJoinLeave=false
+menuentryswapper.swapRockCake=false
+agility.highlightSepulchreNpcs=true
+regenmeter.showSpecial=true
+itemCharge.showDodgyCount=true
+mousehighlight.chatboxTooltip=true
+worldmap.fairyRingIcon=true
+keyremapping.esc=27\:0
+roofremoval.removeBetween=true
+keyremapping.left=65\:0
+party.pings=true
+runelite.inventorygridplugin=true
+randomevents.notifyDemon=false
+bank.rightClickBankInventory=false
+barrows.showPrayerDrainTimer=true
+chathistory.pmTargetCycling=true
+poh.showMythicalCape=true
+itemCharge.showAmuletOfBountyCharges=true
+grounditems.hideUnderValue=0
+menuentryswapper.swapEnchant=true
+implings.showbaby=NONE
+runepouch.runeicons=true
+runelite.xptrackerplugin=true
+reportButton.time=LOGIN_TIME
+runelite.cannonplugin=true
+menuentryswapper.swapPick=false
+chatnotification.notifyOnOwnName=false
+grandexchange.enableGELimitReset=true
+runelite.npcindicatorsplugin=true
+timers.showDfsSpecial=true
+hiscore.virtualLevels=true
+runecraft.showDeath=true
+xpglobes.showXpLeft=true
+dailytaskindicators.showHerbBoxes=true
+runelite.partyplugin=true
+poh.showPools=true
+motherlode.showVeins=true
+runecraft.degradingNotification=true
+itemprices.showEA=true
+driftnet.highlightUntaggedFish=true
+timers.showDivine=true
+pyramidplunder.highlightSpeartrapColor=-14336
+grounditems.highValuePrice=1000000
+implings.showninja=NONE
+prayer.prayerIndicatorOverheads=false
+tileindicators.highlightHoveredTile=false
+runelite.gameAlwaysOnTop=false
+fishing.trawlerContribution=true
+prayer.prayerFlickAlwaysOn=false
+textrecolor.opaqueClanMessageHighlight=-16777216
+nightmareZone.recurrentdamagenotification=false
+npcindicators.borderWidth=2.0
+slayer.itemoverlay=true
+chatcommands.clue=true
+kingdomofmiscellania.sendNotifications=false
+roofremoval.removeHovered=true
+worldmap.jewelleryIcon=true
+chatfilter.filterLogin=false
+tileindicators.hoveredTileBorderWidth=2.0
+worldmap.questStartTooltips=true
+feed.includeTweets=true
+nightmareZone.overloadearlywarningseconds=10
+dailytaskindicators.showDynamite=false
+screenshot.valuableDropThreshold=0
+itemCharge.dodgyNotification=true
+dailytaskindicators.showBonemeal=false
+tithefarmplugin.hexColorGrown=-16721664
+runelite.lockWindowSize=false
+attackIndicator.warnForAttack=false
+boosts.displayNextDebuffChange=NEVER
+mta.alchemy=true
+fairyrings.autoOpen=true
+runelite.wikiplugin=true
+runelite.tileindicatorsplugin=true
+runelite.timersplugin=true
+randomevents.notifyBob=false
+barrows.deadBrotherLocColor=-65536
+boosts.boostThreshold=0
+runelite.infoplugin=true
+menuentryswapper.shopSell=OFF
+playerindicators.colorPlayerMenu=true
+grandexchange.geSearchMode=DEFAULT
+xpglobes.Progress\ orb\ outline\ color=-16777216
+grounditems.hiddenColor=-8355712
+xpglobes.showActionsLeft=true
+timetracking.defaultTimerMinutes=5
+interacthighlight.objectInteractHighlightColor=-1862336512
+textrecolor.opaqueGameMessageHighlight=-1109984
+runelite.automaticResizeType=KEEP_GAME_SIZE
+itemprices.hideInventory=true
+animationSmoothing.smoothNpcAnimations=true
+agility.lapsToLevel=true
+itemstat.showStatsInBank=true
+itemCharge.showExpeditiousBraceletCharges=true
+itemCharge.amuletOfChemistry=-1
+interacthighlight.borderWidth=4
+runelite.xpglobesplugin=true
+lowmemory.lowDetail=true
+opponentinfo.hitpointsDisplayStyle=HITPOINTS
+xpdrop.hideSkillIcons=false
+randomevents.removeMenuOptions=true
+hunterplugin.maniacalMonkeyNotify=false
+herbiboar.colorTunnel=-16711936
+slayer.highlightOutline=false
+gpu.anisotropicFilteringLevel=0
+cannon.showDoubleHitSpot=false
+runelite.diaryrequirementsplugin=true
+mta.telekinetic=true
+runelite.screenshotplugin=true
+banktags.rememberTab=true
+playerindicators.drawTeamMemberNames=true
+music.muteOtherAreaNPCSounds=false
+loottracker.priceType=GRAND_EXCHANGE
+itemCharge.showExplorerRingCharges=true
+runelite.sidebarToggleKey=122\:128
+itemCharge.dodgyNecklace=-1
+tileindicators.hoveredTileFillColor=838860800
+grounditems.lootbeamStyle=MODERN
+specialcounter.dragonWarhammerThreshold=0
+itemCharge.ringOfForgingNotification=true
+runelite.tooltipFontType=SMALL
+xpTracker.onScreenDisplayModeBottom=XP_HOUR
+npcindicators.ignoreDeadNpcs=true
+menuentryswapper.swapNpcContact=false
+cannon.showInfobox=false
+chatfilter.filterFriends=false
+gpu.colorBlindMode=NONE
+kourendLibrary.hideDarkManuscript=false
+runelite.clientMaximized=true
+poh.showGlory=true
+motherlode.showRocks=true
+runelite.tithefarmplugin=true
+worldhopper.showMessage=true
+textrecolor.opaqueClanInfoHighlight=-65536
+implings.natureColor=-10712481
+itemstat.showWeight=true
+playerindicators.drawMinimapNames=false
+textrecolor.transparentGameMessageHighlight=-1109984
+grounditems.groundItemTimers=OFF
+runelite.keyremappingplugin=false
+interfaceStyles.gameframe=AROUND_2006
+mta.graveyard=true
+randomevents.notifyForester=false
+runelite.pestcontrolplugin=true
+bank.rightClickBankLoot=false
+runelite.attackstylesplugin=true
+implings.babyColor=-5140557
+npcindicators.highlightHull=true
+runelite.hunterplugin=true
+chatcommands.killcount=true
+implings.showyoung=NONE
+raids.scoutOverlayAtBank=true
+runelite.overlayBackgroundColor=-1673118414
+itemidentification.showHerbSeeds=true
+specialcounter.darklightThreshold=0
+poison.changeHealthIcon=true
+fpscontrol.maxFps=50
+runelite.tooltipPosition=UNDER_CURSOR
+runelite.herbiboarplugin=true
+inventoryViewer.hiddenDefault=false
+itemstat.alwaysShowBaseStats=false
+zoom.compassLook=true
+xpTracker.xpPanelLabel2=XP_LEFT
+xpTracker.xpPanelLabel3=XP_HOUR
+xpTracker.xpPanelLabel4=ACTIONS_LEFT
+menuentryswapper.swapHelp=true
+poison.showInfoboxes=false
+npcindicators.highlightMenuNames=false
+runelite.infoBoxVertical=false
+grounditems.hiddenItems=Vial, Ashes, Coins, Bones, Bucket, Jug, Seaweed
+xpTracker.xpPanelLabel1=XP_GAINED
+clanchat.publicChatIcons=false
+loottracker.showPriceType=false
+fishing.onlyCurrent=false
+runelite.loottrackerplugin=true
+gpu.vsyncMode=ADAPTIVE
+hiscore.autocomplete=true
+itemidentification.showHerbs=false
+timers.showOverload=true
+screenshot.untradeableDrop=false
+kourendLibrary.hideButton=true
+fishing.showIcons=true
+objectindicators.borderWidth=2.0
+agility.overlayColor=-16711936
+randomevents.notifyFrog=false
+menuentryswapper.swapAbyssTeleport=true
+chathistory.retainChatHistory=true
+inventorygrid.highlightColor=268426496
+textrecolor.transparentExamineHighlight=-16711936
+timetracking.timerWarningThreshold=10
+cooking.statTimeout=5
+tileindicators.highlightCurrentTile=false
+corp.markDarkCore=true
+menuentryswapper.swapAdmire=true
+colorpicker.recentColors=-8804123,-11835250,352321535,218103807,268435455,251723520,268419072,268426496
+runelite.kourendlibraryplugin=true
+menuentryswapper.swapHomePortal=HOME
+cannon.showCannonSpots=true
+runelite.discordplugin=true
+friendNotes.showIcons=true
+agility.agilityArenaTimer=true
+entityhider.hideClanChatMembers=false
+playerindicators.teamMemberColor=-15503625
+barrows.brotherLocColor=-16711681
+runelite.chatnotificationsplugin=true
+agility.highlightSepulchreSkilling=true
+regenmeter.showWhenNoChange=false
+worldmap.kourendTaskTooltips=true
+music.mutePrayerSounds=false
+playerindicators.clanMemberColor=-5635841
+npcindicators.highlightTile=false
+textrecolor.opaqueClanChatGuestMessageHighlight=-16777216
+keyremapping.f1=49\:0
+keyremapping.f3=51\:0
+entityhider.hidePets=false
+keyremapping.f2=50\:0
+itemidentification.showComposts=false
+agility.sepulchreHighlightColor=-16711936
+smelting.statTimeout=5
+runelite.roguesdenplugin=true
+statusbars.enableCounter=false
+chathistory.copyToClipboard=true
+fishing.trawlerNotification=true
+itemCharge.showInfoboxes=false
+woodcutting.showWoodcuttingStats=true
+prayer.showPrayerBar=false
+runelite.blastmineplugin=true
+itemstat.colorBetterCapped=-1118669
+chatcommands.bhRogue=true
+loginscreen.username=kami02882@gmail.com
+nightmareZone.absorptionthreshold=50
+itemstat.relative=true
+keyremapping.control=0\:128
+playerindicators.ownNameColor=-16729900
+timers.showVengeanceActive=true
+runelite.gpuplugin=true
+worldhopper.regionFilter=[]
+runelite.infoBoxSize=35
+runelite.worldhopperplugin=true
+worldmap.fishingSpotTooltips=true
+zoom.outerLimit=100
+itemCharge.showGuthixRestDoses=true
+bank.bankPinKeyboard=false
+interacthighlight.npcAttackHighlightColor=-1862336512
+inventorygrid.showHighlight=true
+itemCharge.showBloodEssenceCharges=true
+motherlode.showLootIcons=false
+idlenotifier.animationidle=true
+feed.includeBlogPosts=true
+timetracking.timerNotification=false
+animationSmoothing.smoothObjectAnimations=true
+herbiboar.showStart=true
+runelite.playerindicatorsplugin=true
+timers.showTeleblock=true
+itemCharge.lowWarningColor=-256
+barrows.showBrotherLoc=true
+interacthighlight.npcShowHover=true
+runelite.flashNotification=DISABLED
+agility.trapOverlay=true
+boosts.displayIndicators=false
+runelite.cookingplugin=false
+runelite.inventoryviewerplugin=false
+nightmareZone.absorptioncolorbelowthreshold=-65536
+timetracking.estimateRelative=false
+chatcommands.pets=true
+textrecolor.transparentClanChatInfo=-1
+npcUnaggroArea.notifyExpire=false
+timestamp.format=[HH\:mm]
+objectindicators.highlightOutline=false
+menuentryswapper.swapAssignment=true
+menuentryswapper.shopBuy=OFF
+implings.dragonColor=-2992821
+menuentryswapper.swapDepositItems=false
+runelite.dailytasksplugin=true
+gpu.unlockFps=false
+npcUnaggroArea.hideIfOutOfCombat=false
+discord.showDungeonActivity=true
+driftnet.tagAnnette=true
+playerindicators.playerNamePosition=ABOVE_HEAD
+menuentryswapper.swapNets=true
+itemCharge.showWateringCanCharges=true
+entityhider.hideNPCs=false
+itemCharge.expeditiousNotification=true
+loottracker.showRaidsLootValue=true
+music.muteAmbientSounds=false
+agility.lapTimeout=5
+grounditems.highlightTiles=false
+zoom.compassLookPreservePitch=false
+grounditems.insaneValuePrice=10000000
+party.autoOverlay=true
+worldmap.dungeonTooltips=true
+runelite.screenmarkerplugin=true
+grandexchange.showTotal=true
+runelite.blastfurnaceplugin=true
+runelite.pohplugin=true
+regenmeter.notifyBeforeHpRegenDuration=0
+inventorygrid.showItem=false
+timers.showHomeMinigameTeleports=true
+keyremapping.f9=57\:0
+runelite.slayerplugin=true
+keyremapping.f8=56\:0
+bank.rightClickBankEquip=false
+reportButton.switchTimeFormat=TIME_12H
+menuentryswapper.swapArdougneCloak=WEAR
+keyremapping.f5=53\:0
+menuentryswapper.swapFairyRing=LAST_DESTINATION
+slayer.superiornotification=true
+keyremapping.f4=52\:0
+keyremapping.f7=55\:0
+runelite.chathistoryplugin=true
+keyremapping.f6=54\:0
+motherlode.statTimeout=5
+animationSmoothing.smoothPlayerAnimations=true
+runepouch.fontcolor=-256
+runenergy.replaceOrbText=false
+stretchedmode.keepAspectRatio=true
+loottracker.pvpKillChatMessage=false
+mousehighlight.disableSpellbooktooltip=false
+itemCharge.showBasketCharges=true
+dpscounter.autoreset=false
+chatfilter.maxRepeatedPublicChats=0
+wintertodt.notifyFullInv=true
+implings.spawnColor=-1
+entityhider.hideLocalPlayer2D=false
+zoom.controlFunction=NONE
+xpdrop.magePrayerColor=-15368019
+npcUnaggroArea.npcUnaggroAlwaysActive=false
+runelite.feedplugin=true
+blastmine.showWarningOverlay=true
+tileindicators.currentTileFillColor=838860800
+implings.shownature=NONE
+driftnet.annetteTagColor=-65536
+interacthighlight.npcInteractHighlightColor=-1862336512
+idlenotifier.logoutidle=true
+runelite.runepouchplugin=true
+runelite.clientBounds=0\:0\:1920\:1080
+playerindicators.drawNonClanMemberNames=false
+screenshot.friendDeath=false
+npcindicators.showRespawnTimer=false
+itemCharge.veryLowWarning=1
+runelite.notificationTray=true
+hiscore.playerOption=true
+dpscounter.autopause=false
+loginscreen.pasteenabled=false
+zoom.preserveYaw=false
+menuentryswapper.swapTan=false
+inventorygrid.showGrid=true
+discord.showRegionsActivity=true
+boosts.displayBoosts=BOTH
+npcindicators.npcColor=-16711681
+nightmareZone.zappernotification=false
+timers.showStamina=true
+itemidentification.showTablets=false
+clanchat.clanChatShowOnlineMemberCount=false
+grounditems.highValueColor=-27136
+itemidentification.showSpecialSeeds=false
+driftnet.timeoutDelay=60
+runelite.animationsmoothingplugin=true
+implings.showearth=NONE
+runelite.regenmeterplugin=true
+discord.actionTimeout=5
+textrecolor.opaqueClanChatInfo=-16777216
+worldmap.ancientSpellbookIcon=true
+itemCharge.showRingOfForgingCount=true
+barbarianAssault.showTimer=true
+specialcounter.bandosGodswordThreshold=0
+xpdrop.rangePrayerColor=-15368019
+worldmap.transportationTooltips=true
+grounditems.lowValueColor=-10046721
+worldmap.agilityShortcutTooltips=true
+screenshot.boss=false
+runecraft.showBody=true
+clanchat.joinLeaveTimeout=20
+gpu.antiAliasingMode=DISABLED
+dailytaskindicators.showSand=false
+specialcounter.thresholdNotification=false
+antiDrag.disableOnCtrl=false
+implings.showessence=NONE
+menuentryswapper.swapStairsShiftClick=CLIMB
+agility.lapsPerHour=true
+itemstat.theoretical=false
+agility.highlightStick=true
+idlenotifier.lowEnergy=100
+kourendLibrary.hideDuplicateBook=true
+prayer.prayerIndicator=false
+playerindicators.clanchatMenuIcons=true
+itemidentification.showSeeds=true
+implings.eclecticColor=-7234747
+gpu.drawDistance=45
+blastfurnace.showBarDispenser=false
+fishing.aerialOverlayColor=-16711936
+combatlevel.showPreciseCombatLevel=true
+menuentryswapper.swapTrade=true
+teamCapes.clanChatMemberCounter=false
+zoom.ignoreExamine=false
+itemidentification.textColor=-1
+idlenotifier.prayer=0
+woodcutting.statTimeout=5
+grounditems.highlightedColor=-5635841
+runelite.usernameInTitle=true
+chatnotification.notifyOnTrade=false
+clanchat.clanChatShowJoinLeave=false
+xpTracker.pauseSkillAfter=0
+timetracking.farmingContractInfoBox=true
+prayer.replaceOrbText=false
+grounditems.mediumValuePrice=100000
+slayer.statTimeout=5
+poh.showExitPortal=true
+implings.showeclectic=NONE
+itemCharge.bindingNotification=true
+runelite.skyboxplugin=false
+screenshot.pets=true
+interfaceStyles.menuAlpha=255
+slayer.taskCommand=true
+runelite.idlenotifierplugin=true
+fishing.showMinnowOverlay=true
+itemidentification.showSacks=false
+menuentryswapper.leftClickCustomization=true
+menuentryswapper.swapTravel=true
+clanchat.clanChatIcons=true
+inventorygrid.gridColor=268435455
+minimap.clan=-5635906
+worldmap.lunarSpellbookIcon=true
+pyramidplunder.highlightSpeartraps=true
+hunterplugin.hexColorFullTrap=-16711936
+npcUnaggroArea.npcUnaggroShowTimer=true
+minimap.npc=-256
+minimap.team=-15503625
+worldmap.agilityCourseRooftopIcon=true
+inventorytags.tagFill=false
+itemidentification.showTreeSeeds=false
+textrecolor.opaquePrivateMessageSentHighlight=-16767101
+barrows.showChestValue=true
+minimap.hideMinimap=false
+xpupdater.wiseoldman=false
+worldmap.rareTreeTooltips=true
+itemidentification.showHopSeeds=false
+itemCharge.showFungicideCharges=true
+xpglobes.Progress\ arc\ color=-14336
+interfaceStyles.alwaysStack=false
+woodcutting.showRespawnTimers=true
+poh.showMagicTravel=true
+loginscreen.loginScreen=OFF
+discord.showCityActivity=true
+implings.essenceColor=-14657190
+timers.showArceuusCooldown=false
+pyramidplunder.highlightDoorsColor=-16711936
+itemidentification.showBars=false
+xpglobes.hideMaxed=false
+idlenotifier.highEnergy=0
+zoom.invertPitch=false
+opponentinfo.showOpponentsInMenu=false
+timers.showStaffOfTheDead=true
+runelite.blockExtraMouseButtons=true
+runelite.interfacestylesplugin=false
+timers.showAbyssalSireStun=true
+slayer.highlightTile=false
+xpupdater.cml=false
+attackIndicator.removeWarnedStyles=false
+tileindicators.highlightDestinationTile=true
+fishing.showTiles=true
+zoom.ctrlZoomValue=512
+runecraft.showClickBox=true
+inventoryViewer.hideIfInventoryActive=false
+kourendLibrary.hideVarlamoreEnvoy=false
+itemstat.geStats=true
+clanchat.showIgnoresColor=-65536
+chatcommands.clearSingleWord=87\:128
+idlenotifier.timeout=5000
+itemstat.equipmentStats=true
+runelite.runecraftplugin=true
+menuentryswapper.swapBoxTrap=true
+itemstat.consumableStats=true
+screenshot.levels=true
+mta.enchantment=true
+itemCharge.recoilNotification=false
+nightmareZone.overloadnotification=true
+runelite.nightmarezoneplugin=true
+runelite.notificationFlashColor=1191116800
+itemprices.showHAValue=true
+virtuallevels.virtualTotalLevel=true
+playerindicators.drawFriendNames=true
+herbiboar.colorTrail=-1
+bank.seedVaultValue=true
+raids.ccDisplay=false
+tearsofguthix.showGreenTearsTimer=true
+motherlode.showGemsFound=true
+runelite.uiWindowOpacity=100
+raids.scoutOverlay=true
+runelite.entityhiderplugin=false
+runecraft.showEarth=true
+hunterplugin.hexColorTransTrap=-14336
+discord.elapsedTime=ACTIVITY
+attackIndicator.hideAutoRetaliate=false
+entityhider.hideAttackers=false
+statusbars.enableSkillIcon=true
+menuentryswapper.swapPay=true
+roofremoval.removeDestination=true
+inventorytags.groupColor1=-65536
+runelite.notificationTimeout=10000
+inventorytags.groupColor2=-16711936
+textrecolor.opaqueClanChatMessageHighlight=-16777216
+inventorytags.groupColor3=-16776961
+inventorytags.groupColor4=-65281
+opponentinfo.lookupOnInteraction=false
+infoboxoverlay.orient_InfoBoxOverlay=HORIZONTAL
+party.stats=true
+pyramidplunder.hideTimer=true
+runelite.kingdomplugin=true
+grounditems.mediumValueColor=-6684775
+barbarianAssault.waveTimes=true
+inventorytags.groupColor5=-256
+inventorytags.groupColor6=-16711681
+grounditems.onlyShowLoot=false
+runelite.inventorytagsplugin=false
+loginscreen.showLoginFire=true
+zoom.inner=true
+prayer.showPrayerTooltip=true
+dailytaskindicators.showFlax=false
+chatnotification.notifyOnBroadcast=false
+menuentryswapper.swapExchange=true
+minimap.item=-65536
+clanchat.targetMode=true
+screenshot.baHighGamble=false
+worldhopper.previousKey=37\:192
+grounditems.showMenuItemQuantities=true
+menuentryswapper.swapKaramjaGloves=WEAR
+runecraft.showRifts=true
+feed.includeOsrsNews=true
+worldhopper.nextKey=39\:192
+motherlode.showDepositsLeft=true
+chatcommands.clearEntireChatBox=8\:128
+playerindicators.drawPlayerTiles=false
+grounditems.priceDisplayMode=BOTH
+runelite.friendnotesplugin=true
+inventorytags.showTagOutline=true
+clanchat.showIgnores=true
+menuentryswapper.swapRadasBlessing=EQUIP
+screenshot.duels=false
+discord.showMinigameActivity=true
+itemstat.colorBetterSomecapped=-6492621
+menuentryswapper.swapGEAbort=false
+npcindicators.outlineFeather=0
+runelite.banktagsplugin=true
+idlenotifier.movementidle=false
+runelite.minimapplugin=true
+implings.showCrystal=NONE
+wintertodt.notifyBrazierDamage=INTERRUPT
+itemCharge.chronicle=-1
+tithefarmplugin.hexColorUnwatered=-17664
+banktags.removeTabSeparators=false
+defaultworld.defaultWorld=316
+teamCapes.friendsChatMemberCounter=false
+textrecolor.transparentClanChatInfoHighlight=-65536
+runelite.gameSize=765x503
+discord.showBossActivity=true
+friendlist.showWorldOnLogin=false
+hiscore.bountylookup=false
+raids.scoutOverlayInRaid=false
+slayer.highlightHull=false
+worldmap.farmingpatchTooltips=true
+kourendLibrary.alwaysShowVarlamoreEnvoy=false
+randomevents.notifyDunce=false
+fishing.showFishingStats=true
+blastmine.showOreOverlay=true
+worldhopper.displayPing=false
+poh.showBurner=true
+agility.highlightShortcuts=true
+runelite.prayerplugin=true
+itemCharge.amuletOfBounty=-1
+bank.showExact=false
+itemidentification.showOres=false
+playerindicators.friendNameColor=-16725933
+npcindicators.highlightSouthWestTile=false
+interacthighlight.objectShowInteract=true
+dailytaskindicators.showArrows=false
+timetracking.preferSoonest=false
+menuentryswapper.swapDarkMage=true
+runelite.accountplugin=false
+runelite.woodcuttingplugin=true
+agility.showLapCount=true
+zoom.zoomIncrement=25
+itemCharge.lowWarning=2
+xpTracker.onScreenDisplayMode=XP_GAINED
+pyramidplunder.highlightedChestFloor=9
+implings.showgourmet=NONE
+inventorytags.displayMode=OUTLINE
+itemidentification.showLogs=false
+runelite.agilityplugin=true
+chatcommands.sw=true
+runelite.miningplugin=true
+fishing.minnowsOverlayColor=-65536
+defaultworld.lastWorld=316
+motherlode.showSack=true
+runelite.grandexchangeplugin=true
+xpTracker.logoutPausing=false
+timers.showArceuus=true
+runelite.puzzlesolverplugin=true
+loottracker.syncPanel=true
+raids.enableLayoutWhitelist=false
+menuentryswapper.swapHouseAdvertisement=VIEW
+zoom.middleClickMenu=false
+agility.showClickboxes=true
+runelite.chatchannelplugin=true
+worldmap.agilityCourseTooltips=true
+raids.enableRotationWhitelist=false
+keyremapping.up=87\:0
+worldhopper.menuOption=true
+gpu.useComputeShaders=true
+chatnotification.notifyOnHighlight=false
+timers.showAntipoison=true
+specialcounter.arclightThreshold=0
+runelite.uiEnableCustomChrome=true
+antiDrag.dragDelay=30
+regenmeter.showHitpoints=true
+itemprices.showWhileAlching=true
+wintertodt.roundNotification=5
+menuentryswapper.swapPortalNexus=false
+menuentryswapper.swapPrivate=false
+textrecolor.transparentPrivateMessageSentHighlight=-1
+runecraft.showMind=true
+grounditems.showLootbeamTier=HIGH
+banktags.position=0
+nightmareZone.ultimateforcenotification=false
+itemidentification.showFlowerSeeds=false
+clanchat.guestClanChatShowJoinLeave=false
+xpTracker.intermediateLevelMarkers=false
+textrecolor.transparentClanInfoHighlight=-65536
+driftnet.countColor=-1
+npcindicators.drawNames=false
+randomevents.notifySandwich=false
+stretchedmode.scalingFactor=0
+skybox.customOverworldColor=-11835250
+interacthighlight.npcHoverHighlightColor=-1862271232
+statusbars.enableRestorationBars=true
+runelite.infoBoxTextOutline=false
+runelite.rememberScreenBounds=true
+implings.gourmetColor=-5667998
+chatnotification.notifyOnDuel=false
+xpTracker.progressBarLabel=PERCENTAGE
+menuentryswapper.swapQuickleave=false
+agility.agilityArenaNotifier=true
+barrows.showPuzzleAnswer=true
+itemCharge.showAbyssalBraceletCharges=true
+itemprices.showAlchProfit=false
+blastfurnace.showCofferTime=true
+raids.raidsTimer=true
+puzzlesolver.displaySolution=true
+groundMarker.borderWidth=2.0
+prayer.prayerBarHideIfNonCombat=false
+runelite.corpplugin=true
+textrecolor.opaqueClanChatInfoHighlight=-65536
+runelite.skillcalculatorplugin=true
+keyremapping.cameraRemap=true
+runelite.defaultworldplugin=true
+fpscontrol.drawFps=true
+fpscontrol.limitFps=false
+runelite.stretchedmodeplugin=true
+randomevents.notifyAll=false
+keyremapping.space=32\:0
+zoom.relaxCameraPitch=true
+prayer.prayerFlickLocation=NONE
+grounditems.doubleTapDelay=250
+implings.luckyColor=-10090651
+runelite.panelToggleKey=123\:128
+itemCharge.showPotionDoseCount=false
+runelite.reportbuttonplugin=true
+chatnotification.highlightOwnName=true
+agility.highlightMarks=true
+runelite.warningOnExit=LOGGED_IN
+runecraft.showBlood=true
+itemCharge.bindingNecklace=-1
+timers.showMagicImbue=true
+wiki.leftClickSearch=false
+grounditems.insaneValueColor=-39246
+runelite.motherlodeplugin=true
+runelite.menuEntryShift=true
+grandexchange.enableGeLimits=true
+hiscore.menuOption=true
+clanchat.joinLeaveRank=UNRANKED
+worldmap.scrollIcon=true
+poh.showDigsitePendant=true
+herbiboar.showTunnel=true
+tileindicators.highlightHoveredColor=0
+menuentryswapper.swapTeleToPoh=false
+itemidentification.showEnchantedJewellery=false
+minimap.player=-1
+randomevents.notifyJekyll=false
+pyramidplunder.highlightContainersColor=-256
+itemidentification.showPotions=false
+runelite.dpscounterplugin=true
+groundMarker.showClear=false
+fishing.showNames=false
+menuentryswapper.swapBones=false
+agility.trapHighlight=-65536
+implings.ninjaColor=-12106165
+poh.showPortalNexus=true
+textrecolor.transparentClanGuestInfoHighlight=-65536
+clanchat.guestClanChatShowOnlineMemberCount=false
+xpupdater.templeosrs=false
+timers.showPrayerEnhance=true
+runelite.notificationSound=NATIVE
+screenshot.kingdom=true
+metronome.tockVolume=0
+itemidentification.identificationType=SHORT
+entityhider.hidePlayers2D=true
+slayer.infobox=true
+playerindicators.drawClanChatMemberNames=true
+tithefarmplugin.hexColorWatered=-16737793
+metronome.tickCount=1
+runelite.implingsplugin=true
+herbiboar.showObject=true
+worldmap.rareTreeIcon=true
+boosts.displayNextBuffChange=BOOSTED
+timetracking.birdHouseNotification=false
+runepouch.runePouchOverlayMode=BOTH
+runelite.mousehighlightplugin=true
+music.areaSoundEffectVolume=26
+combatlevel.showLevelsUntil=true
+idlenotifier.interactionidle=true
+menuentryswapper.swapBirdhouseEmpty=true
+wintertodt.damageNotificationColor=-16711681
+cluescroll.displayHintArrows=true
+implings.showdragon=HIGHLIGHT
+antiDrag.onShiftOnly=true
+itemCharge.showTeleportCharges=true
+lowmemory.hideLowerPlanes=false
+implings.showlucky=HIGHLIGHT
+runecraft.showCosmic=true
+runelite.cluescrollplugin=true
+fishing.trawlerTimer=true
+menuentryswapper.swapChase=true
+pyramidplunder.highlightedSarcophagusFloor=9
+menuentryswapper.swapBattlestaves=false
+xpTracker.prioritizeRecentXpSkills=false
+clanchat.recentChats=true
+implings.showspawn=false
+grounditems.itemHighlightMode=BOTH
+nightmareZone.absorptioncoloroverthreshold=-256
+keyremapping.down=83\:0
+itemCharge.showSackCharges=true
+timers.showGodWarsAltar=true
+menuentryswapper.swapStairsLeftClick=CLIMB
+teamCapes.teamCapesOverlay=false
+screenshot.clanDeath=false
+entityhider.hideIgnores=false
+runecraft.showChaos=true
+loginscreen.syncusername=true
+runelite.bankplugin=true
+npcUnaggroArea.npcUnaggroShowAreaLines=false
+clanchat.clanTabChat=false
+runecraft.showWater=true
+runelite.useWikiItemPrices=true
+runelite.fpsplugin=true
+chatcommands.lp=true
+itemCharge.showImpCharges=true
+npcindicators.drawMinimapNames=false
+statusbars.leftBarMode=HITPOINTS
+menuentryswapper.swapTeleportSpell=false
+runelite.itemchargeplugin=true
+runelite.profileMigrationDone=1
+dpscounter.bossDamage=false
+itemidentification.showTeleportScrolls=false
+randomevents.notifyGravedigger=false
+interacthighlight.outlineFeather=4
+idlenotifier.hitpoints=0
+menuentryswapper.swapTeleportItem=false
+cannon.highlightDoubleHitColor=-65536
+timetracking.timeFormatMode=ABSOLUTE_24H
+poh.showAltar=true
+objectindicators.outlineFeather=0
+runelite.objectindicatorsplugin=true
+agility.stickHighlightColor=-65536
+playerindicators.drawOwnName=false
+xpglobes.Progress\ orb\ background\ color=2139127936
+woodcutting.clueNestNotifyTier=BEGINNER
+runelite.loginscreenplugin=true
+bank.searchKeybind=70\:128
+menuentryswapper.swapDecant=false
+npcUnaggroArea.npcAggroAreaColor=1694498560
+discord.showRaidingActivity=true
+randomevents.notifyGenie=false
+xpglobes.alignOrbsVertically=false
+runelite.npcaggroareaplugin=true
+itemCharge.slaughterNotification=true
+runelite.itemstatplugin=true
+nightmareZone.powersurgenotification=false
+itemidentification.showFruitTreeSeeds=false
+timers.showCharge=true
+tileindicators.currentTileBorderWidth=2.0
+xpTracker.hideMaxed=false
+runelite.containInScreen2=RESIZING
+textrecolor.opaquePublicChatHighlight=-16777216
+runelite.notificationGameMessage=true
+interacthighlight.objectShowHover=true
+menuentryswapper.swapCaptainKhaled=false
+grandexchange.showExact=false
+raids.pointsMessage=true
+keyremapping.fkeyRemap=false
+randomevents.notifyBeekeeper=false
+grounditems.lowValuePrice=20000
+agility.highlightSepulchreObstacles=true
+stretchedmode.increasedPerformance=false
+menuentryswapper.swapContract=true
+xpTracker.resetSkillRateAfter=0
+keyremapping.right=68\:0
+grandexchange.showActivelyTradedPrice=true
+customcursor.cursorStyle=RS3_GOLD
+puzzlesolver.drawDots=false
+worldhopper.ping=true
+party.messages=true
+puzzlesolver.displayRemainingMoves=true
+menuentryswapper.swapRowboatDive=false
+playerindicators.clanMenuIcons=true
+agility.portalsHighlight=-65281
+chatfilter.filterType=CENSOR_WORDS
+runelite.driftnetplugin=true
+herbiboar.colorGameObject=-16711681
+bank.showHA=false
+discord.hideElapsedTime=false
+poh.showJewelleryBox=true
+cannon.lowWarningThreshold=0
+entityhider.hideFriends=false
+chatcommands.pb=true
+herbiboar.colorStart=-16711681
+barbarianAssault.showHealerBars=true
+textrecolor.opaqueExamineHighlight=-16776961
+banktags.preventTagTabDrags=false
+menuentryswapper.swapHardWoodGroveParcel=true
+itemidentification.showSaplings=true
+runelite.notesplugin=true
+textrecolor.transparentClanChatMessageHighlight=-1
+wintertodt.notifyEmptyInv=true
+objectindicators.highlightHull=true
+chatcommands.qp=true
+clanchat.confirmKicks=false
+bank.showGE=true
+kingdomofmiscellania.approvalThreshold=100
+runelite.poisonplugin=true
+tearsofguthix.greenTearsColor=1677786880
+menuentryswapper.swapEssenceMineTeleport=false
+minimap.friend=-16711936
+runelite.itemidentificationplugin=true
+playerindicators.clanChatMemberColor=-14413909
+itemidentification.showImplingJars=false
+itemidentification.showJewellery=false
+timers.showFreezes=true
+groundMarker.rememberTileColors=true
+pyramidplunder.timerLowWarning=30
diff --git a/.screenrc b/.screenrc
new file mode 100644
index 0000000..543e198
--- /dev/null
+++ b/.screenrc
@@ -0,0 +1,13 @@
+# no welcome message
+startup_message off
+
+# the following two lines give a two-line status, with the current window highlighted
+hardstatus alwaysfirstline
+hardstatus string '%{= g} %{= w}%-Lw%{=r}%n%f* %t%{-}%+LW'
+
+# huge scrollback buffer
+defscrollback 10000
+
+# mouse tracking allows to switch region focus by clicking
+mousetrack on
+defmousetrack on
diff --git a/.sxhkdrc b/.sxhkdrc
new file mode 100644
index 0000000..a896278
--- /dev/null
+++ b/.sxhkdrc
@@ -0,0 +1,10 @@
+# Hyper_L + Middle mouse button
+mod4 + button2
+ $HOME/.a/plumb.sh 1
+
+# Hyper_L + Right mouse button
+mod4 + button3
+ $HOME/.a/plumb.sh
+
+mod4 + button1
+ find-cursor -s 90 -d 6 -l 1 -w 200 -f -o 1
diff --git a/.sylpheed-2.0/actionsrc b/.sylpheed-2.0/actionsrc
new file mode 100644
index 0000000..a1fc2ff
--- /dev/null
+++ b/.sylpheed-2.0/actionsrc
@@ -0,0 +1 @@
+Render: brave-bin --app="%f"
diff --git a/.sylpheed-2.0/colorlabelrc b/.sylpheed-2.0/colorlabelrc
new file mode 100644
index 0000000..9e5f5f8
--- /dev/null
+++ b/.sylpheed-2.0/colorlabelrc
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/.sylpheed-2.0/pagesetuprc b/.sylpheed-2.0/pagesetuprc
new file mode 100644
index 0000000..e9374d8
--- /dev/null
+++ b/.sylpheed-2.0/pagesetuprc
@@ -0,0 +1,10 @@
+[Page Setup]
+PPDName=A4
+DisplayName=A4
+Width=210
+Height=297
+MarginTop=6.3499999999999996
+MarginBottom=14.224
+MarginLeft=6.3499999999999996
+MarginRight=6.3499999999999996
+Orientation=portrait
diff --git a/.sylpheed-2.0/sylpheedrc b/.sylpheed-2.0/sylpheedrc
new file mode 100644
index 0000000..f192ea0
--- /dev/null
+++ b/.sylpheed-2.0/sylpheedrc
@@ -0,0 +1,250 @@
+[Common]
+autochk_newmail=1
+autochk_interval=1
+check_on_startup=1
+scan_all_after_inc=0
+enable_newmsg_notify=1
+newmsg_notify_command=notify-send Test
+enable_newmsg_notify_sound=0
+newmsg_notify_sound=
+enable_newmsg_notify_window=1
+notify_window_period=10
+inc_local=0
+filter_on_inc_local=1
+spool_path=/var/mail
+save_message=1
+filter_sent_message=1
+recipients_autoreg=1
+show_send_dialog=1
+encoding_method=0
+mime_filename_encoding_method=0
+check_attach=0
+check_attach_str=
+check_recipients=0
+check_recp_exclude=
+allow_jisx0201_kana=0
+auto_signature=1
+signature_separator=--
+auto_ext_editor=0
+undo_level=50
+linewrap_length=72
+linewrap_quotation=0
+linewrap_auto=0
+enable_autosave=0
+autosave_interval=5
+reply_with_quote=1
+reply_account_autoselect=1
+default_reply_list=1
+inherit_recipient_on_self_reply=0
+reply_address_only=0
+show_ruler=1
+reply_quote_mark=>
+reply_quote_format=On %d\n%f wrote:\n\n%Q
+forward_quote_mark=>
+forward_quote_format=\n\nBegin forwarded message:\n\n?d{Date: %d\n}?f{From: %f\n}?t{To: %t\n}?c{Cc: %c\n}?n{Newsgroups: %n\n}?s{Subject: %s\n}\n\n%M
+check_spell=0
+spell_lang=en
+message_font_name=Monospace 12
+display_folder_unread_num=1
+display_folder_num_columns=0
+folder_col_show_new=0
+folder_col_show_unread=0
+folder_col_show_total=0
+newsgroup_abbrev_len=16
+translate_header=1
+enable_swap_from=0
+date_format=%y/%m/%d(%a) %H:%M
+expand_thread=1
+enable_rules_hint=1
+bold_unread=1
+persist_qsearch_filter=1
+toolbar_style=4
+show_searchbar=1
+show_statusbar=1
+main_toolbar_setting=get,get-all,separator,send-queue,separator,compose,reply,reply-all,forward,separator,delete,junk,separator,next,separator,search,print,address-book
+compose_toolbar_setting=
+layout_type=1
+summary_col_show_mark=1
+summary_col_show_unread=1
+summary_col_show_mime=1
+summary_col_show_subject=1
+summary_col_show_from=1
+summary_col_show_date=1
+summary_col_show_size=1
+summary_col_show_number=0
+summary_col_show_to=0
+summary_col_pos_mark=0
+summary_col_pos_unread=1
+summary_col_pos_mime=2
+summary_col_pos_subject=3
+summary_col_pos_from=4
+summary_col_pos_date=5
+summary_col_pos_size=6
+summary_col_pos_number=7
+summary_col_pos_to=8
+summary_sent_col_show_mark=1
+summary_sent_col_show_unread=1
+summary_sent_col_show_mime=1
+summary_sent_col_show_subject=1
+summary_sent_col_show_from=0
+summary_sent_col_show_date=1
+summary_sent_col_show_size=1
+summary_sent_col_show_number=0
+summary_sent_col_show_to=1
+summary_sent_col_pos_mark=0
+summary_sent_col_pos_unread=1
+summary_sent_col_pos_mime=2
+summary_sent_col_pos_subject=3
+summary_sent_col_pos_from=8
+summary_sent_col_pos_date=5
+summary_sent_col_pos_size=6
+summary_sent_col_pos_number=7
+summary_sent_col_pos_to=4
+summary_col_size_mark=21
+summary_col_size_unread=24
+summary_col_size_mime=19
+summary_col_size_subject=558
+summary_col_size_from=139
+summary_col_size_date=158
+summary_col_size_size=45
+summary_col_size_number=40
+summary_col_size_to=120
+folderwin_x=16
+folderwin_y=16
+folderview_width=179
+folderview_height=950
+folderview_visible=1
+folder_col_folder=177
+folder_col_new=32
+folder_col_unread=32
+folder_col_total=32
+summaryview_width=600
+summaryview_height=404
+summaryview_vwidth=979
+summaryview_vheight=912
+main_messagewin_x=256
+main_messagewin_y=210
+messageview_width=600
+messageview_height=300
+messageview_vwidth=750
+messageview_vheight=912
+messageview_visible=1
+mainview_x=0
+mainview_y=0
+mainview_width=600
+mainview_height=1051
+mainwin_x=0
+mainwin_y=0
+mainwin_width=1918
+mainwin_height=1051
+messagewin_width=1118
+messagewin_height=688
+mainwin_maximized=0
+sourcewin_width=600
+sourcewin_height=500
+compose_x=566
+compose_y=225
+compose_width=600
+compose_height=560
+compose_maximized=0
+addressbook_x=32
+addressbook_y=32
+addressbook_width=620
+addressbook_height=360
+addressbook_folder_width=190
+addressbook_col_name=164
+addressbook_col_addr=156
+addressbook_col_nickname=120
+addressbook_col_rem=100
+enable_color=1
+quote_level1_color=179
+quote_level2_color=179
+quote_level3_color=179
+uri_color=32512
+signature_color=0
+recycle_quote_colors=0
+convert_mb_alnum=0
+display_header_pane=1
+show_attach_tab=0
+show_attached_files_first=1
+attach_toolbutton_pos=0
+display_header=1
+render_html=0
+alt_prefer_html=0
+html_only_as_attach=0
+line_space=2
+textview_cursor_visible=0
+enable_smooth_scroll=0
+scroll_step=1
+scroll_half_page=0
+resize_image=1
+inline_image=1
+default_encoding=
+outgoing_charset=
+show_other_header=0
+mime_image_viewer=
+mime_audio_player=
+mime_open_command=gedit '%s'
+mime_command=
+enable_junk=0
+junk_learn_command=bogofilter -N -s -I
+nojunk_learn_command=bogofilter -n -S -I
+junk_classify_command=bogofilter -I
+junk_folder=
+filter_junk_on_receive=0
+filter_junk_before=0
+delete_junk_on_receive=1
+nofilter_junk_sender_in_book=1
+mark_junk_as_read=0
+auto_check_signatures=1
+gpg_signature_popup=0
+store_passphrase=0
+store_passphrase_timeout=0
+passphrase_grab=0
+show_gpg_warning=1
+separate_folder=0
+separate_message=0
+always_show_message_when_selected=1
+open_unread_on_enter=0
+always_mark_read_on_show_msg=1
+remember_last_selected=0
+mark_as_read_on_new_window=0
+open_inbox_on_inc=0
+open_inbox_on_startup=0
+change_account_on_folder_selection=1
+immediate_execution=1
+comply_gnome_hig=1
+show_trayicon=1
+minimize_to_tray=1
+toggle_window_on_trayicon_click=1
+receive_dialog_mode=1
+no_receive_error_panel=0
+close_receive_dialog=1
+add_address_by_click=0
+enable_address_completion=1
+fullauto_completion_mode=1
+always_add_address_only=0
+confirm_on_exit=0
+clean_trash_on_exit=0
+ask_on_cleaning=1
+warn_queued_on_exit=1
+logwindow_line_limit=1000
+online_mode=1
+startup_online_mode=1
+uri_open_command=xdg-open '%s'
+ext_editor_command=gedit %s
+use_print_command=0
+print_command=lpr %s
+use_ext_inc=0
+ext_inc_path=/usr/bin/mh/inc
+use_ext_sendmail=0
+ext_sendmail_cmd=/usr/sbin/sendmail -t -i
+auto_update_check=1
+use_http_proxy=0
+http_proxy_host=
+strict_cache_check=0
+io_timeout_secs=60
+filesel_prev_open_dir=
+filesel_prev_save_dir=
+filesel_prev_folder_dir=
+filesel_save_file_type=0
diff --git a/.tmux.conf b/.tmux.conf
new file mode 100644
index 0000000..207d7e8
--- /dev/null
+++ b/.tmux.conf
@@ -0,0 +1 @@
+set -g mouse on
diff --git a/.wakatime.cfg b/.wakatime.cfg
new file mode 100644
index 0000000..a4f74fc
--- /dev/null
+++ b/.wakatime.cfg
@@ -0,0 +1,9 @@
+[settings]
+debug = false
+hidefilenames = false
+ignore =
+ COMMIT_EDITMSG$
+ PULLREQ_EDITMSG$
+ MERGE_MSG$
+ TAG_EDITMSG$
+api_url = https://wk.syndamia.com/api/heartbeat
diff --git a/.xsession b/.xsession
new file mode 100755
index 0000000..60e7b1a
--- /dev/null
+++ b/.xsession
@@ -0,0 +1,6 @@
+xrandr --output HDMI-A-0 --mode 1920x1080 --rate 100 --primary &
+if which dbus-launch >/dev/null && test -z "$DBUS_SESSION_BUS_ADDRESS"; then
+ eval "$(dbus-launch --sh-syntax --exit-with-session)"
+fi
+exec openbox-session
+wait
diff --git a/jgmenu b/jgmenu
new file mode 100644
index 0000000..4c92f66
--- /dev/null
+++ b/jgmenu
@@ -0,0 +1 @@
+Open,xdg-open .config/jgmenu/append.csv\n --simple