diff options
| author | Justine Smithies <justine@smithies.me.uk> | 2026-01-24 17:19:05 +0000 |
|---|---|---|
| committer | Justine Smithies <justine@smithies.me.uk> | 2026-01-24 17:19:05 +0000 |
| commit | 278f79a4cb5f844e76bb47e50534ed5e28f36505 (patch) | |
| tree | 7ac1232511f162cdd82e1c1415c99a6c0ae0ba65 /.config | |
| parent | 5f7f807bfcfb09bd9b745b0530892046e2475307 (diff) | |
Initial commit
Diffstat (limited to '.config')
| -rwxr-xr-x | .config/foot/foot.ini | 221 | ||||
| -rw-r--r-- | .config/fuzzel/fuzzel.ini | 49 | ||||
| -rw-r--r-- | .config/kanshi/config | 9 | ||||
| -rw-r--r-- | .config/lf/colors | 174 | ||||
| -rw-r--r-- | .config/lf/icons | 357 | ||||
| -rw-r--r-- | .config/lf/lfrc | 65 | ||||
| -rwxr-xr-x | .config/lf/previewer.sh | 41 | ||||
| -rwxr-xr-x | .config/mango/autostart.sh | 40 | ||||
| -rw-r--r-- | .config/mango/config.conf | 285 | ||||
| -rw-r--r-- | .config/qutebrowser/config.py | 145 | ||||
| -rw-r--r-- | .config/qutebrowser/gruvbox.py | 332 | ||||
| -rw-r--r-- | .config/qutebrowser/stylesheet.qss | 1 | ||||
| -rw-r--r-- | .config/waybar/config | 92 | ||||
| -rwxr-xr-x | .config/waybar/scripts/battery.sh | 53 | ||||
| -rwxr-xr-x | .config/waybar/scripts/brightnesscontrol.sh | 40 | ||||
| -rwxr-xr-x | .config/waybar/scripts/calendar.sh | 26 | ||||
| -rwxr-xr-x | .config/waybar/scripts/date-time.sh | 12 | ||||
| -rwxr-xr-x | .config/waybar/scripts/idleinhibit.sh | 28 | ||||
| -rwxr-xr-x | .config/waybar/scripts/layout.sh | 14 | ||||
| -rwxr-xr-x | .config/waybar/scripts/swayidle-update.sh | 7 | ||||
| -rwxr-xr-x | .config/waybar/scripts/volumecontrol.sh | 130 | ||||
| -rw-r--r-- | .config/waybar/style.css | 185 | ||||
| -rw-r--r-- | .config/zathura/zathurarc | 39 |
23 files changed, 2345 insertions, 0 deletions
diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100755 index 0000000..f4fd899 --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,221 @@ +# -*- conf -*- + +# shell=$SHELL (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot +# title=foot +# locked-title=no + +font=GoMono Nerd Font Mono:size=10 +font-bold=GoMono Nerd Font Mono:style=Bold:size=10 +font-italic=GoMono Nerd Font Mono:style=Italic:size=10 + +# font=monospace:size=8 +# font-bold=<bold variant of regular font> +# font-italic=<italic variant of regular font> +# font-bold-italic=<bold+italic variant of regular font> +# line-height=<font metrics> +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset=<font metrics> +# underline-thickness=<font underline thickness> +# box-drawings-uses-font-glyphs=no +dpi-aware=no + +# initial-window-size-pixels=700x500 # Or, +# initial-window-size-chars=<COLSxROWS> +# initial-window-mode=windowed +# pad=0x0 # optionally append 'center' +# resize-delay-ms=100 + +# notify=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers=<number of logical CPUs> +# utempter=/usr/lib/utempter/utempter + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +style=block +# color=<inverse foreground/background> +blink=no +unfocused-style=none +# beam-thickness=1.5 +# underline-thickness=<font underline thickness> + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=0.8 +# background=002b36 +# foreground=839496 + +background=000000 +foreground=ebdbb2 +regular0=282828 +regular1=cc241d +regular2=98971a +regular3=d79921 +regular4=458588 +regular5=b16286 +regular6=689d6a +regular7=a89984 +bright0=928374 +bright1=fb4934 +bright2=b8bb26 +bright3=fabd2f +bright4=83a598 +bright5=d3869b +bright6=8ec07c +bright7=ebdbb2 + +## Normal/regular colors (color palette 0-7) +# regular0=073642 # black +# regular1=dc322f # red +# regular2=859900 # green +# regular3=b58900 # yellow +# regular4=268bd2 # blue +# regular5=d33682 # magenta +# regular6=2aa198 # cyan +# regular7=eee8d5 # white + +## Bright colors (color palette 8-15) +# bright0=08404f # bright black +# bright1=e35f5c # bright red +# bright2=9fb700 # bright green +# bright3=d9a400 # bright yellow +# bright4=4ba1de # bright blue +# bright5=dc619d # bright magenta +# bright6=32c1b6 # bright cyan +# bright7=ffffff # bright white + +## dimmed colors (see foot.ini(5) man page) +# dim0=<not set> +# ... +# dim7=<not-set> + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground=<inverse foreground/background> +# selection-background=<inverse foreground/background> +# jump-labels=<regular0> <regular3> # black-on-yellow +# scrollback-indicator=<regular0> <bright4> # black-on-bright-blue +# search-box-no-match=<regular0> <regular1> # black-on-red +# search-box-match=<regular0> <regular3> # black-on-yellow +# urls=<regular3> + +[csd] +# preferred=server +# size=26 +# font=<primary font> +# color=<foreground color> +# hide-when-typing=no +# border-width=0 +# border-color=<csd.color> +# button-width=26 +# button-color=<background color> +# button-minimize-color=<regular4> +# button-maximize-color=<regular2> +# button-close-color=<regular1> + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=none +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 + +# vim: ft=dosini diff --git a/.config/fuzzel/fuzzel.ini b/.config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..aedc7e4 --- /dev/null +++ b/.config/fuzzel/fuzzel.ini @@ -0,0 +1,49 @@ +# output=<not set> +font=GoMono Nerd Font:size=10 +dpi-aware=no +# prompt=> +icon-theme=hicolor +icons-enabled=yes +# fields=filename,name,generic +# password-character=* +match-mode=fzf +# sort-result=yes +# match-counter=no +# show-actions=no +# terminal=$TERMINAL -e # Note: you cannot actually use environment variables here +# launch-prefix=<not set> + +# Setting this to false can be useful on compositors where enabling +# "focus-follows-mouse" causes fuzzel to exit as soon as the mouse +# is moved over another window. Sway (<= 1.7) exhibits this +# behavior, for example. +# Default: _yes_ +exit-on-keyboard-focus-loss=no + +# lines=15 +width=35 +horizontal-pad=10 +vertical-pad=10 +inner-pad=10 + +# image-size-ratio=0.5 + +# line-height=<use font metrics> +# letter-spacing=0 +line-height=18 +[colors] +background=000000AA +text=efefefef +match=fabd2fff +selection-match=fabd2fff +selection=666666ff +selection-text=efefefef +border=33ffccff + +[border] +width=2 +radius=0 + +[dmenu] +# mode=text # text|index +# exit-immediately-if-empty=no diff --git a/.config/kanshi/config b/.config/kanshi/config new file mode 100644 index 0000000..c3d9fdb --- /dev/null +++ b/.config/kanshi/config @@ -0,0 +1,9 @@ +profile Laptop { + output eDP-1 position 0,0 mode 1920x1080 +} + +profile Dock { + output HDMI-A-1 position 0,0 mode 1920x1080 + output eDP-1 position 1920,0 mode 1920x1080 + exec mmsg -d focusmon,HDMI-A-1 +} diff --git a/.config/lf/colors b/.config/lf/colors new file mode 100644 index 0000000..b65d3f0 --- /dev/null +++ b/.config/lf/colors @@ -0,0 +1,174 @@ +# vim:ft=dircolors +# (This is not a dircolors file but it helps to highlight colors and comments) + +# default values from dircolors +# (entries with a leading # are not implemented in lf) +# #no 00 # NORMAL +# fi 00 # FILE +# #rs 0 # RESET +# di 01;34 # DIR +# ln 01;36 # LINK +# #mh 00 # MULTIHARDLINK +# pi 40;33 # FIFO +# so 01;35 # SOCK +# #do 01;35 # DOOR +# bd 40;33;01 # BLK +# cd 40;33;01 # CHR +# or 40;31;01 # ORPHAN +# #mi 00 # MISSING +# su 37;41 # SETUID +# sg 30;43 # SETGID +# #ca 30;41 # CAPABILITY +# tw 30;42 # STICKY_OTHER_WRITABLE +# ow 34;42 # OTHER_WRITABLE +# st 37;44 # STICKY +# ex 01;32 # EXEC + +# default values from lf (with matching order) +# ln 01;36 # LINK +# or 31;01 # ORPHAN +# tw 01;34 # STICKY_OTHER_WRITABLE +# ow 01;34 # OTHER_WRITABLE +# st 01;34 # STICKY +# di 01;34 # DIR +# pi 33 # FIFO +# so 01;35 # SOCK +# bd 33;01 # BLK +# cd 33;01 # CHR +# su 01;32 # SETUID +# sg 01;32 # SETGID +# ex 01;32 # EXEC +# fi 00 # FILE + +# file types (with matching order) +ln 01;36 # LINK +or 31;01 # ORPHAN +tw 34 # STICKY_OTHER_WRITABLE +ow 34 # OTHER_WRITABLE +st 01;34 # STICKY +di 01;34 # DIR +pi 33 # FIFO +so 01;35 # SOCK +bd 33;01 # BLK +cd 33;01 # CHR +su 01;32 # SETUID +sg 01;32 # SETGID +ex 01;32 # EXEC +fi 00 # FILE + +# archives or compressed (dircolors defaults) +*.tar 01;31 +*.tgz 01;31 +*.arc 01;31 +*.arj 01;31 +*.taz 01;31 +*.lha 01;31 +*.lz4 01;31 +*.lzh 01;31 +*.lzma 01;31 +*.tlz 01;31 +*.txz 01;31 +*.tzo 01;31 +*.t7z 01;31 +*.zip 01;31 +*.z 01;31 +*.dz 01;31 +*.gz 01;31 +*.lrz 01;31 +*.lz 01;31 +*.lzo 01;31 +*.xz 01;31 +*.zst 01;31 +*.tzst 01;31 +*.bz2 01;31 +*.bz 01;31 +*.tbz 01;31 +*.tbz2 01;31 +*.tz 01;31 +*.deb 01;31 +*.rpm 01;31 +*.jar 01;31 +*.war 01;31 +*.ear 01;31 +*.sar 01;31 +*.rar 01;31 +*.alz 01;31 +*.ace 01;31 +*.zoo 01;31 +*.cpio 01;31 +*.7z 01;31 +*.rz 01;31 +*.cab 01;31 +*.wim 01;31 +*.swm 01;31 +*.dwm 01;31 +*.esd 01;31 + +# image formats (dircolors defaults) +*.jpg 01;35 +*.jpeg 01;35 +*.mjpg 01;35 +*.mjpeg 01;35 +*.gif 01;35 +*.bmp 01;35 +*.pbm 01;35 +*.pgm 01;35 +*.ppm 01;35 +*.tga 01;35 +*.xbm 01;35 +*.xpm 01;35 +*.tif 01;35 +*.tiff 01;35 +*.png 01;35 +*.svg 01;35 +*.svgz 01;35 +*.mng 01;35 +*.pcx 01;35 +*.mov 01;35 +*.mpg 01;35 +*.mpeg 01;35 +*.m2v 01;35 +*.mkv 01;35 +*.webm 01;35 +*.ogm 01;35 +*.mp4 01;35 +*.m4v 01;35 +*.mp4v 01;35 +*.vob 01;35 +*.qt 01;35 +*.nuv 01;35 +*.wmv 01;35 +*.asf 01;35 +*.rm 01;35 +*.rmvb 01;35 +*.flc 01;35 +*.avi 01;35 +*.fli 01;35 +*.flv 01;35 +*.gl 01;35 +*.dl 01;35 +*.xcf 01;35 +*.xwd 01;35 +*.yuv 01;35 +*.cgm 01;35 +*.emf 01;35 +*.ogv 01;35 +*.ogx 01;35 + +# audio formats (dircolors defaults) +*.aac 00;36 +*.au 00;36 +*.flac 00;36 +*.m4a 00;36 +*.mid 00;36 +*.midi 00;36 +*.mka 00;36 +*.mp3 00;36 +*.mpc 00;36 +*.ogg 00;36 +*.ra 00;36 +*.wav 00;36 +*.oga 00;36 +*.opus 00;36 +*.spx 00;36 +*.xspf 00;36 diff --git a/.config/lf/icons b/.config/lf/icons new file mode 100644 index 0000000..68d53e3 --- /dev/null +++ b/.config/lf/icons @@ -0,0 +1,357 @@ +# vim:ft=conf + +# These examples require Nerd Fonts or a compatible font to be used. +# See https://www.nerdfonts.com for more information. + +# default values from lf (with matching order) +# ln l # LINK +# or l # ORPHAN +# tw t # STICKY_OTHER_WRITABLE +# ow d # OTHER_WRITABLE +# st t # STICKY +# di d # DIR +# pi p # FIFO +# so s # SOCK +# bd b # BLK +# cd c # CHR +# su u # SETUID +# sg g # SETGID +# ex x # EXEC +# fi - # FILE + +# file types (with matching order) +ln # LINK +or # ORPHAN +tw t # STICKY_OTHER_WRITABLE +ow # OTHER_WRITABLE +st t # STICKY +di # DIR +pi p # FIFO +so s # SOCK +bd b # BLK +cd c # CHR +su u # SETUID +sg g # SETGID +ex # EXEC +fi # FILE + +# file extensions (vim-devicons) +*.styl +*.sass +*.scss +*.htm +*.html +*.slim +*.haml +*.ejs +*.css +*.less +*.md +*.mdx +*.markdown +*.rmd +*.json +*.webmanifest +*.js +*.mjs +*.jsx +*.rb +*.gemspec +*.rake +*.php +*.py +*.pyc +*.pyo +*.pyd +*.coffee +*.mustache +*.hbs +*.conf +*.ini +*.yml +*.yaml +*.toml +*.bat +*.mk +*.jpg +*.jpeg +*.bmp +*.png +*.webp +*.gif +*.ico +*.twig +*.cpp +*.c++ +*.cxx +*.cc +*.cp +*.c +*.cs +*.h +*.hh +*.hpp +*.hxx +*.hs +*.lhs +*.nix +*.lua +*.java +*.sh +*.fish +*.bash +*.zsh +*.ksh +*.csh +*.awk +*.ps1 +*.ml λ +*.mli λ +*.diff +*.db +*.sql +*.dump +*.clj +*.cljc +*.cljs +*.edn +*.scala +*.go +*.dart +*.xul +*.sln +*.suo +*.pl +*.pm +*.t +*.rss +'*.f#' +*.fsscript +*.fsx +*.fs +*.fsi +*.rs +*.rlib +*.d +*.erl +*.hrl +*.ex +*.exs +*.eex +*.leex +*.heex +*.vim +*.ai +*.psd +*.psb +*.ts +*.tsx +*.jl +*.pp +*.vue ﵂ +*.elm +*.swift +*.xcplayground +*.tex ﭨ +*.r ﳒ +*.rproj 鉶 +*.sol ﲹ +*.pem + +# file names (vim-devicons) (case-insensitive not supported in lf) +*gruntfile.coffee +*gruntfile.js +*gruntfile.ls +*gulpfile.coffee +*gulpfile.js +*gulpfile.ls +*mix.lock +*dropbox +*.ds_store +*.gitconfig +*.gitignore +*.gitattributes +*.gitlab-ci.yml +*.bashrc +*.zshrc +*.zshenv +*.zprofile +*.vimrc +*.gvimrc +*_vimrc +*_gvimrc +*.bashprofile +*favicon.ico +*license +*node_modules +*react.jsx +*procfile +*dockerfile +*docker-compose.yml +*rakefile +*config.ru +*gemfile +*makefile +*cmakelists.txt +*robots.txt ﮧ + +# file names (case-sensitive adaptations) +*Gruntfile.coffee +*Gruntfile.js +*Gruntfile.ls +*Gulpfile.coffee +*Gulpfile.js +*Gulpfile.ls +*Dropbox +*.DS_Store +*LICENSE +*React.jsx +*Procfile +*Dockerfile +*Docker-compose.yml +*Rakefile +*Gemfile +*Makefile +*CMakeLists.txt + +# file patterns (vim-devicons) (patterns not supported in lf) +# .*jquery.*\.js$ +# .*angular.*\.js$ +# .*backbone.*\.js$ +# .*require.*\.js$ +# .*materialize.*\.js$ +# .*materialize.*\.css$ +# .*mootools.*\.js$ +# .*vimrc.* +# Vagrantfile$ + +# file patterns (file name adaptations) +*jquery.min.js +*angular.min.js +*backbone.min.js +*require.min.js +*materialize.min.js +*materialize.min.css +*mootools.min.js +*vimrc +Vagrantfile + +# archives or compressed (extensions from dircolors defaults) +*.tar +*.tgz +*.arc +*.arj +*.taz +*.lha +*.lz4 +*.lzh +*.lzma +*.tlz +*.txz +*.tzo +*.t7z +*.zip +*.z +*.dz +*.gz +*.lrz +*.lz +*.lzo +*.xz +*.zst +*.tzst +*.bz2 +*.bz +*.tbz +*.tbz2 +*.tz +*.deb +*.rpm +*.jar +*.war +*.ear +*.sar +*.rar +*.alz +*.ace +*.zoo +*.cpio +*.7z +*.rz +*.cab +*.wim +*.swm +*.dwm +*.esd + +# image formats (extensions from dircolors defaults) +*.jpg +*.jpeg +*.mjpg +*.mjpeg +*.gif +*.bmp +*.pbm +*.pgm +*.ppm +*.tga +*.xbm +*.xpm +*.tif +*.tiff +*.png +*.svg +*.svgz +*.mng +*.pcx +*.mov +*.mpg +*.mpeg +*.m2v +*.mkv +*.webm +*.ogm +*.mp4 +*.m4v +*.mp4v +*.vob +*.qt +*.nuv +*.wmv +*.asf +*.rm +*.rmvb +*.flc +*.avi +*.fli +*.flv +*.gl +*.dl +*.xcf +*.xwd +*.yuv +*.cgm +*.emf +*.ogv +*.ogx + +# audio formats (extensions from dircolors defaults) +*.aac +*.au +*.flac +*.m4a +*.mid +*.midi +*.mka +*.mp3 +*.mpc +*.ogg +*.ra +*.wav +*.oga +*.opus +*.spx +*.xspf + +# other formats +*.pdf diff --git a/.config/lf/lfrc b/.config/lf/lfrc new file mode 100644 index 0000000..1073b16 --- /dev/null +++ b/.config/lf/lfrc @@ -0,0 +1,65 @@ +# interpreter for shell commands +set shell bash + +# set '-eu' options for shell commands +# These options are used to have safer shell commands. Option '-e' is used to +# exit on error and option '-u' is used to give error for unset variables. +# Option '-f' disables pathname expansion which can be useful when $f, $fs, and +# $fx variables contain names with '*' or '?' characters. However, this option +# is used selectively within individual commands as it can be limiting at +# times. +set shellopts '-eu' + +# set internal field separator (IFS) to "\n" for shell commands +# This is useful to automatically split file names in $fs and $fx properly +# since default file separator used in these variables (i.e. 'filesep' option) +# is newline. You need to consider the values of these options and create your +# commands accordingly. +set ifs "\n" + +# leave some space at the top and the bottom of the screen +set scrolloff 10 + +# Use the `dim` attribute instead of underline for the cursor in the preview pane +set cursorpreviewfmt "\033[7;2m" + +# Show number of files in dirs instead of single size +set info size +set dircounts + +# Custom Additions +set drawbox true + +# Toggle hidden files +map . set hidden! + +# Set previewer and cleaner +#set sixel +set previewer ~/.config/lf/previewer.sh + +# Set colours and icons +set icons + +# Custom Functions +cmd open ${{ + case $(file --mime-type $f -bL) in + image/*) setsid imv $f >/dev/null 2>&1 & ;; + *pdf*) setsid zathura $f >/dev/null 2>&1 & ;; + text/*|application/json) $EDITOR "$f";; + video/*) setsid mpv $f -quiet >/dev/null 2>&1 & ;; + *) for f in $fx; do setsid $OPENER $f 2>/dev/null & done ;; + esac +}} + +cmd setwallpaper ${{ + echo "$f" > ~/.cache/wallpaper + if pgrep "swayidle" > /dev/null + then + sh "$HOME/.config/waybar/scripts/swayidle-update.sh" + fi + pkill swaybg > /dev/null 2>&1 + nohup swaybg -m fill -i "$f" > /dev/null 2>&1 & +}} + +# Key Mappings +map bg setwallpaper diff --git a/.config/lf/previewer.sh b/.config/lf/previewer.sh new file mode 100755 index 0000000..764758b --- /dev/null +++ b/.config/lf/previewer.sh @@ -0,0 +1,41 @@ +#!/bin/sh + +if command -v bat >/dev/null 2>&1; then + pagercmd="bat --color=always --style=plain --pager=never" +else + pagercmd="less -FRiX" +fi + +case "$(printf "%s\n" "$(readlink -f "$1")" | awk '{print tolower($0)}')" in + *.tgz|*.tar.gz) tar tzf "$1";; + *.tar.bz2|*.tbz2) tar tjf "$1";; + *.tar.txz|*.txz) xz --list "$1";; + *.tar) tar tf "$1";; + *.zip|*.jar|*.war|*.ear|*.oxt|*.apkg|*.apk) unzip -l "$1";; + *.rar) unrar l "$1";; + *.7z) 7z l "$1";; + *.[1-8]) man "$1" | col -b ;; + *.epub|*.rtf|*.doc|*.docx|*.odt|*.ods|*.odp|*.sxw) + pandoc -s -t markdown -- "$1" | $pagercmd + exit 1 + ;; + *.jpg|*.jpeg|*.png|*.bmp|*.xpm|*.gif) + chafa -f sixel -s "$2x$3" --animate false "$1" --polite on + exit 1 + ;; + *.pdf) + CACHE=$(mktemp) + pdftoppm -png -f 1 -singlefile "$1" "$CACHE" + chafa -f sixel -s "$2x$3" --animate false "$CACHE.png" --polite on + rm "$CACHE" + ;; + *.avi|*.mp4|*.wmv|*.dat|*.3gp|*.ogv|*.mkv|*.mpg|*.mpeg|*.vob|*.fl[icv]|*.m2v|*.mov|*.webm|*.ts|*.mts|*.m4v|*.r[am]|*.qt|*.divx) + CACHE=$(mktemp) + ffmpegthumbnailer -i "$1" -o "$CACHE" -s 0 + chafa -f sixel -s "$2x$3" --animate false "$CACHE" --polite on + rm "$CACHE" + ;; + *) + bat --color=always --style=plain --pager=never "$1" + ;; +esac diff --git a/.config/mango/autostart.sh b/.config/mango/autostart.sh new file mode 100755 index 0000000..025027b --- /dev/null +++ b/.config/mango/autostart.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# Authentication dialog + +pkill -f /usr/local/libexec/polkit-gnome-authentication-agent-1 +/usr/local/libexec/polkit-gnome-authentication-agent-1 & + +# Start xdg-desktop-portal-wlr + +pkill -f /usr/local/libexec/xdg-desktop-portal-wlr +/usr/local/libexec/xdg-desktop-portal-wlr & + +# Start Waybar +pkill -f waybar +waybar & + +# Start Kanshi +pkill -f kanshi +kanshi & + +# $wallpaper is set in your shells config file like below. +read -r wallpaper<"$HOME/.cache/wallpaper" +pkill -f swaybg +swaybg -m fill -i "$wallpaper" & + +pkill -f dunst +dunst & + +pkill -f wlsunset +wlsunset -l 57.4 -L -1.9 & + +# Restore previous brightness +backlight "$(grep 'brightness:' ~/.cache/brightness | awk '{print $2}')" + +# Restore audio volume +mixer vol.volume="$(grep 'vol.volume=' ~/.cache/audio-volume | awk -F ':' '{print $2}')" +mixer vol.mute="$(grep 'vol.mute=' ~/.cache/audio-volume | awk -F '=' '{print $2}')" + +sh "$HOME/.config/waybar/scripts/swayidle-update.sh" + diff --git a/.config/mango/config.conf b/.config/mango/config.conf new file mode 100644 index 0000000..1030cef --- /dev/null +++ b/.config/mango/config.conf @@ -0,0 +1,285 @@ +# More option see https://github.com/DreamMaoMao/maomaowm/wiki/ + +exec=~/.config/mango/autostart.sh + +# Animation Configuration(support type:zoom,slide) +# tag_animation_direction: 0-horizontal,1-vertical +animations=1 +layer_animations=1 +animation_type_open=slide +animation_type_close=slide +layer_animation_type_open = slide +layer_animation_type_close = slide +animation_fade_in=1 +animation_fade_out=1 +tag_animation_direction=1 +zoom_initial_ratio=0.5 +fadein_begin_opacity=0.5 +fadeout_begin_opacity=0.8 +animation_duration_move=500 +animation_duration_open=400 +animation_duration_tag=350 +animation_duration_close=300 +animation_curve_open=0.46,1.0,0.29,1 +animation_curve_move=0.46,1.0,0.29,1 +animation_curve_tag=0.46,1.0,0.29,1 +animation_curve_close=0.08,0.92,0,1 + +# Scroller Layout Setting +scroller_structs=20 +scroller_default_proportion=0.8 +scroller_focus_center=0 +scroller_prefer_center=0 +scroller_default_proportion_single=1.0 +scroller_proportion_preset=0.5,0.8,1.0 + +# Master-Stack Layout Setting (tile,spiral,dwindle) +new_is_master=0 +default_mfact=0.50 +default_nmaster=1 +smartgaps=0 + +# Overview Setting +hotarea_size=10 +enable_hotarea=0 +ov_tab_mode=0 +overviewgappi=5 +overviewgappo=30 + +# Misc +no_border_when_single=0 +axis_bind_apply_timeout=100 +focus_on_activate=1 +sloppyfocus=1 +warpcursor=1 +focus_cross_monitor=0 +focus_cross_tag=1 +enable_floating_snap=0 +snap_distance=30 +cursor_size=24 +cursor_theme=Adwaita +cursor_hide_timeout=4 +drag_tile_to_tile=1 + +# keyboard +repeat_rate=25 +repeat_delay=600 +numlockon=0 +xkb_rules_layout=us,gb +xkb_rules_options=grp:ctrl_space_toggle + +# Trackpad +# need relogin to make it apply +tap_to_click=1 +tap_and_drag=1 +drag_lock=1 +trackpad_natural_scrolling=0 +disable_while_typing=1 +left_handed=0 +middle_button_emulation=0 +swipe_min_threshold=20 + +# mouse +# need relogin to make it apply +mouse_natural_scrolling=0 + +# Appearance +gappih=10 +gappiv=10 +gappoh=10 +gappov=10 +borderpx=2 +rootcolor=0x201b14ff +bordercolor=0x666666ff +focuscolor=0x33ffccff +maximizescreencolor=0x33ffccff +urgentcolor=0xad401fff +scratchpadcolor=0x516c93ff +globalcolor=0xb153a7ff +overlaycolor=0x14a57cff + +# Blur settings +blur=1 +blur_layer=1 +blur_optimized = 0 +blur_params_num_passes = 1 +blur_params_radius = 5 +blur_params_noise = 0.02 +blur_params_brightness = 0.9 +blur_params_contrast = 0.9 +blur_params_saturation = 1.2 + +# Shadow settings +shadows = 1 +layer_shadows = 1 +shadow_only_floating = 0 +shadows_size = 8 +shadows_blur = 10 +shadows_position_x = 0 +shadows_position_y = 0 +shadowscolor= 0x000000ff + +# Window appearance +border_radius=0 +no_radius_when_single=0 +focused_opacity=1.0 +unfocused_opacity=1.0 + +# no blur slurp select layer +layerrule=noblur:1,layer_name:selection + +# layout support: tile,scroller,grid,monocle,spiral,dwindle +tagrule=id:1,layout_name:tile +tagrule=id:2,layout_name:tile +tagrule=id:3,layout_name:tile +tagrule=id:4,layout_name:tile +tagrule=id:5,layout_name:tile +tagrule=id:6,layout_name:tile +tagrule=id:7,layout_name:tile +tagrule=id:8,layout_name:tile +tagrule=id:9,layout_name:tile + +# Key Bindings +# key name refer to `xev` or `wev` command output, +# mod keys name: super,ctrl,alt,shift,none + +# reload config +bind=SUPER,r,reload_config + +# menu and terminal +bind=SUPER,d,spawn,fuzzel +bind=SUPER,Return,spawn,foot + +# power menu +bind=SUPER+SHIFT,p,spawn,sh ~/.local/bin/power-menu-fuzzel.sh + +# emoji menu +bind=SUPER+SHIFT,z,spawn,sh ~/.local/bin/emoji-menu.sh + +# Take a screenshot of the focused output +bind=NONE,Print,spawn,sh ~/.local/bin/screenshot.sh + +# Take a screenshot of the focused window +bind=SHIFT,Print,spawn,sh ~/.local/bin/screenshot.sh focused-window + +# Take a screenshot of the selected region +bind=SUPER,Print,spawn,sh ~/.local/bin/screenshot.sh selected-region + +# Take a screenshot and save it to the clipboard +bind=SUPER+SHIFT,Print,spawn,sh ~/.local/bin/screenshot.sh save-to-clipboard + +# Toggle Waybar +bind=SUPER,w,spawn,killall -SIGUSR1 waybar + +# exit +bind=SUPER+SHIFT,e,quit +bind=SUPER+SHIFT,q,killclient, + +# switch window focus +bind=SUPER,Tab,focusstack,next +bind=ALT,Left,focusdir,left +bind=ALT,Right,focusdir,right +bind=ALT,Up,focusdir,up +bind=ALT,Down,focusdir,down + +# swap window +bind=SUPER+SHIFT,Up,exchange_client,up +bind=SUPER+SHIFT,Down,exchange_client,down +bind=SUPER+SHIFT,Left,exchange_client,left +bind=SUPER+SHIFT,Right,exchange_client,right + +# switch window status +bind=SUPER,g,toggleglobal, +bind=ALT,Tab,toggleoverview, +bind=ALT,backslash,togglefloating, +bind=ALT,a,togglemaximizescreen, +bind=ALT,f,togglefullscreen, +bind=ALT+SHIFT,f,togglefakefullscreen, +bind=SUPER,i,minimized, +bind=SUPER,o,toggleoverlay, +bind=SUPER+SHIFT,I,restore_minimized +bind=ALT,z,toggle_scratchpad + +# scroller layout +bind=ALT,e,set_proportion,1.0 +bind=ALT,x,switch_proportion_preset, + +# switch layout +bind=SUPER,n,switch_layout + +# tag switch +bind=SUPER,Left,viewtoleft, +bind=CTRL,Left,viewtoleft_have_client, +bind=SUPER,Right,viewtoright, +bind=CTRL,Right,viewtoright_have_client, +bind=CTRL+SUPER,Left,tagtoleft, +bind=CTRL+SUPER,Right,tagtoright, + +bind=SUPER,1,view,1 +bind=SUPER,2,view,2 +bind=SUPER,3,view,3 +bind=SUPER,4,view,4 +bind=SUPER,5,view,5 +bind=SUPER,6,view,6 +bind=SUPER,7,view,7 +bind=SUPER,8,view,8 +bind=SUPER,9,view,9 + +# tag: move client to the tag and focus it +# tagsilent: move client to the tag and not focus it +# bind=Alt,1,tagsilent,1 +bind=SUPER+SHIFT,1,tag,1 +bind=SUPER+SHIFT,2,tag,2 +bind=SUPER+SHIFT,3,tag,3 +bind=SUPER+SHIFT,4,tag,4 +bind=SUPER+SHIFT,5,tag,5 +bind=SUPER+SHIFT,6,tag,6 +bind=SUPER+SHIFT,7,tag,7 +bind=SUPER+SHIFT,8,tag,8 +bind=SUPER+SHIFT,9,tag,9 + +# monitor switch +bind=alt+shift,Left,focusmon,left +bind=alt+shift,Right,focusmon,right +bind=SUPER+Alt,Left,tagmon,left +bind=SUPER+Alt,Right,tagmon,right + +# Move focused window to the output left or right on the same tag +bind=SUPER,period,tagmon,left,1 +bind=SUPER,comma,tagmon,right,1 + +# gaps +bind=ALT+SHIFT,X,incgaps,1 +bind=ALT+SHIFT,Z,incgaps,-1 +bind=ALT+SHIFT,R,togglegaps + +# movewin +bind=CTRL+SHIFT,Up,movewin,+0,-50 +bind=CTRL+SHIFT,Down,movewin,+0,+50 +bind=CTRL+SHIFT,Left,movewin,-50,+0 +bind=CTRL+SHIFT,Right,movewin,+50,+0 + +# resizewin +bind=CTRL+ALT,Up,resizewin,+0,-50 +bind=CTRL+ALT,Down,resizewin,+0,+50 +bind=CTRL+ALT,Left,resizewin,-50,+0 +bind=CTRL+ALT,Right,resizewin,+50,+0 + +# Mouse Button Bindings +# NONE mode key only work in ov mode +mousebind=SUPER,btn_left,moveresize,curmove +mousebind=NONE,btn_middle,togglemaximizescreen,0 +mousebind=SUPER,btn_right,moveresize,curresize +mousebind=NONE,btn_left,toggleoverview,-1 +mousebind=NONE,btn_right,killclient,0 + +# Axis Bindings +axisbind=SUPER,UP,viewtoleft_have_client +axisbind=SUPER,DOWN,viewtoright_have_client + +# Monitor Rules - Not used as I'm using kanshi +#monitorrule=eDP-1,0.50,1,tile,0,1,0,1,1920,0,60 +#monitorrule=HDMI-A-1,0.50,1,tile,0,1,0,1,0,0,60 + +# Window Rules +windowrule=isfloating:1,width:640,height:360,offsetx:95,offsety:90,appid:mpv diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py new file mode 100644 index 0000000..27f5bce --- /dev/null +++ b/.config/qutebrowser/config.py @@ -0,0 +1,145 @@ +# config.py +# +# NOTE: config.py is intended for advanced users who are comfortable +# with manually migrating the config file on qutebrowser upgrades. If +# you prefer, you can also configure qutebrowser using the +# :set/:bind/:config-* commands without having to write a config.py +# file. +# +# Documentation: +# qute://help/configuring.html +# qute://help/settings.html + +# pylint: disable=C0111 +c = c # noqa: F821 pylint: disable=E0602,C0103 +config = config # noqa: F821 pylint: disable=E0602,C0103 + +config.load_autoconfig(False) + +c.auto_save.session = True + +# Format of timestamps (e.g. for the history completion). +c.completion.timestamp_format = '%d-%m-%Y %H:%M' + +# Confirm quit if downloading +c.confirm_quit = ["downloads"] + +# Download locations +c.downloads.location.directory = "~/Downloads" + +c.url.searchengines = {'DEFAULT': 'https://start.duckduckgo.com/?q={}', + 'aw': 'https://wiki.archlinux.org/?search={}', + 'goog': 'https://www.google.com/search?q={}', + 're': 'https://www.reddit.com/search?q={}', + # Go to a given subreddit + 'sr': 'https://www.reddit.com/r/{unquoted}', + 'gh': 'https://github.com/search?q={}', + # Jumpt to github repo or user + 'ghr': 'https://github.com/{unquoted}', + 'wiki': 'https://en.wikipedia.org/wiki/{}', + 'yt': 'https://www.youtube.com/results?search_query={}'} + +c.url.default_page = 'https://start.duckduckgo.com' + +# Which cookies to accept. With QtWebEngine, this setting also controls +# other features with tracking capabilities similar to those of cookies; +# including IndexedDB, DOM storage, filesystem API, service workers, and +# AppCache. Note that with QtWebKit, only `all` and `never` are +# supported as per-domain values. Setting `no-3rdparty` or `no- +# unknown-3rdparty` per-domain on QtWebKit will have the same effect as +# `all`. If this setting is used with URL patterns, the pattern gets +# applied to the origin/first party URL of the page making the request, +# not the request URL. With QtWebEngine 5.15.0+, paths will be stripped +# from URLs, so URL patterns using paths will not match. With +# QtWebEngine 5.15.2+, subdomains are additionally stripped as well, so +# you will typically need to set this setting for `example.com` when the +# cookie is set on `somesubdomain.example.com` for it to work properly. +# To debug issues with this setting, start qutebrowser with `--debug +# --logfilter network --debug-flag log-cookies` which will show all +# cookies being set. +# Type: String +# Valid values: +# - all: Accept all cookies. +# - no-3rdparty: Accept cookies from the same origin only. This is known to break some sites, such as GMail. +# - no-unknown-3rdparty: Accept cookies from the same origin only, unless a cookie is already set for the domain. On QtWebEngine, this is the same as no-3rdparty. +# - never: Don't accept cookies at all. +c.content.cookies.accept = 'all' + +# Value to send in the Accept-Language header +c.content.headers.accept_language = 'en-GB,en,el;q=0.9' + +# User agent to send. The following placeholders are defined: * +# `{os_info}`: Something like "X11; Linux x86_64". * `{webkit_version}`: +# The underlying WebKit version (set to a fixed value with +# QtWebEngine). * `{qt_key}`: "Qt" for QtWebKit, "QtWebEngine" for +# QtWebEngine. * `{qt_version}`: The underlying Qt version. * +# `{upstream_browser_key}`: "Version" for QtWebKit, "Chrome" for +# QtWebEngine. * `{upstream_browser_version}`: The corresponding +# Safari/Chrome version. * `{qutebrowser_version}`: The currently +# running qutebrowser version. The default value is equal to the +# unchanged user agent of QtWebKit/QtWebEngine. Note that the value +# read from JavaScript is always the global value. With QtWebEngine +# between 5.12 and 5.14 (inclusive), changing the value exposed to +# JavaScript requires a restart. +# Type: FormatString + +# Not using a custom user agent for now as it causes issues on various sites +# c.content.headers.user_agent = 'Mozilla/5.0 ({os_info}) QtWebEngine/{qt_version} qutebrowser/{qutebrowser_version} Chrome/130.0.0.0' + +# Load images automatically in web pages. +# Type: Bool +c.content.images = True + +# Enable JavaScript. +# Type: Bool +c.content.javascript.enabled = True + +# Allow websites to show notifications. +# Type: BoolAsk +# Valid values: +# - true +# - false +# - ask +c.content.notifications.enabled = 'ask' + +# Allow websites to register protocol handlers via +# `navigator.registerProtocolHandler`. +# Type: BoolAsk +# Valid values: +# - true +# - false +# - ask +c.content.register_protocol_handler = 'ask' + +c.editor.command = ['foot', '-e', 'nvim', '{file}', '-c', 'normal {line}G{column0}l'] + +c.fileselect.multiple_files.command = ['foot', '-e', 'ranger', '--choosefiles={}'] + +c.fileselect.folder.command = ['foot', '-e', 'ranger', '--choosedir={}'] + +c.spellcheck.languages = ['en-GB'] + +c.tabs.padding = {'bottom': 4, 'left': 5, 'right': 5, 'top': 2} + +c.tabs.select_on_remove = 'prev' + +c.fonts.default_family = 'GoMono Nerd Font' +c.fonts.default_size = '10pt' +c.fonts.web.family.standard = 'GoMono Nerd Font' +c.fonts.web.size.default = 14 + +# Font used for the context menu. If set to null, the Qt default is +# used. +# Type: Font +c.fonts.contextmenu = 'default_size default_family' + +config.bind(',M', 'hint links spawn mpv {hint-url}') +config.bind('xb', 'config-cycle statusbar.show never always') +config.bind('xt', 'config-cycle tabs.show never always ') +config.bind('xx', 'config-cycle statusbar.show never always;; config-cycle tabs.show never always ') + +# Custom stylesheet for qt to set tab mouse hover info window font size +c.qt.args += ['stylesheet=/home/justine/.config/qutebrowser/stylesheet.qss'] + +c.content.autoplay = False +config.source('gruvbox.py') diff --git a/.config/qutebrowser/gruvbox.py b/.config/qutebrowser/gruvbox.py new file mode 100644 index 0000000..7c96968 --- /dev/null +++ b/.config/qutebrowser/gruvbox.py @@ -0,0 +1,332 @@ +# gruvbox dark hard qutebrowser theme by Florian Bruhin <me@the-compiler.org> +# +# Originally based on: +# base16-qutebrowser (https://github.com/theova/base16-qutebrowser) +# Base16 qutebrowser template by theova and Daniel Mulford +# Gruvbox dark, hard scheme by Dawid Kurek (dawikur@gmail.com), morhetz (https://github.com/morhetz/gruvbox) + +bg0_hard = "#1d2021" +bg0_soft = '#32302f' +bg0_normal = '#282828' + +bg0 = bg0_normal +bg1 = "#3c3836" +bg2 = "#504945" +bg3 = "#665c54" +bg4 = "#7c6f64" + +fg0 = "#fbf1c7" +fg1 = "#ebdbb2" +fg2 = "#d5c4a1" +fg3 = "#bdae93" +fg4 = "#a89984" + +bright_red = "#fb4934" +bright_green = "#b8bb26" +bright_yellow = "#fabd2f" +bright_blue = "#83a598" +bright_purple = "#d3869b" +bright_aqua = "#8ec07c" +bright_gray = "#928374" +bright_orange = "#fe8019" + +dark_red = "#cc241d" +dark_green = "#98971a" +dark_yellow = "#d79921" +dark_blue = "#458588" +dark_purple = "#b16286" +dark_aqua = "#689d6a" +dark_gray = "#a89984" +dark_orange = "#d65d0e" + +### Completion + +# Text color of the completion widget. May be a single color to use for +# all columns or a list of three colors, one for each column. +c.colors.completion.fg = [fg1, bright_aqua, bright_yellow] + +# Background color of the completion widget for odd rows. +c.colors.completion.odd.bg = bg0 + +# Background color of the completion widget for even rows. +c.colors.completion.even.bg = c.colors.completion.odd.bg + +# Foreground color of completion widget category headers. +c.colors.completion.category.fg = bright_blue + +# Background color of the completion widget category headers. +c.colors.completion.category.bg = bg1 + +# Top border color of the completion widget category headers. +c.colors.completion.category.border.top = c.colors.completion.category.bg + +# Bottom border color of the completion widget category headers. +c.colors.completion.category.border.bottom = c.colors.completion.category.bg + +# Foreground color of the selected completion item. +c.colors.completion.item.selected.fg = fg0 + +# Background color of the selected completion item. +c.colors.completion.item.selected.bg = bg4 + +# Top border color of the selected completion item. +c.colors.completion.item.selected.border.top = bg2 + +# Bottom border color of the selected completion item. +c.colors.completion.item.selected.border.bottom = c.colors.completion.item.selected.border.top + +# Foreground color of the matched text in the selected completion item. +c.colors.completion.item.selected.match.fg = bright_orange + +# Foreground color of the matched text in the completion. +c.colors.completion.match.fg = c.colors.completion.item.selected.match.fg + +# Color of the scrollbar handle in the completion view. +c.colors.completion.scrollbar.fg = c.colors.completion.item.selected.fg + +# Color of the scrollbar in the completion view. +c.colors.completion.scrollbar.bg = c.colors.completion.category.bg + +### Context menu + +# Background color of disabled items in the context menu. +c.colors.contextmenu.disabled.bg = bg3 + +# Foreground color of disabled items in the context menu. +c.colors.contextmenu.disabled.fg = fg3 + +# Background color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.bg = bg0 + +# Foreground color of the context menu. If set to null, the Qt default is used. +c.colors.contextmenu.menu.fg = fg2 + +# Background color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.bg = bg2 + +#Foreground color of the context menu’s selected item. If set to null, the Qt default is used. +c.colors.contextmenu.selected.fg = c.colors.contextmenu.menu.fg + +### Downloads + +# Background color for the download bar. +c.colors.downloads.bar.bg = bg0 + +# Color gradient start for download text. +c.colors.downloads.start.fg = bg0 + +# Color gradient start for download backgrounds. +c.colors.downloads.start.bg = bright_blue + +# Color gradient end for download text. +c.colors.downloads.stop.fg = c.colors.downloads.start.fg + +# Color gradient stop for download backgrounds. +c.colors.downloads.stop.bg = bright_aqua + +# Foreground color for downloads with errors. +c.colors.downloads.error.fg = bright_red + +### Hints + +# Font color for hints. +c.colors.hints.fg = bg0 + +# Background color for hints. +c.colors.hints.bg = 'rgba(250, 191, 47, 200)' # bright_yellow + +# Font color for the matched part of hints. +c.colors.hints.match.fg = bg4 + +### Keyhint widget + +# Text color for the keyhint widget. +c.colors.keyhint.fg = fg4 + +# Highlight color for keys to complete the current keychain. +c.colors.keyhint.suffix.fg = fg0 + +# Background color of the keyhint widget. +c.colors.keyhint.bg = bg0 + +### Messages + +# Foreground color of an error message. +c.colors.messages.error.fg = bg0 + +# Background color of an error message. +c.colors.messages.error.bg = bright_red + +# Border color of an error message. +c.colors.messages.error.border = c.colors.messages.error.bg + +# Foreground color of a warning message. +c.colors.messages.warning.fg = bg0 + +# Background color of a warning message. +c.colors.messages.warning.bg = bright_purple + +# Border color of a warning message. +c.colors.messages.warning.border = c.colors.messages.warning.bg + +# Foreground color of an info message. +c.colors.messages.info.fg = fg2 + +# Background color of an info message. +c.colors.messages.info.bg = bg0 + +# Border color of an info message. +c.colors.messages.info.border = c.colors.messages.info.bg + +### Prompts + +# Foreground color for prompts. +c.colors.prompts.fg = fg2 + +# Border used around UI elements in prompts. +c.colors.prompts.border = f'1px solid {bg1}' + +# Background color for prompts. +c.colors.prompts.bg = bg3 + +# Background color for the selected item in filename prompts. +c.colors.prompts.selected.bg = bg2 + +### Statusbar + +# Foreground color of the statusbar. +c.colors.statusbar.normal.fg = fg2 + +# Background color of the statusbar. +c.colors.statusbar.normal.bg = bg0 + +# Foreground color of the statusbar in insert mode. +c.colors.statusbar.insert.fg = bg0 + +# Background color of the statusbar in insert mode. +c.colors.statusbar.insert.bg = dark_aqua + +# Foreground color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.fg = bg0 + +# Background color of the statusbar in passthrough mode. +c.colors.statusbar.passthrough.bg = dark_blue + +# Foreground color of the statusbar in private browsing mode. +c.colors.statusbar.private.fg = bright_purple + +# Background color of the statusbar in private browsing mode. +c.colors.statusbar.private.bg = bg0 + +# Foreground color of the statusbar in command mode. +c.colors.statusbar.command.fg = fg3 + +# Background color of the statusbar in command mode. +c.colors.statusbar.command.bg = bg1 + +# Foreground color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.fg = c.colors.statusbar.private.fg + +# Background color of the statusbar in private browsing + command mode. +c.colors.statusbar.command.private.bg = c.colors.statusbar.command.bg + +# Foreground color of the statusbar in caret mode. +c.colors.statusbar.caret.fg = bg0 + +# Background color of the statusbar in caret mode. +c.colors.statusbar.caret.bg = dark_purple + +# Foreground color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.fg = c.colors.statusbar.caret.fg + +# Background color of the statusbar in caret mode with a selection. +c.colors.statusbar.caret.selection.bg = bright_purple + +# Background color of the progress bar. +c.colors.statusbar.progress.bg = bright_blue + +# Default foreground color of the URL in the statusbar. +c.colors.statusbar.url.fg = fg4 + +# Foreground color of the URL in the statusbar on error. +c.colors.statusbar.url.error.fg = dark_red + +# Foreground color of the URL in the statusbar for hovered links. +c.colors.statusbar.url.hover.fg = bright_orange + +# Foreground color of the URL in the statusbar on successful load +# (http). +c.colors.statusbar.url.success.http.fg = bright_red + +# Foreground color of the URL in the statusbar on successful load +# (https). +c.colors.statusbar.url.success.https.fg = fg0 + +# Foreground color of the URL in the statusbar when there's a warning. +c.colors.statusbar.url.warn.fg = bright_purple + +### tabs + +# Background color of the tab bar. +c.colors.tabs.bar.bg = bg0 + +# Color gradient start for the tab indicator. +c.colors.tabs.indicator.start = bright_blue + +# Color gradient end for the tab indicator. +c.colors.tabs.indicator.stop = bright_aqua + +# Color for the tab indicator on errors. +c.colors.tabs.indicator.error = bright_red + +# Foreground color of unselected odd tabs. +c.colors.tabs.odd.fg = fg2 + +# Background color of unselected odd tabs. +c.colors.tabs.odd.bg = bg2 + +# Foreground color of unselected even tabs. +c.colors.tabs.even.fg = c.colors.tabs.odd.fg + +# Background color of unselected even tabs. +c.colors.tabs.even.bg = bg3 + +# Foreground color of selected odd tabs. +c.colors.tabs.selected.odd.fg = fg2 + +# Background color of selected odd tabs. +c.colors.tabs.selected.odd.bg = bg0 + +# Foreground color of selected even tabs. +c.colors.tabs.selected.even.fg = c.colors.tabs.selected.odd.fg + +# Background color of selected even tabs. +c.colors.tabs.selected.even.bg = bg0 + +# Background color of pinned unselected even tabs. +c.colors.tabs.pinned.even.bg = bright_green + +# Foreground color of pinned unselected even tabs. +c.colors.tabs.pinned.even.fg = bg2 + +# Background color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.bg = bright_green + +# Foreground color of pinned unselected odd tabs. +c.colors.tabs.pinned.odd.fg = c.colors.tabs.pinned.even.fg + +# Background color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.bg = bg0 + +# Foreground color of pinned selected even tabs. +c.colors.tabs.pinned.selected.even.fg = c.colors.tabs.selected.odd.fg + +# Background color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.bg = c.colors.tabs.pinned.selected.even.bg + +# Foreground color of pinned selected odd tabs. +c.colors.tabs.pinned.selected.odd.fg = c.colors.tabs.selected.odd.fg + +# Background color for webpages if unset (or empty to use the theme's +# color). +# c.colors.webpage.bg = bg4 diff --git a/.config/qutebrowser/stylesheet.qss b/.config/qutebrowser/stylesheet.qss new file mode 100644 index 0000000..0266bac --- /dev/null +++ b/.config/qutebrowser/stylesheet.qss @@ -0,0 +1 @@ +* { font-family "GoMono Nerd Font"; font-size: 11pt } diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..ea128e9 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,92 @@ +{ + "layer": "top", + "height": 27, + "spacing": 5, + "margin-top" :5, + "margin-right" :10, + "margin-left" :10, + "margin-bottom" :-5, + + "modules-left": [ + "dwl/tags", + "custom/layout", + ], + + "modules-center": ["custom/clock"], + + "modules-right": [ + "custom/keyboard-layout", + "idle_inhibitor", + "custom/brightness", + "custom/audio", + "custom/battery", + ], + + "dwl/tags": { + "num-tags": 9, + "tag-labels": ["1", "2", "3", "4", "5", "6", "7", "8", "9"] + }, + + "custom/layout": { + "format": "<span color='#202020' bgcolor='#d79921'> </span> {}", + "return-type": "json", + "exec": "~/.config/waybar/scripts/layout.sh", + "on-click": "~/.config/waybar/scripts/layout.sh toggle", + "interval" : 1, + "tooltip" : false + }, + + "custom/keyboard-layout": { + "format": "<span color='#202020' bgcolor='#98971a' > </span> {}", + "return-type": "text", + "interval": 1, + "exec": "mmsg -k | awk '{print toupper($3); exit}'", + "tooltip" : false + }, + + "idle_inhibitor": { + "format": "<span color='#202020' bgcolor='#458588' > {icon} </span>", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + + "custom/brightness": { + "format": "<span color='#202020' bgcolor='#d79921'> </span> {}%", + "return-type": "json", + "exec": "~/.config/waybar/scripts/brightnesscontrol.sh", + "on-click": "~/.config/waybar/scripts/brightnesscontrol.sh down", + "on-click-right": "~/.config/waybar/scripts/brightnesscontrol.sh up", + "interval" : 1, + "tooltip" : false + }, + + "custom/battery": { + "format-icons": ["","","","","","","","","",""], + "format": "<span color='#202020' bgcolor='#689d6a' > {icon}{alt} </span> {text}%", + "return-type": "json", + "interval": 1, + "exec": "~/.config/waybar/scripts/battery.sh", + "tooltip": false + }, + + "custom/audio": { + "format": "{}%", + "return-type": "json", + "interval": 1, + "exec": "~/.config/waybar/scripts/volumecontrol.sh", + "on-scroll-up": "~/.config/waybar/scripts/volumecontrol.sh up", + "on-scroll-down": "~/.config/waybar/scripts/volumecontrol.sh down", + "on-click": "~/.config/waybar/scripts/volumecontrol.sh mute", + "tooltip": false + }, + + "custom/clock": { + "format": "<span color='#202020' bgcolor='#689d6a' > </span> {}", + "return-type": "json", + "interval": 1, + "exec": "~/.config/waybar/scripts/date-time.sh", + "on-click": "~/.config/waybar/scripts/calendar.sh show" + }, +} diff --git a/.config/waybar/scripts/battery.sh b/.config/waybar/scripts/battery.sh new file mode 100755 index 0000000..73fe1cd --- /dev/null +++ b/.config/waybar/scripts/battery.sh @@ -0,0 +1,53 @@ +#!/bin/sh + +# Send a notification if battery is low, change status in info file accordingly +notify_low () { + + # Battery isn't much but is charging (don't notify) + [ "$status" = "on-line" ] && return + + # Battery critically low + if [ "$capacity" -le 10 ] && ! grep -q critically-low "$lowinfo"; then + notify-send -i "$HOME/.config/icons/critical-battery.png" -u critical "Battery critically low!" + echo critically-low >"$lowinfo" + + # Battery is low + elif [ "$capacity" -le 20 ] && ! grep -q low "$lowinfo"; then + notify-send -i "$HOME/.config/icons/low-battery.png" -t 5500 "Battery low!" + echo low >"$lowinfo" + fi +} + +status="$(apm | grep -E "AC Line status:" | sed -n -e 's/^.*AC Line status: //p')" +capacity="$(apm | grep -E "Remaining battery life:" | head -1 | sed -n -e 's/^.*Remaining battery life: //p' | sed 's/.$//')" + +# Get the low battery status from file ~/.cache/battery-low-status +lowinfo="$HOME/.cache/battery-low-status" +[ ! -e "$lowinfo" ] && touch "$lowinfo" + + +case $1 in + left-click) + ;; + *) + # Set charging icon and capacity icon + [ "$status" = "on-line" ] && charging_icon="" || charging_icon="" + [ "$capacity" -gt 100 ] && capacity=100 + if [ "$capacity" -lt 15 ]; then capacity_icon=' ' + elif [ "$capacity" -lt 40 ]; then capacity_icon=' ' + elif [ "$capacity" -lt 60 ]; then capacity_icon=' ' + elif [ "$capacity" -lt 90 ]; then capacity_icon=' ' + else capacity_icon=' ' + fi + + # Report low battery + [ "$capacity" -le 20 ] && notify_low + + # Reset low battery information in these cases + { [ "$capacity" -gt 20 ] || [ "$status" = "Charging" ]; } && [ -n "$(cat "$lowinfo")" ] && echo "" >"$lowinfo" + + text=$capacity + alt=" "$charging_icon + echo "{\"text\": \"$text"\", \"alt\": \"$alt"\", \"tooltip\":\"$tooltip\", \"class\": \"$class\", \"percentage\":"$capacity"}" + ;; +esac diff --git a/.config/waybar/scripts/brightnesscontrol.sh b/.config/waybar/scripts/brightnesscontrol.sh new file mode 100755 index 0000000..a59e410 --- /dev/null +++ b/.config/waybar/scripts/brightnesscontrol.sh @@ -0,0 +1,40 @@ +#!/bin/sh + +# You can call this script like this: +# brightnessControl up +# brightnessControl down + +# Script inspired by these wonderful people: +# https://github.com/dastorm/volume-notification-dunst/blob/master/volume.sh +# https://gist.github.com/sebastiencs/5d7227f388d93374cebdf72e783fbd6a + +send_notification() { + icon="/usr/share/icons/Adwaita/symbolic/status/daytime-sunrise-symbolic.svg" + brightness=$(backlight -q) + # Make the bar with the special character ─ (it's not dash -) + # https://en.wikipedia.org/wiki/Box-drawing_character + bar=$(seq -s "─" 0 $((brightness / 10 )) | sed 's/[0-9]//g') + # Send the notification + fyi -i "$icon" --hint=string:x-canonical-private-synchronous:brightness -u normal "$bar $brightness" +} + +case $1 in + up) + backlight + 4 + backlight > ~/.cache/brightness + send_notification + # canberra-gtk-play -i audio-volume-change + ;; + down) + backlight - 4 + backlight > ~/.cache/brightness + send_notification + # canberra-gtk-play -i audio-volume-change + ;; + *) + text=$(backlight -q) + icon="" + # printf "%s" "$icon $brightness" "%" + echo "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\"}" + ;; +esac diff --git a/.config/waybar/scripts/calendar.sh b/.config/waybar/scripts/calendar.sh new file mode 100755 index 0000000..82ddd92 --- /dev/null +++ b/.config/waybar/scripts/calendar.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +# Calendar script + +ShowCalendar() { + fyi -a "Calendar" --hint string:x-canonical-private-synchronous:calendar " 📅 Calendar" "$(cal | sed "s/\<$(date +%-d)\>/<span color='#fabd2f'><b>$(date +%-d)<\/b><\/span>/")" +} + +EditCalendar() { + echo +} + +case "$1" in + show) + ShowCalendar + ;; + + edit) + EditCalendar + ;; + + *) + echo $"Usage: ${0##*/} {show|edit}" + exit 1 + +esac diff --git a/.config/waybar/scripts/date-time.sh b/.config/waybar/scripts/date-time.sh new file mode 100755 index 0000000..6ce5e30 --- /dev/null +++ b/.config/waybar/scripts/date-time.sh @@ -0,0 +1,12 @@ +#!/bin/sh +DaySuffix() { + case `date +%-d` in + 1|21|31) echo "st";; + 2|22) echo "nd";; + 3|23) echo "rd";; + *) echo "th";; + esac +} +text=$(date "+%A %-d`DaySuffix` %B %Y - %H:%M ") + +echo "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\"}" diff --git a/.config/waybar/scripts/idleinhibit.sh b/.config/waybar/scripts/idleinhibit.sh new file mode 100755 index 0000000..c24f715 --- /dev/null +++ b/.config/waybar/scripts/idleinhibit.sh @@ -0,0 +1,28 @@ +#!/bin/sh + +# Swayidle toggle +toggle() { + if pgrep "swayidle" > /dev/null + then + pkill swayidle + notify-send --hint=string:x-canonical-private-synchronous:idleinhibit -u normal " Swayidle Inactive" + else + sh "$HOME/.config/river/scripts/swayidle-update.sh" + notify-send --hint=string:x-canonical-private-synchronous:idleinhibit -u normal " Swayidle Active" + fi +} + +case $1 in + toggle) + toggle + ;; + *) + if pgrep "swayidle" > /dev/null + then + icon="" + else + icon="" + fi + printf "%s" "$icon " + ;; +esac diff --git a/.config/waybar/scripts/layout.sh b/.config/waybar/scripts/layout.sh new file mode 100755 index 0000000..997d837 --- /dev/null +++ b/.config/waybar/scripts/layout.sh @@ -0,0 +1,14 @@ +#!/bin/sh + +# Get focused output +output="$(mmsg -g | grep "selmon 1" | awk '{print$1}')" + +case $1 in + toggle) + mmsg -d switch_layout + ;; + *) + text=$(mmsg -g | grep " layout" | sort -t: -k2,2nr | awk '{ print $3 }' FS=' ') + echo "{\"text\":\""$text"\", \"tooltip\":\""$tooltip"\"}" + ;; +esac diff --git a/.config/waybar/scripts/swayidle-update.sh b/.config/waybar/scripts/swayidle-update.sh new file mode 100755 index 0000000..1f905a9 --- /dev/null +++ b/.config/waybar/scripts/swayidle-update.sh @@ -0,0 +1,7 @@ +#!/bin/sh +pkill -f swayidle +read -r wallpaper<"$HOME/.cache/wallpaper" +swayidle -w \ + timeout 300 "swaylock -f -i $wallpaper --effect-blur 10x5 --clock --datestr '%a %d %b %Y' --indicator" \ + timeout 600 "wlopm --off \*;swaylock -F -i $wallpaper --effect-blur 10x5 --clock --datestr '%a %d %b %Y' --indicator" resume "wlopm --on \*" & +# before-sleep "swaylock -f -i $wallpaper --effect-blur 10x5 --clock --datestr '%a %d %b %Y' --indicator" & diff --git a/.config/waybar/scripts/volumecontrol.sh b/.config/waybar/scripts/volumecontrol.sh new file mode 100755 index 0000000..3359046 --- /dev/null +++ b/.config/waybar/scripts/volumecontrol.sh @@ -0,0 +1,130 @@ +#!/bin/sh + +# You can call this script like this: +# volumecontrol up +# volumecontrol down +# volumecontrol mute + +get_volume() { + # pactl get-sink-volume @DEFAULT_SINK@ | grep '%' | cut -d '%' -f 1 | cut -d ' ' -f 6 + echo "scale=1; $(mixer vol | grep 'vol.volume=' | cut -d '=' -f 2 | cut -d ':' -f 1)*100" | bc | cut -d '.' -f 1 +} + +is_mute() { + # pactl get-sink-mute @DEFAULT_SINK@ | grep 'Mute: yes' >> /dev/null + mixer vol | grep 'vol.mute=on' >> /dev/null +} + +send_notification() { + volume=$(get_volume) + # Make the bar with the special character ─ (it's not dash -) + # https://en.wikipedia.org/wiki/Box-drawing_character + if [ "$volume" = "100" ]; then + icon="" + elif [ "$volume" -ge "89" ] && [ "$volume" -le "100" ]; then + icon="" + elif [ "$volume" -ge "79" ] && [ "$volume" -le "90" ]; then + icon="" + elif [ "$volume" -ge "69" ] && [ "$volume" -le "80" ]; then + icon="" + elif [ "$volume" -ge "59" ] && [ "$volume" -le "70" ]; then + icon="" + elif [ "$volume" -ge "49" ] && [ "$volume" -le "60" ]; then + icon="" + elif [ "$volume" -ge "39" ] && [ "$volume" -le "50" ]; then + icon="" + elif [ "$volume" -ge "29" ] && [ "$volume" -le "40" ]; then + icon="" + elif [ "$volume" -ge "19" ] && [ "$volume" -le "30" ]; then + icon="" + elif [ "$volume" -ge "9" ] && [ "$volume" -le "20" ]; then + icon="" + elif [ "$volume" -gt "0" ] && [ "$volume" -le "10" ]; then + icon="" + elif [ "$volume" -eq "0" ]; then + icon="" + class="muted" + fi +bar=$(seq -s "─" $(($volume/5)) | sed 's/[0-9]//g') +# Send the notification +fyi --hint=string:x-canonical-private-synchronous:volumecontrol -u normal "$icon $bar $volume" +} + +case $1 in + up) + # pactl set-sink-mute @DEFAULT_SINK@ 0 + mixer vol.mute=off + # Up the volume (+ 2%) + # pactl set-sink-volume @DEFAULT_SINK@ +2% + mixer vol.volume=+2% + mixer vol > ~/.cache/audio-volume + send_notification + # canberra-gtk-play -i audio-volume-change + ;; + down) + # pactl set-sink-mute @DEFAULT_SINK@ 0 + mixer vol.mute=off + # pactl set-sink-volume @DEFAULT_SINK@ -2% + mixer vol.volume=-2% + mixer vol > ~/.cache/audio-volume + send_notification + # canberra-gtk-play -i audio-volume-change + ;; + mute) + # Toggle mute + # pactl set-sink-mute @DEFAULT_SINK@ toggle + mixer vol.mute=toggle + mixer vol > ~/.cache/audio-volume + if is_mute ; then + icon="" + class="muted" + text="<span color='#202020' bgcolor='#ff00aa' > $icon </span> $volume" + fyi --hint=string:x-canonical-private-synchronous:volumecontrol -u normal "$icon Audio Muted" + else + send_notification + # canberra-gtk-play -i audio-volume-change + fi + ;; + *) + volume="$(get_volume)" + + if [ "$volume" = "100" ]; then + icon="" + elif [ "$volume" -ge "89" ] && [ "$volume" -le "100" ]; then + icon="" + elif [ "$volume" -ge "79" ] && [ "$volume" -le "90" ]; then + icon="" + elif [ "$volume" -ge "69" ] && [ "$volume" -le "80" ]; then + icon="" + elif [ "$volume" -ge "59" ] && [ "$volume" -le "70" ]; then + icon="" + elif [ "$volume" -ge "49" ] && [ "$volume" -le "60" ]; then + icon="" + elif [ "$volume" -ge "39" ] && [ "$volume" -le "50" ]; then + icon="" + elif [ "$volume" -ge "29" ] && [ "$volume" -le "40" ]; then + icon="" + elif [ "$volume" -ge "19" ] && [ "$volume" -le "30" ]; then + icon="" + elif [ "$volume" -ge "9" ] && [ "$volume" -le "20" ]; then + icon="" + elif [ "$volume" -gt "0" ] && [ "$volume" -le "10" ]; then + icon="" + elif [ "$volume" -eq "0" ]; then + icon="" + class="muted" + fi + + +if is_mute || [ "$class" = 'muted' ]; then + icon="" + class="muted" + text="<span color='#202020' bgcolor='#cc241d' > $icon </span> $volume" + else + text="<span color='#202020' bgcolor='#d65d0e' > $icon </span> $volume" +fi + +alt=$icon +echo "{\"text\": \"$text"\", \"alt\": \"$alt"\", \"tooltip\":\"$tooltip\", \"class\": \"$class\", \"percentage\":"$volume"}" + ;; +esac diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..182a733 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,185 @@ +/* ================================ */ +/* Common CSS */ +/* ================================ */ +* { + /* `otf-font-awesome` is required to be installed for icons */ + padding: 0; + margin: 0; + min-height: 0; + border-radius: 0; + border: none; + text-shadow: none; + text-decoration: none; + transition: none; +} + +/* the whole window */ +window#waybar { + color: #fff4d2; + background: none; +} + +window#waybar.hidden { + opacity: 1; +} + +#tags, +#tags button, +/* #tags button.occupied, */ +/* #tags button.focused, */ +/* #tags button.urgent, */ +/* #window, */ +#idle_inhibitor, +#language, +#custom-layout, +#custom-keyboard-layout, +#custom-brightness, +#custom-memory, +#custom-battery, +#custom-battery.critical, +#custom-battery.warning, +#custom-audio, +#custom-clock { + font-family: GoMono Nerd Font; + font-size: 12px; + font-weight: 800; + color: #202020; + background: #202020; + border: 2px solid #202020; + margin: 0px 4px 4px 0px; + box-shadow: 3px 4px 2px -2px rgba(0, 0, 0, 0.5); +} + +/* #window, */ +#idle_inhibitor, +#language, +#custom-layout, +#custom-keyboard-layout, +#custom-brightness, +#custom-memory, +#custom-battery, +#custom-battery.critical, +#custom-battery.warning, +#custom-audio, +#clock { + padding-right: 4px; +} + +/* ================================ */ +/* idle_inhibitor */ +/* ================================ */ + +#idle_inhibitor { + color: #458588; + padding: 0; +} + +/* ================================ */ +/* language */ +/* ================================ */ + +#language { + color: #fb4934; +} + +/* ================================ */ +/* custom-audio */ +/* ================================ */ +#custom-audio { + color: #d65d0e; +} + +#custom-audio.muted { + color: #cc241d; +} + +/* ================================ */ +/* custom-brightness */ +/* ================================ */ +#custom-brightness { + color: #d79921; +} + +/* ================================ */ +/* custom-layout */ +/* ================================ */ +#custom-layout { + color: #d79921; +} + +/*================================= */ +/* custom-keyboard-layout */ +/*==================================*/ +#custom-keyboard-layout { + color: #98971a; +} + +/* ================================ */ +/* pulseaudio */ +/* ================================ */ +#pulseaudio { + color: #83a598; +} + +#pulseaudio.muted { + color: #fb4934; +} + +/* ================================ */ +/* custom-battery */ +/* ================================ */ +#custom-battery { + color: #689d6a; +} + +#custom-battery.warning { + color: #fe8019; +} + +#custom-battery.critical { + color: #cc241d; +} + +/* ================================ */ +/* clock */ +/* ================================ */ +#custom-clock { + color: #689d6a; +} + +/* ================================ */ +/* Tags */ +/* ================================ */ + +#tags { + padding: 0; +} + +#tags button { + color: #928374; + background: #3c3836; + padding: 0 4px; + margin: 0px -0.5px; + min-width: 15px; +} + +#tags button:hover { + color: #fff4d2; + background: #fe8019; +} + +#tags button.occupied { + color: #fff4d2; + background: #98971a; +} + +#tags button.focused { + color: #fff4d2; + background: #fe8019; +} + +#tags button.urgent { + color: #fff4d2; + background: #cc241d; +} + diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc new file mode 100644 index 0000000..bfc65e1 --- /dev/null +++ b/.config/zathura/zathurarc @@ -0,0 +1,39 @@ +set selection-clipboard clipboard + +# Gruvbox theme +# https://github.com/eastack/zathura-gruvbox/blob/master/zathura-gruvbox-dark +set notification-error-bg "#282828" # bg +set notification-error-fg "#fb4934" # bright:red +set notification-warning-bg "#282828" # bg +set notification-warning-fg "#fabd2f" # bright:yellow +set notification-bg "#282828" # bg +set notification-fg "#b8bb26" # bright:green + +set completion-bg "#504945" # bg2 +set completion-fg "#ebdbb2" # fg +set completion-group-bg "#3c3836" # bg1 +set completion-group-fg "#928374" # gray +set completion-highlight-bg "#83a598" # bright:blue +set completion-highlight-fg "#504945" # bg2 + +# Define the color in index mode +set index-bg "#504945" # bg2 +set index-fg "#ebdbb2" # fg +set index-active-bg "#83a598" # bright:blue +set index-active-fg "#504945" # bg2 + +set inputbar-bg "#282828" # bg +set inputbar-fg "#ebdbb2" # fg + +set statusbar-bg "#504945" # bg2 +set statusbar-fg "#ebdbb2" # fg + +set highlight-color "#fabd2f" # bright:yellow +set highlight-active-color "#fe8019" # bright:orange + +#set default-bg "#282828" # bg +set default-bg rgba(0,0,0,0.7) #bg +set default-fg "#ebdbb2" # fg +set render-loading true +set render-loading-bg "#282828" # bg +set render-loading-fg "#ebdbb2" # fg |
