diff options
39 files changed, 1889 insertions, 676 deletions
@@ -1,6 +1,7 @@ zsh/hist zsh/zcompdump zoomus.conf +zirless/ zec-qt-wallet-org/ ytfzf/subscriptions yabridgectl/ @@ -10,6 +11,7 @@ xmonad/xmonad-x86_64-linux xmonad/xmonad.o xmonad/xmonad.hi weechat/ +waybar/config-Hyprland-* waybar/config-river-* waybar/config-dwl-* vlc/vlc-qt-interface.conf @@ -1,6 +1,5 @@ VIM := $(shell command -v vim 2>/dev/null) NVIM := $(shell command -v nvim 2>/dev/null) -XCONFS := X11/xinitrc X11/xprofile X11/Xresources ZCONFS := zsh/.zshenv DCONFS := doas.conf diff --git a/X11/xinitrc b/X11/xinitrc deleted file mode 100755 index 73e2b83..0000000 --- a/X11/xinitrc +++ /dev/null @@ -1,5 +0,0 @@ -xrdb ~/.Xresources -sh -c ~/.xprofile & -#runsvdir ~/.runit/runsvdir & -WM="$(~/.local/bin/scripts/crcparse 'WM')" -exec dbus-launch --exit-with-session $WM diff --git a/X11/xprofile b/X11/xprofile deleted file mode 100755 index 18647e2..0000000 --- a/X11/xprofile +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -#layout.sh -#tsoff -#xrdb ~/.Xresources & -setxkbmap -option "caps:escape" & -#xwallpaper --center ~/background.jpg & -#picom & diff --git a/autostart.sh b/autostart.sh index e9fbeda..38d03be 100755 --- a/autostart.sh +++ b/autostart.sh @@ -7,20 +7,35 @@ runifnot () { fi fi } +killandrun () { + if type $1 >/dev/null; then + echo $1 + if [ -n "$(pgrep -Uzachir -f $1)" ]; then + pkill -Uzachir $1 + fi + $@ & + fi +} -#runifnot runsvdir ~/.runit/runsvdir -notify-sound.sh off & -runifnot picom -runifnot xss-lock slockd -runifnot sxhkd -runifnot dunst -runifnot caffeine -if "$(type xmonad >/dev/null 2>&1)"; then - if ["$(crcparse WM)" = "$(which xmonad)" ]; then - runifnot stalonetray +if [ -n "${WAYLAND_DISPLAY}${DISPLAY}" ]; then + notify-sound.sh off & + runifnot caffeine + if [ -n "$WAYLAND_DISPLAY" ]; then + runifnot swayidle + launch_waybar.sh "$(crcparse WC)" + killandrun swaybg -i ~/background.jpg + else + runifnot picom + runifnot xss-lock slockd + runifnot sxhkd + if "$(type xmonad >/dev/null 2>&1)"; then + if ["$(crcparse WM)" = "$(which xmonad)" ]; then + runifnot stalonetray + fi + fi + xwallpaper --zoom ~/background.jpg + setxkbmap -option "caps:escape" fi fi -xwallpaper --zoom ~/background.jpg -setxkbmap -option "caps:escape" [ -x "$XDG_CONFIG_HOME/computerrc.sh" ] && "$XDG_CONFIG_HOME/computerrc.sh" diff --git a/foot/foot.ini b/foot/foot.ini new file mode 100644 index 0000000..3817067 --- /dev/null +++ b/foot/foot.ini @@ -0,0 +1,199 @@ +# -*- 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=mononoki Nerd Font Mono:size=10 +# font-bold=<bold variant of regular font> +# font-italic=<italic variant of regular font> +# font-bold-italic=<bold+italic variant of regular font> +# font-size-adjustment=0.5 +# 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=auto + +# 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=browser ${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 +# beam-thickness=1.5 +# underline-thickness=<font underline thickness> + +[mouse] +hide-when-typing=yes +# alternate-scroll-mode=yes + +[colors] +alpha=0.8 +background=000000 +foreground=c5c8c6 + +## Normal/regular colors (color palette 0-7) +regular0=1b1d1c # black +regular1=89231d # red +regular2=4eec4e # green +regular3=ae7518 # yellow +regular4=2b55b2 # blue +regular5=784e93 # magenta +regular6=2783a1 # cyan +regular7=b4b7b5 # white + +## Bright colors (color palette 8-15) +bright0=969896 # bright black +bright1=cc342b # bright red +bright2=198844 # bright green +bright3=fba922 # bright yellow +bright4=3971ed # bright blue +bright5=a36ac7 # bright magenta +bright6=39c1ed # 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 | xargs -r browser"] none +pipe-scrollback=[sh -c "xurls | xargs -r browser"] Mod4+l +pipe-selected=[xargs -r browser] 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/hypr/hyprland.conf b/hypr/hyprland.conf new file mode 100644 index 0000000..cc7c331 --- /dev/null +++ b/hypr/hyprland.conf @@ -0,0 +1,326 @@ +# See https://wiki.hyprland.org/Configuring/Monitors/ +#{{{ Monitor config +monitor = , preferred, auto, 1 +#}}} + +# See https://wiki.hyprland.org/Configuring/Keywords/ for more + +#{{{ Autostart +# Execute your favorite apps at launch +# exec-once = waybar & hyprpaper & firefox +exec-once = ~/.config/autostart.sh +#}}} + +# Source a file (multi-file configs) +# source = ~/.config/hypr/myColors.conf + +#{{{ Input options +# For all categories, see https://wiki.hyprland.org/Configuring/Variables/ +input { + kb_layout = us + kb_variant = + kb_model = + kb_options = caps:escape + kb_rules = + numlock_by_default = true + scroll_method = "2fg" + follow_mouse = 1 + touchpad { + natural_scroll = no + } + float_switch_override_focus = 0 + sensitivity = 0 # -1.0 - 1.0, 0 means no modification. +} +#}}} + +#{{{ General options +general { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + gaps_in = 5 + gaps_out = 20 + border_size = 2 + col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg + col.inactive_border = rgba(595959aa) + layout = dwindle + no_cursor_warps = false +} +#}}} + +#{{{ Misc options +misc { + enable_swallow = true + swallow_regex = ^(foot)$ +} +#}}} + +#{{{ Decoration options +decoration { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + rounding = 10 + blur = yes + blur_size = 3 + blur_passes = 1 + blur_new_optimizations = on + drop_shadow = yes + shadow_range = 4 + shadow_render_power = 3 + col.shadow = rgba(1a1a1aee) +} +#}}} + +#{{{ Animations options +animations { + enabled = yes + # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more + bezier = myBezier, 0.05, 0.9, 0.1, 1.05 + animation = windows, 1, 7, myBezier + animation = windowsOut, 1, 7, default, popin 80% + animation = border, 1, 10, default + animation = borderangle, 1, 8, default + animation = fade, 1, 7, default + animation = workspaces, 1, 6, default +} +#}}} + +#{{{ Dwindle layout options +dwindle { + # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more + pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = yes # you probably want this + special_scale_factor = 0.55 +} +#}}} + +#{{{ Master layout options +master { + special_scale_factor = 0.55 + # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more + new_is_master = true + new_on_top = false + no_gaps_when_only = false + orientation = left + inherit_fullscreen = true +} +#}}} + +#{{{ Gestures options +gestures { + # See https://wiki.hyprland.org/Configuring/Variables/ for more + workspace_swipe = off +} +#}}} + +#{{{ Device options +# Example per-device config +# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more +device:epic mouse V1 { + sensitivity = -0.5 +} +#}}} + +#{{{ Windowrules +# Example windowrule v1 +# windowrule = float, ^(kitty)$ +# Example windowrule v2 +# windowrulev2 = float, class:^(kitty)$, title:^(kitty)$ +# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more +windowrule = windowdance, title:^(Rhythm Doctor)$ +windowrulev2 = float, class:^(yabridge-host.exe.so)$, title:^(menu)$ +windowrulev2 = float,floating:0,title:^(menu*) +windowrulev2 = forceinput,title:^(menu*) +windowrulev2 = windowdance,title:^(menu*) +#}}} + +#{{{ Mods +# See https://wiki.hyprland.org/Configuring/Keywords/ for more +$mainMod = ALT +$secdMod = SUPER +#}}} + +#{{{ Layout toggle bind +# Layout toggle +bind = $mainMod $secdMod, A, exec, hypr-layout -t +#}}} + +#{{{ Master layout binds +# Master layout binds +#bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster auto #MASTER +#bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER +#bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER +#bind = $mainMod, H, layoutmsg, addmaster #MASTER +#bind = $mainMod, L, layoutmsg, removemaster #MASTER +#bind = $mainMod, J, movefocus, d #MASTER +#bind = $mainMod, K, movefocus, u #MASTER +#}}} + +#{{{ Dwindle layout binds +# Dwindle layout binds +bind = $mainMod, P, pseudo, #DWINDLE +bind = $mainMod $secdMod, S, togglesplit, #DWINDLE +# Move focus with mainMod + HJKL +bind = $mainMod, H, movefocus, l #DWINDLE +bind = $mainMod, L, movefocus, r #DWINDLE +bind = $mainMod, K, movefocus, u #DWINDLE +bind = $mainMod, J, movefocus, d #DWINDLE +# Move window with mainMod + HJKL +bind = $mainMod SHIFT, L, movewindow, r #DWINDLE +bind = $mainMod SHIFT, H, movewindow, l #DWINDLE +bind = $mainMod SHIFT, J, movewindow, d #DWINDLE +bind = $mainMod SHIFT, K, movewindow, u #DWINDLE +# Resize clients with mainMod + secdMod + HJKL +binde = $mainMod $secdMod, L, resizeactive, 10 0 #DWINDLE +binde = $mainMod $secdMod, H, resizeactive, -10 0 #DWINDLE +binde = $mainMod $secdMod, K, resizeactive, 0 -10 #DWINDLE +binde = $mainMod $secdMod, J, resizeactive, 0 10 #DWINDLE +#}}} + +#{{{ Group binds +# Group binds +#bind = $mainMod CONTROL, G, togglegroup, +#bind = $mainMod CONTROL, I, lockgroups, lock +#bind = $mainMod CONTROL, U, lockgroups, unlock +#bind = $mainMod CONTROL, H, moveintogroup, r +#bind = $mainMod CONTROL, L, moveintogroup, l +#bind = $mainMod CONTROL, J, moveintogroup, d +#bind = $mainMod CONTROL, K, moveintogroup, u +#}}} + +#{{{ WC binds +bind = $mainMod+SHIFT, Q, killactive, +bind = $mainMod+SHIFT, E, exit, +bind = $mainMod+SHIFT, SPACE, togglefloating, +#}}} + +#{{{ Workspace binds +# Switch workspaces with mainMod + [0-9] +bind = $mainMod, 1, workspace, 1 +bind = $mainMod, 2, workspace, 2 +bind = $mainMod, 3, workspace, 3 +bind = $mainMod, 4, workspace, 4 +bind = $mainMod, 5, workspace, 5 +bind = $mainMod, 6, workspace, 6 +bind = $mainMod, 7, workspace, 7 +bind = $mainMod, 8, workspace, 8 +bind = $mainMod, 9, workspace, 9 +bind = $mainMod, 0, workspace, 10 +# Move active window to a workspace with mainMod + SHIFT + [0-9] +bind = $mainMod SHIFT, 1, movetoworkspacesilent, 1 +bind = $mainMod SHIFT, 2, movetoworkspacesilent, 2 +bind = $mainMod SHIFT, 3, movetoworkspacesilent, 3 +bind = $mainMod SHIFT, 4, movetoworkspacesilent, 4 +bind = $mainMod SHIFT, 5, movetoworkspacesilent, 5 +bind = $mainMod SHIFT, 6, movetoworkspacesilent, 6 +bind = $mainMod SHIFT, 7, movetoworkspacesilent, 7 +bind = $mainMod SHIFT, 8, movetoworkspacesilent, 8 +bind = $mainMod SHIFT, 9, movetoworkspacesilent, 9 +bind = $mainMod SHIFT, 0, movetoworkspacesilent, 10 +bind = $mainMod CONTROL SHIFT, 1, movetoworkspace, 1 +bind = $mainMod CONTROL SHIFT, 2, movetoworkspace, 2 +bind = $mainMod CONTROL SHIFT, 3, movetoworkspace, 3 +bind = $mainMod CONTROL SHIFT, 4, movetoworkspace, 4 +bind = $mainMod CONTROL SHIFT, 5, movetoworkspace, 5 +bind = $mainMod CONTROL SHIFT, 6, movetoworkspace, 6 +bind = $mainMod CONTROL SHIFT, 7, movetoworkspace, 7 +bind = $mainMod CONTROL SHIFT, 8, movetoworkspace, 8 +bind = $mainMod CONTROL SHIFT, 9, movetoworkspace, 9 +bind = $mainMod CONTROL SHIFT, 0, movetoworkspace, 10 +bind = $mainMod, mouse_down, workspace, e+1 +bind = $mainMod, mouse_up, workspace, e-1 +#}}} + +#{{{ Mouse binds +# Move/resize windows with mainMod + LMB/RMB and dragging +bindm = $mainMod, mouse:272, movewindow +bindm = $mainMod, mouse:273, resizewindow +#}}} + +#{{{ Resize submap binds +bind = $mainMod $secdMod, R, submap, resize +submap = resize +binde = CONTROL, L, resizeactive, 10 0 +binde = CONTROL, H, resizeactive, -10 0 +binde = CONTROL, K, resizeactive, 0 -10 +binde = CONTROL, J, resizeactive, 0 10 +binde = , escape, submap, reset +submap = reset +#}}} + +#{{{ Menu bindings +bind = $mainMod, R, exec, exec j4-dmenu-desktop --dmenu="bemenu -l 10 -p \"Run:\"" +bind = $mainMod, D, exec, exec bemenu-run -l 15 -p "Run:" +bind = $mainMod $secdMod, Q, exec, qbc +bind = $mainMod $secdMod, W, exec, GTK_THEME="Plata-Noir-Compact" lwc +bind = $mainMod $secdMod, E, exec, GTK_THEME="Plata-Noir-Compact" ffc +bind = $mainMod $secdMod, 1, exec, bm +bind = $mainMod $secdMod, comma, exec, dmenumount +bind = $mainMod $secdMod, period, exec, dmenuumount +bind = $mainMod $secdMod CONTROL, U, exec, dmenuunicode +bind = $mainMod $secdMod, U, exec, mprisctl +bind = $mainMod $secdMod, P, exec, passmenu +#}}} + +#{{{ Misc bindings +bind = $mainMod, Return, exec, foot +bind = $mainMod $secdMod, F, exec, foot lf +bind = $mainMod, W, exec, waytoggle +bind = $mainMod, Q, exec, loginctl lock-session +bind = $mainMod SHIFT, G, exec, get-app-id +#}}} + +#{{{ Scratchpads +bind = $mainMod+CONTROL, Z, exec, [workspace special:sphtop;float;noanim] sphtop +bind = $mainMod+CONTROL, Z, togglespecialworkspace, sphtop +bind = $mainMod+CONTROL, X, exec, [workspace special:spterm;float;noanim] spterm +bind = $mainMod+CONTROL, X, togglespecialworkspace, spterm +bind = $mainMod+CONTROL, C, exec, [workspace special:sppmxr;float;noanim] sppmxr +bind = $mainMod+CONTROL, C, togglespecialworkspace, sppmxr +bind = $mainMod+CONTROL, V, exec, [workspace special:spblue;float;noanim] spblue +bind = $mainMod+CONTROL, V, togglespecialworkspace, spblue +bind = $mainMod+CONTROL, B, exec, [workspace special:spncmp;float;noanim] spncmp +bind = $mainMod+CONTROL, B, togglespecialworkspace, spncmp +bind = $mainMod+CONTROL, A, exec, [workspace special:spmutt;float;noanim] spmutt +bind = $mainMod+CONTROL, A, togglespecialworkspace, spmutt +bind = $mainMod+CONTROL, S, exec, [workspace special:spprof;float;noanim] spprof +bind = $mainMod+CONTROL, S, togglespecialworkspace, spprof +bind = $mainMod+CONTROL, D, exec, [workspace special:spirss;float;noanim] spirss +bind = $mainMod+CONTROL, D, togglespecialworkspace, spirss +bind = $mainMod+CONTROL, F, exec, [workspace special:sptodo;float;noanim] sptodo +bind = $mainMod+CONTROL, F, togglespecialworkspace, sptodo +bind = $mainMod+CONTROL, G, exec, [workspace special:sptrmc;float;noanim] sptrmc +bind = $mainMod+CONTROL, G, togglespecialworkspace, sptrmc +bind = $mainMod+CONTROL, Q, exec, [workspace special:spqpwg;float;noanim] spqpwg +bind = $mainMod+CONTROL, Q, togglespecialworkspace, spqpwg +#}}} + +#{{{ OBS bindings +bind = $mainMod CONTROL, 1, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 2, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 3, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 4, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 5, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 6, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 7, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 8, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 9, pass, ^(com\.obsproject\.Studio)$ +bind = $mainMod CONTROL, 0, pass, ^(com\.obsproject\.Studio)$ +#}}} + +#{{{ Inert submap binds +bind = $mainMod, B, submap, inert +submap = inert +bind = $mainMod, B, submap, reset +submap = reset +#}}} + +#{{{ Media bindings +bindl = $secdMod, P, exec, playerctl -p mpd play-pause +bindel = , XF86AudioRaiseVolume, exec, volsv -i 5 +bindel = , XF86AudioLowerVolume, exec, volsv -d 5 +bind = , XF86AudioMute, exec, volsv -t +bindl = , XF86AudioMicMute, exec, volsv -m +bindel = , XF86MonBrightnessUp, exec, bl -i +bindel = , XF86MonBrightnessDown, exec, bl -d +bindl = $mainMod, XF86MonBrightnessUp, exec, bl -s 100 +bindl = $mainMod, XF86MonBrightnessDown, exec, bl -s 1 +bind = , Print, exec, scrshot +#}}} @@ -303,49 +303,72 @@ map C clear map U unselect # Movement -map ga cd ~/.config/awesome -map gb cd ~/.local/bin -map gc cd ~/.config -map gdc cd ~/Documents -map gdo cd ~/Downloads -map gdw cd ~/suckless/dwm -map gdb cd ~/.local/src/dwmbar -map ge cd ~/Desktop -map gE cd /etc -map gf cd ~/.var/app -map glb cd ~/.local/bin -map glc cd ~/Games/cache -map gls cd ~/.local/share -map glf cd ~/.config/lf -map gnv cd ~/.config/nvim -map gns cd ~/.natvst -map gp cd ~/Pictures -map gqc cd ~/.config/qutebrowser -map gqp cd ~/.local/share/qutebrowser-profiles -map gqt cd ~/.config/qtile -map gre cd ~/.local/src -map grs cd /etc/runit/sv -map gsc cd ~/.local/scripts -map gsh cd ~/.config/sh -map gsl cd ~/.local/src/slock -map gss cd /etc/s6/sv -map gsx cd ~/.config/sxhkd -map gtr cd ~/.local/share/Trash/files -map gU. cd /usr -map gUs cd /usr/share -map gva cd ~/.var -map gVa cd /var -map gvi cd ~/Videos -map gvs cd ~/.vst -map gv3 cd ~/.vst3 -map gwa cd ~/git/wallpapers -map gwd cd ~/.local/share/wineprefixes/default -map gwD cd ~/.local/share/wineprefixes/default/drive_c/users/zachir/Downloads -map gwr cd ~/.local/share/wineprefixes -map gww cd ~/.local/share/wineprefixes/work -map gx cd ~/.config/X11 -map gyb cd ~/.cache/yay -map gyc cd ~/.config/yay -map gzs cd ~/.config/zsh -map gzx cd ~/Documents/zachir.xyz - +## PATHS +map gE. cd "/etc" +map gO. cd "/opt" +map gOa cd "/opt/Audio Assault" +map gR cd "/" +map gU. cd "/usr" +map gUs cd "/usr/share" +map gV. cd "/var" +map gaw cd "/home/zachir/.config/awesome" +map gb. cd "/home/zachir/.local/bin" +map gbb cd "/home/zachir/.local/bin/blocks" +map gbf cd "/home/zachir/.local/bin/slatpak-sc" +map gbg cd "/home/zachir/.local/bin/generics" +map gbi cd "/home/zachir/.local/bin/ignore" +map gbsc cd "/home/zachir/.local/bin/scripts" +map gbsh cd "/home/zachir/.local/bin/shortcmds" +map gbsp cd "/home/zachir/.local/bin/sp" +map gc cd "/home/zachir/.config" +map gdb cd "/home/zachir/.local/src/dwmbar" +map gdc cd "" +map gdl cd "/home/zachir/.local/src/dwl" +map gdm cd "/home/zachir/.local/src/dmenu" +map gdo cd "" +map gdp cd "/plugin/zachir_librem.one" +map gdw cd "/wine" +map ge cd "" +map gf cd "/home/zachir/.var/app" +map gh cd "/home/zachir/.config/hypr" +map glb cd "/home/zachir/.local/bin" +map glc cd "/home/zachir/Games/cache" +map glf cd "/home/zachir/.config/lf" +map gls cd "/home/zachir/.local/share" +map gn3 cd "/home/zachir/.vst3/native" +map gns cd "/home/zachir/.vst/native" +map gnv cd "/home/zachir/.config/nvim" +map gp cd "" +map gqb cd "/home/zachir/.config/qutebrowser" +map gqp cd "/home/zachir/.local/share/qutebrowser-profiles" +map gre cd "/home/zachir/.local/src" +map grs cd "/etc/runit/sv" +map gsc cd "/home/zachir/.local/bin/scripts" +map gsh cd "/home/zachir/.config/sh" +map gsl cd "/home/zachir/.local/src/slock" +map gss cd "/etc/s6/sv" +map gst cd "/home/zachir/.local/src/st" +map gsx cd "/home/zachir/.config/sxhkd" +map gtr cd "/home/zachir/.local/share/Trash/files" +map gurs cd "/home/zachir/.runit/sv" +map gv3. cd "/home/zachir/.vst3" +map gv3n cd "/home/zachir/.vst3/native" +map gv3y cd "/home/zachir/.vst3/yabridge" +map gv. cd "/home/zachir/var" +map gvi cd "" +map gvsn cd "/home/zachir/.vst/native" +map gvs. cd "/home/zachir/.vst" +map gvsy cd "/home/zachir/.vst/yabridge" +map gwdo cd "/home/zachir/.local/share/wineprefixes/default/drive_c/users/zachir/Downloads" +map gwa cd "/home/zachir/.local/src/wallpapers" +map gwd cd "/home/zachir/.local/share/wineprefixes/default" +map gwr cd "/home/zachir/.local/share/wineprefixes" +map gwv3 cd "/home/zachir/.winvst3" +map gwvs cd "/home/zachir/.winvst" +map gww cd "/home/zachir/.local/share/wineprefixes/work" +map gx cd "/home/zachir/.config/X11" +map gy3 cd "/home/zachir/.vst3/yabridge" +map gyb cd "/home/zachir/.cache/yay" +map gyc cd "/home/zachir/.config/yay" +map gzs cd "/home/zachir/.config/zsh" +map gzx cd "/zachir.xyz" diff --git a/mako/config b/mako/config new file mode 100644 index 0000000..426a0c2 --- /dev/null +++ b/mako/config @@ -0,0 +1,37 @@ +max-history=5 +sort=-time + +on-button-left=dismiss +on-button-middle=none +on-button-right=invoke-default-action +on-touch=dismiss +on-notify=exec notify-sound.sh + +font=mononoki Nerd Font Mono 12 +background-color=#000000FF +text-color=#FFFFFFFF +width=300 +height=100 +outer-margin=0 +margin=10 +padding=5 +border-size=2 +border-color=#999999FF +border-radius=3 +progress-color=over #5588AAFF +icons=1 +max-icon-size=64 +icon-path= +icon-location=left +markup=1 +actions=1 +history=0 +text-alignment=left +default-timeout=5000 +ignore-timeout=0 +group-by=none +max-visible=5 +output= +layer=top +anchor=top-right + diff --git a/nsxiv/exec/key-handler b/nsxiv/exec/key-handler deleted file mode 100755 index 08e06d5..0000000 --- a/nsxiv/exec/key-handler +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -IMAGES=`cat -` - -case "$1" in - "w") - notify-send "$IMAGES" "background" - ln -sf $IMAGES ~/background.jpg - xwallpaper --zoom ~/background.jpg - ;; -esac diff --git a/nwg-bar/bar.json b/nwg-bar/bar.json new file mode 100644 index 0000000..82bc6ed --- /dev/null +++ b/nwg-bar/bar.json @@ -0,0 +1,22 @@ +[ + { + "label": "Lock", + "exec": "loginctl lock-session self", + "icon": "/usr/share/nwg-bar/images/system-lock-screen.svg" + }, + { + "label": "Logout", + "exec": "hyprctl dispatch exit", + "icon": "/usr/share/nwg-bar/images/system-log-out.svg" + }, + { + "label": "Reboot", + "exec": "loginctl reboot", + "icon": "/usr/share/nwg-bar/images/system-reboot.svg" + }, + { + "label": "Shutdown", + "exec": "loginctl -i poweroff", + "icon": "/usr/share/nwg-bar/images/system-shutdown.svg" + } +] diff --git a/river/init b/river/init new file mode 100755 index 0000000..cfa8c39 --- /dev/null +++ b/river/init @@ -0,0 +1,223 @@ +#!/bin/sh + +# This is the example configuration file for river. +# +# If you wish to edit this, you will probably want to copy it to +# $XDG_CONFIG_HOME/river/init or $HOME/.config/river/init first. +# +# See the river(1), riverctl(1), and rivertile(1) man pages for complete +# documentation. + +# Note: the "$mod1" modifier is also known as Logo, GUI, Windows, Mod4, etc. + +mod1="Alt" +mod2="Super" + +# $mod1+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot) +riverctl map normal $mod1 Return spawn foot + +# $mod1+Q to close the focused view +riverctl map normal $mod1+Shift Q close + +# $mod1+Shift+E to exit river +riverctl map normal $mod1+Shift E exit + +# $mod1+J and $mod1+K to focus the next/previous view in the layout stack +riverctl map normal $mod1 J focus-view next +riverctl map normal $mod1 K focus-view previous + +# $mod1+Shift+J and $mod1+Shift+K to swap the focused view with the next/previous +# view in the layout stack +riverctl map normal $mod1+Shift J swap next +riverctl map normal $mod1+Shift K swap previous + +# $mod1+Period and $mod1+Comma to focus the next/previous output +riverctl map normal $mod1 Period focus-output next +riverctl map normal $mod1 Comma focus-output previous + +# $mod1+Shift+{Period,Comma} to send the focused view to the next/previous output +riverctl map normal $mod1+Shift Period send-to-output next +riverctl map normal $mod1+Shift Comma send-to-output previous + +# $mod1+Return to bump the focused view to the top of the layout stack +riverctl map normal $mod1+Shift Return zoom + +# $mod1+H and $mod1+L to decrease/increase the main ratio of rivertile(1) +riverctl map normal $mod1 H send-layout-cmd rivertile "main-ratio -0.05" +riverctl map normal $mod1 L send-layout-cmd rivertile "main-ratio +0.05" + +# $mod1+Shift+H and $mod1+Shift+L to increment/decrement the main count of rivertile(1) +riverctl map normal $mod1+Shift H send-layout-cmd rivertile "main-count +1" +riverctl map normal $mod1+Shift L send-layout-cmd rivertile "main-count -1" + +# $mod1+$mod2+{H,J,K,L} to move views +riverctl map normal $mod1+$mod2 H move left 100 +riverctl map normal $mod1+$mod2 J move down 100 +riverctl map normal $mod1+$mod2 K move up 100 +riverctl map normal $mod1+$mod2 L move right 100 + +# $mod1+$mod2+Control+{H,J,K,L} to snap views to screen edges +riverctl map normal $mod1+$mod2+Control H snap left +riverctl map normal $mod1+$mod2+Control J snap down +riverctl map normal $mod1+$mod2+Control K snap up +riverctl map normal $mod1+$mod2+Control L snap right + +# $mod1+$mod2+Shift+{H,J,K,L} to resize views +riverctl map normal $mod1+$mod2+Shift H resize horizontal -100 +riverctl map normal $mod1+$mod2+Shift J resize vertical 100 +riverctl map normal $mod1+$mod2+Shift K resize vertical -100 +riverctl map normal $mod1+$mod2+Shift L resize horizontal 100 + +# $mod1 + Left Mouse Button to move views +riverctl map-pointer normal $mod1 BTN_LEFT move-view + +# $mod1 + Right Mouse Button to resize views +riverctl map-pointer normal $mod1 BTN_RIGHT resize-view + +# $mod1 + Middle Mouse Button to toggle float +riverctl map-pointer normal $mod1 BTN_MIDDLE toggle-float + +# Mouse rules +riverctl set-cursor-warp on-output-change +riverctl focus-follors-cursor always + +for i in $(seq 1 9) +do + tags=$((1 << ($i - 1))) + + # $mod1+[1-9] to focus tag [0-8] + riverctl map normal $mod1 $i set-focused-tags $tags + + # $mod1+Shift+[1-9] to tag focused view with tag [0-8] + riverctl map normal $mod1+Shift $i set-view-tags $tags + + # $mod1+Ctrl+[1-9] to toggle focus of tag [0-8] + riverctl map normal $mod1+Control $i toggle-focused-tags $tags + + # $mod1+Shift+Ctrl+[1-9] to toggle tag [0-8] of focused view + riverctl map normal $mod1+Shift+Control $i toggle-view-tags $tags +done + +# $mod1+0 to focus all tags +# $mod1+Shift+0 to tag focused view with all tags +all_tags=$(((1 << 9) - 1)) +riverctl map normal $mod1 0 set-focused-tags $all_tags +riverctl map normal $mod1+Shift 0 set-view-tags $all_tags + +# scratchpad tags +BINPATH="${XDG_CONFIG_HOME:-$HOME/.config}/river/sp" +riverctl map normal $mod1+Control z spawn "$BINPATH/river_sp z" +riverctl map normal $mod1+Control x spawn "$BINPATH/river_sp x" +riverctl map normal $mod1+Control c spawn "$BINPATH/river_sp c" +riverctl map normal $mod1+Control v spawn "$BINPATH/river_sp v" +riverctl map normal $mod1+Control b spawn "$BINPATH/river_sp b" +riverctl map normal $mod1+Control a spawn "$BINPATH/river_sp a" +riverctl map normal $mod1+Control s spawn "$BINPATH/river_sp s" +riverctl map normal $mod1+Control d spawn "$BINPATH/river_sp d" +riverctl map normal $mod1+Control f spawn "$BINPATH/river_sp f" +riverctl map normal $mod1+Control g spawn "$BINPATH/river_sp g" +riverctl map normal $mod1+Control q spawn "$BINPATH/river_sp q" + +# $mod1+Space to toggle float +riverctl map normal $mod1+Control Space toggle-float + +# $mod1+F to toggle fullscreen +riverctl map normal $mod1 F toggle-fullscreen + +# $mod1+{Up,Right,Down,Left} to change layout orientation +riverctl map normal $mod1 Up send-layout-cmd rivertile "main-location top" +riverctl map normal $mod1 Right send-layout-cmd rivertile "main-location right" +riverctl map normal $mod1 Down send-layout-cmd rivertile "main-location bottom" +riverctl map normal $mod1 Left send-layout-cmd rivertile "main-location left" + +# Declare a passthrough mode. This mode has only a single mapping to return to +# normal mode. This makes it useful for testing a nested wayland compositor +riverctl declare-mode passthrough + +# $mod1+F11 to enter passthrough mode +riverctl map normal $mod1 b enter-mode passthrough + +# $mod1+F11 to return to normal mode +riverctl map passthrough $mod1 b enter-mode normal + +# Various media key mapping examples for both normal and locked mode which do +# not have a modifier +for mode in normal locked +do + # Eject the optical drive (well if you still have one that is) + riverctl map $mode None XF86Eject spawn 'eject -T' + + # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) + riverctl map $mode None XF86AudioRaiseVolume spawn 'volsv -i' + riverctl map $mode None XF86AudioLowerVolume spawn 'volsv -d' + riverctl map $mode None XF86AudioMute spawn 'volsv -t' + riverctl map $mode None XF86AudioMicMute spawn 'volsv -m' + + # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) + riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' + riverctl map $mode None XF86AudioNext spawn 'playerctl next' + + # Control screen backlight brightness with light (https://github.com/haikarainen/light) + riverctl map $mode None XF86MonBrightnessUp spawn 'bl -i 5' + riverctl map $mode None XF86MonBrightnessDown spawn 'bl -d 5' +done + +# add browser shortcuts +riverctl map normal $mod1+$mod2 1 spawn "bm -w" +riverctl map normal $mod1+$mod2 q spawn "qbc -w" +riverctl map normal $mod1+$mod2 w spawn "lwc -w" +riverctl map normal $mod1+$mod2 e spawn "ffc -w" + +# add other menu shortcuts +riverctl map normal $mod1+$mod2 p spawn passmenu +riverctl map normal $mod1 r spawn 'exec $(tofi-drun)' +riverctl map normal $mod1 d spawn 'exec $(tofi-run)' +riverctl map normal $mod1+$mod2+Control u spawn 'dmenuunicode -w' +riverctl map normal $mod1+$mod2 Comma spawn 'dmenumount -w' +riverctl map normal $mod1+$mod2 Period spawn 'dmenuumount -w' +riverctl map normal $mod1+$mod2 b spawn 'dmenu_books -w' +riverctl map normal $mod1+$mod2 u spawn 'mprisctl -w' + +# add other shortcuts +riverctl map normal $mod1 q spawn 'loginctl lock-session self' +riverctl map normal $mod1+$mod2 f spawn 'foot lf' +riverctl map normal $mod1+$mod2 m spawn 'volsv -t' +riverctl map normal $mod1+$mod2+Shift m spawn 'volsv -m' + +# secondary mod shortcuts +riverctl map normal $mod2 p spawn 'playerctl play-pause' + +# Set background and border color +riverctl background-color 0x000000 +riverctl border-color-focused 0x535d6c +riverctl border-color-unfocused 0x000000 + +# Set keyboard repeat rate +riverctl set-repeat 50 300 + +# Make certain views start floating +riverctl float-filter-add app-id float +riverctl float-filter-add app-id "sphtop" +riverctl float-filter-add app-id "spterm" +riverctl float-filter-add app-id "sppmxr" +riverctl float-filter-add app-id "spblue" +riverctl float-filter-add app-id "spncmp" +riverctl float-filter-add app-id "spmutt" +riverctl float-filter-add app-id "spprof" +riverctl float-filter-add app-id "spirss" +riverctl float-filter-add app-id "sptodo" +riverctl float-filter-add app-id "sptrmc" +riverctl float-filter-add app-id "qpwgraph" +riverctl float-filter-add title "popup title with spaces" + +# Set app-ids and titles of views which should use client side decorations +riverctl csd-filter-add app-id "gedit" + +# Set the default layout generator to be rivertile and start it. +# River will send the process group of the init executable SIGTERM on exit. +riverctl default-layout rivertile +rivertile -view-padding 6 -outer-padding 6 & + +sh ~/.config/autostart.sh & diff --git a/river/sp/river_sp b/river/sp/river_sp new file mode 100755 index 0000000..9b1e1ad --- /dev/null +++ b/river/sp/river_sp @@ -0,0 +1,51 @@ +#!/bin/sh + +#{{{ binpath +BINPATH="${XDG_CONFIG_HOME:-$HOME/.config}/river/sp" +#}}} + +#{{{ spawnwindow +spawnwindow () { + case "$1" in + 1) pgrep -x sp_z || ${BINPATH}/sp_z ;; + 2) pgrep -x sp_x || ${BINPATH}/sp_x ;; + 3) pgrep -x sp_c || ${BINPATH}/sp_c ;; + 4) pgrep -x sp_v || ${BINPATH}/sp_v ;; + 5) pgrep -x sp_b || ${BINPATH}/sp_b ;; + 6) pgrep -x sp_a || ${BINPATH}/sp_a ;; + 7) pgrep -x sp_s || ${BINPATH}/sp_s ;; + 8) pgrep -x sp_d || ${BINPATH}/sp_d ;; + 9) pgrep -x sp_f || ${BINPATH}/sp_f ;; + 10) pgrep -x sp_g || ${BINPATH}/sp_g ;; + 11) pgrep -x sp_q || ${BINPATH}/sp_q ;; + *) printf "Unknown scratchpad $1!\n" ; exit 1 ;; + esac +} +#}}} + +#{{{ getopts +for i in "$@"; do + case "$i" in + z) ARG=1 ;; + x) ARG=2 ;; + c) ARG=3 ;; + v) ARG=4 ;; + b) ARG=5 ;; + a) ARG=6 ;; + s) ARG=7 ;; + d) ARG=8 ;; + f) ARG=9 ;; + g) ARG=10 ;; + q) ARG=11 ;; + *) printf "Unknown scratchpad $i!\n" ; exit 1 ;; + esac + if pgrep -x "sp_$i"; then + riverctl toggle-focused-tags $((1 << ($ARG + 9))) + else + riverctl toggle-focused-tags $(( 1 << ($ARG + 9))) + riverctl spawn-tagmask $(( 1 << ($ARG + 9))) + spawnwindow "$ARG" + riverctl spawn-tagmask $(( (1 << 9) - 1)) + fi +done +#}}} diff --git a/river/sp/sp_a b/river/sp/sp_a new file mode 100755 index 0000000..d76f78e --- /dev/null +++ b/river/sp/sp_a @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spmutt" neomutt diff --git a/river/sp/sp_b b/river/sp/sp_b new file mode 100755 index 0000000..208cf4c --- /dev/null +++ b/river/sp/sp_b @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spncmp" ncmpcpp diff --git a/river/sp/sp_c b/river/sp/sp_c new file mode 100755 index 0000000..0201227 --- /dev/null +++ b/river/sp/sp_c @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "sppmxr" pulsemixer diff --git a/river/sp/sp_d b/river/sp/sp_d new file mode 100755 index 0000000..1545c87 --- /dev/null +++ b/river/sp/sp_d @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spirss" irssi diff --git a/river/sp/sp_f b/river/sp/sp_f new file mode 100755 index 0000000..f2468ea --- /dev/null +++ b/river/sp/sp_f @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "sptodo" todo diff --git a/river/sp/sp_g b/river/sp/sp_g new file mode 100755 index 0000000..7b3a393 --- /dev/null +++ b/river/sp/sp_g @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "sptrmc" tremc diff --git a/river/sp/sp_q b/river/sp/sp_q new file mode 100755 index 0000000..9202782 --- /dev/null +++ b/river/sp/sp_q @@ -0,0 +1,3 @@ +#!/bin/sh + +qpwgraph diff --git a/river/sp/sp_s b/river/sp/sp_s new file mode 100755 index 0000000..288373c --- /dev/null +++ b/river/sp/sp_s @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spprof" profanity diff --git a/river/sp/sp_v b/river/sp/sp_v new file mode 100755 index 0000000..009e18d --- /dev/null +++ b/river/sp/sp_v @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spblue" bluetoothctl diff --git a/river/sp/sp_x b/river/sp/sp_x new file mode 100755 index 0000000..ef07b51 --- /dev/null +++ b/river/sp/sp_x @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "spterm" diff --git a/river/sp/sp_z b/river/sp/sp_z new file mode 100755 index 0000000..c6414ed --- /dev/null +++ b/river/sp/sp_z @@ -0,0 +1,3 @@ +#!/bin/sh + +foot -a "sphtop" htop @@ -31,7 +31,7 @@ alias du='du -sxhc' #alias nvim='vim' alias nv='nvim' alias v='nvim' -alias lf='lfrun' +#alias lf='lfrun' ## Change utils alias rm='rm -i' diff --git a/sh/functions b/sh/functions index 6ed5792..30e1341 100644 --- a/sh/functions +++ b/sh/functions @@ -31,99 +31,149 @@ scd () { cd $HOME else case "$1" in - "-l") echo " -aw - ~/.config/awesome -al - ~/.config/alacritty -b - ~/.local/bin -c - ~/.config -db - ~/.local/src/dwmblocks -dc - ~/Documents -do - ~/Downloads -dw - ~/.local/src/dwm -e - ~/Desktop -E - /etc -f - ~/.var/app -h - ~/.config/herbstluftwm -lb - ~/.local/bin -lc - ~/Games/cache -lf - ~/.config/lf -ls - ~/.local/share -nv - ~/.config/nvim -ns - ~/.natvst -p - ~/Pictures -qc - ~/.config/qutebrowser -qp - ~/.local/share/qutebrowser-profiles -qt - ~/.config/qtile -re - ~/.local/src -ri - ~/.config/river -rs - /etc/runit/sv -sc - ~/.local/bin/scripts -sh - ~/.config/sh -sl - ~/.local/src/slock -ss - /etc/s6/sv -st - ~/.local/src/st -sx - ~/.config/sxhkd -Va - /var -v3 - ~/.vst3 -va - ~/.var -vs - ~/.vst -vv - ~/.local/volsv -wa - ~/.local/src/wallpapers -wd - ~/.local/share/wineprefixes/default -wh - ~/.local/share/wineprefixes/[CURRENT] -wr - ~/.local/share/wineprefixes -ww - ~/.local/share/wineprefixes/work -x - ~/.config/X11 -yb - ~/.cache/yay -yc - ~/.config/yay -zs - ~/.config/zsh -zx - ~/Documents/zachir.xyz -";; - "aw") cd $XDG_CONFIG_HOME/awesome/ ;; - "al") cd $XDG_CONFIG_HOME/alacritty/ ;; - "b") cd "$HOME"/.local/bin/ ;; - "c") cd $XDG_CONFIG_HOME/ ;; - "dc") cd $HOME/Documents/ ;; - "do") cd $HOME/Downloads/ ;; - "dw") cd $HOME/.local/src/dwm/ ;; - "db") cd $HOME/.local/src/dwmbar/ ;; - "e") cd $HOME/Desktop ;; - "E") cd /etc ;; - "f") cd $HOME/.var/app ;; - "h") cd "$XDG_CONFIG_HOME"/herbstluftwm ;; - "lb") cd $HOME/.local/bin ;; - "lc") cd $HOME/Games/cache ;; - "ls") cd $XDG_DATA_HOME ;; - "lf") cd $XDG_CONFIG_HOME/lf ;; - "nv") cd $XDG_CONFIG_HOME/nvim ;; - "ns") cd $HOME/.natvst ;; - "p") cd $HOME/Pictures ;; - "qc") cd $XDG_CONFIG_HOME/qutebrowser/ ;; - "qp") cd $XDG_DATA_HOME/qutebrowser-profiles/ ;; - "qt") cd $XDG_CONFIG_HOME/qtile/ ;; - "re") cd $HOME/.local/src/ ;; - "ri") cd $XDG_CONFIG_HOME/river ;; - "rs") cd /etc/runit/sv ;; - "sc") cd $HOME/.local/bin/scripts/ ;; - "sh") cd $XDG_CONFIG_HOME/sh/ ;; - "sl") cd $HOME/.local/src/slock/ ;; - "ss") cd /etc/s6/sv ;; - "st") cd $HOME/.local/src/st/ ;; - "sx") cd $XDG_CONFIG_HOME/sxhkd/ ;; - "v3") cd $HOME/.vst3 ;; - "vi") cd $HOME/Videos ;; - "vs") cd $HOME/.vst/ ;; - "vv") cd $HOME/.local/volsv/ ;; - "wa") cd $HOME/.local/src/wallpapers ;; - "wd") cd $WINEROOT/default ;; - "wh") cd $WINEPREFIX ;; - "wr") cd $WINEROOT ;; - "ww") cd $WINEROOT/work ;; - "x") cd $XDG_CONFIG_HOME/X11 ;; - "yb") cd $XDG_CACHE_HOME/yay ;; - "yc") cd $XDG_CONFIG_HOME/yay ;; - "zs") cd $ZDOTDIR/ ;; - "zx") cd $HOME/Documents/zachir.xyz/ ;; + "-h") + # STARTPRINT +echo "scd - a script to change directories based on shortcuts. +E. - /etc +O. - /opt +Oa - /opt/Audio Assault +R - / +U. - /usr +Us - /usr/share +V. - /var +aw - /home/zachir/.config/awesome +b. - /home/zachir/.local/bin +bb - /home/zachir/.local/bin/blocks +bf - /home/zachir/.local/bin/slatpak-sc +bg - /home/zachir/.local/bin/generics +bi - /home/zachir/.local/bin/ignore +bsc - /home/zachir/.local/bin/scripts +bsh - /home/zachir/.local/bin/shortcmds +bsp - /home/zachir/.local/bin/sp +c - /home/zachir/.config +db - /home/zachir/.local/src/dwmbar +dc - +dl - /home/zachir/.local/src/dwl +dm - /home/zachir/.local/src/dmenu +do - +dp - /plugin/zachir_librem.one +dw - /wine +e - +f - /home/zachir/.var/app +h - /home/zachir/.config/hypr +lb - /home/zachir/.local/bin +lc - /home/zachir/Games/cache +lf - /home/zachir/.config/lf +ls - /home/zachir/.local/share +n3 - /home/zachir/.vst3/native +ns - /home/zachir/.vst/native +nv - /home/zachir/.config/nvim +p - +qb - /home/zachir/.config/qutebrowser +qp - /home/zachir/.local/share/qutebrowser-profiles +re - /home/zachir/.local/src +rs - /etc/runit/sv +sc - /home/zachir/.local/bin/scripts +sh - /home/zachir/.config/sh +sl - /home/zachir/.local/src/slock +ss - /etc/s6/sv +st - /home/zachir/.local/src/st +sx - /home/zachir/.config/sxhkd +tr - /home/zachir/.local/share/Trash/files +urs - /home/zachir/.runit/sv +v3. - /home/zachir/.vst3 +v3n - /home/zachir/.vst3/native +v3y - /home/zachir/.vst3/yabridge +v. - /home/zachir/var +vi - +vsn - /home/zachir/.vst/native +vs. - /home/zachir/.vst +vsy - /home/zachir/.vst/yabridge +wdo - /home/zachir/.local/share/wineprefixes/default/drive_c/users/zachir/Downloads +wa - /home/zachir/.local/src/wallpapers +wd - /home/zachir/.local/share/wineprefixes/default +wr - /home/zachir/.local/share/wineprefixes +wv3 - /home/zachir/.winvst3 +wvs - /home/zachir/.winvst +ww - /home/zachir/.local/share/wineprefixes/work +x - /home/zachir/.config/X11 +y3 - /home/zachir/.vst3/yabridge +yb - /home/zachir/.cache/yay +yc - /home/zachir/.config/yay +zs - /home/zachir/.config/zsh +zx - /zachir.xyz +" ;; + # STOPPRINT + # STARTPATHS +"E.") cd "/etc" ;; +"O.") cd "/opt" ;; +"Oa") cd "/opt/Audio Assault" ;; +"R") cd "/" ;; +"U.") cd "/usr" ;; +"Us") cd "/usr/share" ;; +"V.") cd "/var" ;; +"aw") cd "$XDG_CONFIG_HOME/awesome" ;; +"b.") cd "$HOME/.local/bin" ;; +"bb") cd "$HOME/.local/bin/blocks" ;; +"bf") cd "$HOME/.local/bin/slatpak-sc" ;; +"bg") cd "$HOME/.local/bin/generics" ;; +"bi") cd "$HOME/.local/bin/ignore" ;; +"bsc") cd "$HOME/.local/bin/scripts" ;; +"bsh") cd "$HOME/.local/bin/shortcmds" ;; +"bsp") cd "$HOME/.local/bin/sp" ;; +"c") cd "$XDG_CONFIG_HOME" ;; +"db") cd "$SRCDIR/dwmbar" ;; +"dc") cd "$XDG_DOCUMENTS_DIR" ;; +"dl") cd "$SRCDIR/dwl" ;; +"dm") cd "$SRCDIR/dmenu" ;; +"do") cd "$XDG_DOWNLOAD_DIR" ;; +"dp") cd "$XDG_DOWNLOAD_DIR/plugin/zachir_librem.one" ;; +"dw") cd "$XDG_DOWNLOAD_DIR/wine" ;; +"e") cd "$XDG_DESKTOP_DIR" ;; +"f") cd "$HOME/.var/app" ;; +"h") cd "$XDG_CONFIG_HOME/hypr" ;; +"lb") cd "$HOME/.local/bin" ;; +"lc") cd "$HOME/Games/cache" ;; +"lf") cd "$XDG_CONFIG_HOME/lf" ;; +"ls") cd "$XDG_DATA_HOME" ;; +"n3") cd "$HOME/.vst3/native" ;; +"ns") cd "$HOME/.vst/native" ;; +"nv") cd "$XDG_CONFIG_HOME/nvim" ;; +"p") cd "$XDG_PICTURES_DIR" ;; +"qb") cd "$XDG_CONFIG_HOME/qutebrowser" ;; +"qp") cd "$XDG_DATA_HOME/qutebrowser-profiles" ;; +"re") cd "$SRCDIR" ;; +"rs") cd "/etc/runit/sv" ;; +"sc") cd "$HOME/.local/bin/scripts" ;; +"sh") cd "$XDG_CONFIG_HOME/sh" ;; +"sl") cd "$SRCDIR/slock" ;; +"ss") cd "/etc/s6/sv" ;; +"st") cd "$SRCDIR/st" ;; +"sx") cd "$XDG_CONFIG_HOME/sxhkd" ;; +"tr") cd "$XDG_DATA_HOME/Trash/files" ;; +"urs") cd "$HOME/.runit/sv" ;; +"v3.") cd "$HOME/.vst3" ;; +"v3n") cd "$HOME/.vst3/native" ;; +"v3y") cd "$HOME/.vst3/yabridge" ;; +"v.") cd "$HOME/var" ;; +"vi") cd "$XDG_VIDEOS_DIR" ;; +"vsn") cd "$HOME/.vst/native" ;; +"vs.") cd "$HOME/.vst" ;; +"vsy") cd "$HOME/.vst/yabridge" ;; +"wdo") cd "$WINEPREFIX/drive_c/users/$USER/Downloads" ;; +"wa") cd "$SRCDIR/wallpapers" ;; +"wd") cd "$WINEPREFIX" ;; +"wr") cd "$WINEROOT" ;; +"wv3") cd "$HOME/.winvst3" ;; +"wvs") cd "$HOME/.winvst" ;; +"ww") cd "$WINEROOT/work" ;; +"x") cd "$XDG_CONFIG_HOME/X11" ;; +"y3") cd "$HOME/.vst3/yabridge" ;; +"yb") cd "$XDG_CACHE_HOME/yay" ;; +"yc") cd "$XDG_CONFIG_HOME/yay" ;; +"zs") cd "$XDG_CONFIG_HOME/zsh" ;; +"zx") cd "$XDG_DOCUMENTS_DIR/zachir.xyz" ;; + # STOPPATHS *) echo "\"$1\" is not a known location" ;; esac fi diff --git a/swayidle/config b/swayidle/config new file mode 100644 index 0000000..fb741b3 --- /dev/null +++ b/swayidle/config @@ -0,0 +1,3 @@ +timeout 600 waylockd +before-sleep waylockd +lock waylockd diff --git a/sxhkd/sxhkdrc.1 b/sxhkd/sxhkdrc.1 deleted file mode 100755 index 0af969a..0000000 --- a/sxhkd/sxhkdrc.1 +++ /dev/null @@ -1,329 +0,0 @@ -# -# wm independent hotkeys -# - -# reload sxhkd config -alt + Escape - pkill -USR1 -x sxhkd - -# -# dmenu interfaces -# - -# program launcher -alt + d - dmenu_run -h 24 - -# desktop application launcher -alt + r - j4-dmenu-desktop --dmenu="barmenu -h 24 -l 15" - -# dmenu prompt for recording -alt + control + r - dmenurecord - -# run dmenu interface for keepassxc -alt + p - dmenu_keepass -H 24 - -# run dmenu interface for pass -alt + super + p - passmenu - -# run dmenu interface for mpv -alt + v - dmpv - -# run dmenu interface for ytfzf -alt + y - ytfzf-launcher -D 'barmenu -h 24 -l 15' - -# run dmenu interface to spawn browsers -alt + super + 1 - browser - -# run dmenu interface for qutebrowser profile chooser -alt + super + q - qbc - #qbpm choose - -# run dmenu interface for librewolf profile chooser -alt + super + w - lwc - -# run dmenu interface for librewolf profile chooser -alt + super + e - fdc - -# run dmenu interface to open book -alt + super + b - dmenu_books - -# run dmenu interface for mpris -alt + super + u - mprisctl - -# run dmenu interface for monattach -alt + super + m - monattach right - -# run dmenu interface for mondetach -alt + super + n - mondetach - -# run dmenu interface for mount -alt + super + comma - dmenumount - -# run dmenu interface for umount -alt + super + period - dmenuumount - -#run dmenu prompt for unicode chars -alt + super + u - dmenuunicode - -# -# utilities -# - -# toggle x idle state -alt + c - xidletog - -# warp cursor to left or right monitor -alt + {Left,Right} - mwarp {left,right} - -# lock the screen -alt + q - loginctl lock-session self - -# restart dwmblocks -alt + super + 9 - toggle dwmblocks - -# signal all dwmblocks modules -alt + super + 0 - sigdwmb all - -# spawn file manager -alt + super + f - $TERMINAL -e lfrun - -# toggle touchpad -alt + super + t - toggletouchpad - -# notify-send firewall rules -alt + super + f - notify-iptables - -# mute volume -alt + super + m - volsv -t - -# mute microphone -alt + super + shift + m - volsv -m - -# load sxiv for backgrounds -alt + super + x - sxiv ~/.local/src/wallpapers - -# xkill -alt + x - xkill - -# -# xf86 keys -# - -# manipulate audio stream -XF86Audio{Prev,Next,Play,Stop} - mpc {prev,next,toggle,stop} - -# turn the brightness up -XF86MonBrightnessUp - xbacklight -inc 1 - # light -A 1 - -# turn the brightness down -XF86MonBrightnessDown - xbacklight -dec 1 - # light -U 1 - -# raise the volume -XF86AudioRaiseVolume - volsv -i - -# lower the volume -XF86AudioLowerVolume - volsv -d - -# toggle mute -XF86AudioMute - volsv -t - -# mute mic -XF86AudioMicMute - volsv -m -# -# bspwm hotkeys -# - -# launch terminal -alt + Return - st - -# quit/restart bspwm -alt + shift + {e,r} - bspc {quit,wm -r} - -# close -alt + shift + {q, super + k} - bspc node {-c,-k} - -# alternate between the tiled and monocle layout -# alt + m -# bspc desktop -l next - -# send the newest marked node to the newest preselected node -alt + y - bspc node newest.marked.local -n newest.!automatic.local - -# swap the current node and the biggest node -alt + g - bspc node -s biggest - -# -# state/flags -# - -# set the window state -alt + super + {t,shift + t,s,f} - bspc node -t {tiled,pseudo_tiled,floating,fullscreen} - -# set the node flags -alt + super + {m,x,y,z} - bspc node -g {marked,locked,sticky,private} - -# -# focus/swap -# - -# focus the node in the given direction -alt + {_,shift + }{h,j,k,l} - bspc node -{f,s} {west,south,north,east} - -# focus the node for the given path jump -alt + {p,b,comma,period} - bspc node -f @{parent,brother,first,second} - -# focus the next/previous node in the current desktop -alt + {_,shift + }c - bspc node -f {next,prev}.local - -# focus the next/previous desktop in the current Monitor -alt + bracket{left,right} - bspc desktop -f {prev,next}.local - -# focus the last node/desktop -alt + {grave,Tab} - bspc {node,desktop} -f last - -# focus the older or newer node in the focus history -alt + {o,i} - bspc wm -h off; \ - bspc node {older,newer} -f; \ - bspc wm -h on - -# focus or send to the given desktop -alt + {_,shift + }{1-9,0} - bspc {desktop -f,node -d} '^{1-9,10}' - -# -# preselect -# - -# preselect the direction -alt + ctrl + {h,j,k,l} - bspc node -p {west,south,north,east} - -# preselect the ratio -alt + ctrl + {1-9} - bspc node -o 0.{1-9} - -# cancel the preselection for the focused node -alt + ctrl + space - bspc node -p cancel - -# cancel the preselection for the focused desktop -alt + ctrl + shift + space - bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel - -# -# move/resize -# - -# expand a window by moving one of its side outward -super + alt + {h,j,k,l} - bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} - -# contract a window by moving one of its side inward -super + alt + shift + {h,j,k,l} - bspc node -z {right -20 0,top :0 20,bottom 0 -20,left 20 0} - -# move a floating window -super + {Left,Down,Up,Right} - bspc node -v {-20 0,0 20,0 -20,20 0} - -# -# bsp-layout -# -alt + {t,shift + t} - bsp-layout set {tile,tall -- --master-size 0.5} - -# -# scratchpads -# - -# htop -alt + control + z - bspt sphtop htop - -# terminal -alt + control + x - bspt spterm tmux - -# pulsemixer -alt + control + c - bspt sppmxr pulsemixer - -# bluetoothctl -alt + control + v - bspt spblue bluetoothctl - -# ncmpcpp -alt + control + b - bspt spncmp ncmpcpp - -# neomutt -alt + control + a - bspt spmutt neomutt - -# profanity -alt + control + s - bspt spprof profanity - -# irssi -alt + control + d - bspt spircc irssi - -# todo -alt + control + f - bspt sptodo todo - -# trem -alt + control + g - bspt sptrem tremc diff --git a/sxhkd/sxhkdrc.bsp b/sxhkd/sxhkdrc.bsp deleted file mode 100755 index e31576b..0000000 --- a/sxhkd/sxhkdrc.bsp +++ /dev/null @@ -1,159 +0,0 @@ -# -# bspwm hotkeys -# - -# launch terminal -alt + Return - st - -# quit/restart bspwm -alt + shift + {e,r} - bspc {quit,wm -r} - -# close -alt + shift + {q, super + k} - bspc node {-c,-k} - -# alternate between the tiled and monocle layout -# alt + m -# bspc desktop -l next - -# send the newest marked node to the newest preselected node -alt + y - bspc node newest.marked.local -n newest.!automatic.local - -# swap the current node and the biggest node -alt + g - bspc node -s biggest - -# -# state/flags -# - -# set the window state -alt + super + {t,shift + t,s,f} - bspc node -t {tiled,pseudo_tiled,floating,fullscreen} - -# set the node flags -alt + super + {m,x,y,z} - bspc node -g {marked,locked,sticky,private} - -# -# focus/swap -# - -# focus the node in the given direction -alt + {_,shift + }{h,j,k,l} - bspc node -{f,s} {west,south,north,east} - -# focus the node for the given path jump -alt + {p,b,comma,period} - bspc node -f @{parent,brother,first,second} - -# focus the next/previous node in the current desktop -alt + {_,shift + }c - bspc node -f {next,prev}.local - -# focus the next/previous desktop in the current Monitor -alt + bracket{left,right} - bspc desktop -f {prev,next}.local - -# focus the last node/desktop -alt + {grave,Tab} - bspc {node,desktop} -f last - -# focus the older or newer node in the focus history -alt + {o,i} - bspc wm -h off; \ - bspc node {older,newer} -f; \ - bspc wm -h on - -# focus or send to the given desktop -alt + {_,shift + }{1-9,0} - bspc {desktop -f,node -d} '^{1-9,10}' - -# -# preselect -# - -# preselect the direction -alt + ctrl + {h,j,k,l} - bspc node -p {west,south,north,east} - -# preselect the ratio -alt + ctrl + {1-9} - bspc node -o 0.{1-9} - -# cancel the preselection for the focused node -alt + ctrl + space - bspc node -p cancel - -# cancel the preselection for the focused desktop -alt + ctrl + shift + space - bspc query -N -d | xargs -I id -n 1 bspc node id -p cancel - -# -# move/resize -# - -# expand a window by moving one of its side outward -super + alt + {h,j,k,l} - bspc node -z {left -20 0,bottom 0 20,top 0 -20,right 20 0} - -# contract a window by moving one of its side inward -super + alt + shift + {h,j,k,l} - bspc node -z {right -20 0,top :0 20,bottom 0 -20,left 20 0} - -# move a floating window -super + {Left,Down,Up,Right} - bspc node -v {-20 0,0 20,0 -20,20 0} - -# -# bsp-layout -# -alt + {t,shift + t} - bsp-layout set {tile,tall -- --master-size 0.5} - -# -# scratchpads -# - -# htop -alt + control + z - bspt sphtop htop - -# terminal -alt + control + x - bspt spterm tmux - -# pulsemixer -alt + control + c - bspt sppmxr pulsemixer - -# bluetoothctl -alt + control + v - bspt spblue bluetoothctl - -# ncmpcpp -alt + control + b - bspt spncmp ncmpcpp - -# neomutt -alt + control + a - bspt spmutt neomutt - -# profanity -alt + control + s - bspt spprof profanity - -# irssi -alt + control + d - bspt spircc irssi - -# todo -alt + control + f - bspt sptodo todo - -# trem -alt + control + g - bspt sptrem tremc diff --git a/sxiv/exec/key-handler b/sxiv/exec/key-handler deleted file mode 100755 index 08e06d5..0000000 --- a/sxiv/exec/key-handler +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -IMAGES=`cat -` - -case "$1" in - "w") - notify-send "$IMAGES" "background" - ln -sf $IMAGES ~/background.jpg - xwallpaper --zoom ~/background.jpg - ;; -esac diff --git a/tofi/config b/tofi/config new file mode 120000 index 0000000..54cdd97 --- /dev/null +++ b/tofi/config @@ -0,0 +1 @@ +/home/zachir/.config/tofi/themes/dmenu
\ No newline at end of file diff --git a/tofi/themes/colors b/tofi/themes/colors new file mode 100644 index 0000000..a5f480c --- /dev/null +++ b/tofi/themes/colors @@ -0,0 +1,17 @@ +background-color = #000000 +outline-color = #39c1ed +border-color = #39c1ed +text-color = #ffffff +prompt-color = #39c1ed +prompt-background = #000000 +placeholder-color = #39c1ed +placeholder-background = #000000 +input-color = #ffffff +input-background = #000000 +default-result-background = #000000 +alternate-result-color = #ffffff +alternate-result-background = #000000 +selection-color = #000000 +selection-match-color = #198844 +selection-background = #39c1ed + diff --git a/tofi/themes/dmenu b/tofi/themes/dmenu new file mode 100644 index 0000000..6bf9074 --- /dev/null +++ b/tofi/themes/dmenu @@ -0,0 +1,22 @@ +include = "themes/colors" + +hidden-character = "*" +anchor = top +width = 100% +height = 36 +horizontal = true +font-size = 24 +prompt-text = "" +font = mononoki Nerd Font Mono +outline-width = 0 +border-width = 0 +min-input-width = 424 +result-spacing = 15 +padding-top = 0 +padding-bottom = 0 +padding-left = 0 +padding-right = 0 +history = false +selection-background-padding = 12 +result-spacing = 24 +require-match=false diff --git a/waybar/config b/waybar/config new file mode 100644 index 0000000..6be1ce2 --- /dev/null +++ b/waybar/config @@ -0,0 +1,126 @@ +{ + "layer": "top", + "position": "top", + "height": 36, + "output": "%%DISPLAY%%", + "spacing": 4, + //"margin-top": 5, + //"margin-bottom":5, + + // Choose the order of the modules + + "modules-left":[ "custom/launcher"], + "modules-center":[], + "modules-right":[ "idle_inhibitor", "pulseaudio", "cpu", "memory", "temperature", "backlight", "battery#bat0", "battery#bat1", "network", "clock", "tray", "custom/power"], + + // Modules configuration + + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 20, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}%", + "format-charging": "{capacity}% +", + "format-plugged": "{capacity}% =", + "format-alt": "{time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + //"format-icons": ["", "", "", "", ""] + }, + "battery#bat0": { + "bat": "BAT0" + }, + "battery#bat1": { + "bat": "BAT1" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "Connected ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/launcher":{ + "format": "", + "on-click": "exec $(tofi-drun)", + "on-click-right": "killall tofi" + }, + "custom/power":{ + "format": " ", + "on-click": "nwg-bar", + "on-click-right": "killall nwg-bar" + }, + "custom/snip":{ + "format": " ", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + } +} diff --git a/waybar/config-Hyprland b/waybar/config-Hyprland new file mode 100644 index 0000000..903fcc7 --- /dev/null +++ b/waybar/config-Hyprland @@ -0,0 +1,137 @@ +{ + "layer": "top", + "position": "top", + "height": 36, + "output": "%%DISPLAY%%", + "spacing": 4, + //"margin-top": 5, + //"margin-bottom":5, + + // Choose the order of the modules + + "modules-left":[ "wlr/workspaces", "custom/launcher", "hyprland/window"], + "modules-center":[], + "modules-right":[ "idle_inhibitor", "pulseaudio", "cpu", "memory", "temperature", "backlight", "battery#bat0", "battery#bat1", "network", "clock", "tray", "custom/power"], + + // Modules configuration + + "wlr/workspaces": { + "format": "{name}", + "active-only": false, + "all-outputs": true, + "on-scroll-up": "hyprctl dispatch workspace e+1", + "on-scroll-down": "hyprctl dispatch workspace e-1" + }, + "hyprland/window": { + "separate-outputs": true, + "format": "{}" + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 20, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}%", + "format-charging": "{capacity}% +", + "format-plugged": "{capacity}% =", + "format-alt": "{time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + //"format-icons": ["", "", "", "", ""] + }, + "battery#bat0": { + "bat": "BAT0" + }, + "battery#bat1": { + "bat": "BAT1" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "Connected ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/launcher":{ + "format": "", + "on-click": "exec $(tofi-drun)", + "on-click-right": "killall tofi" + }, + "custom/power":{ + "format": " ", + "on-click": "nwg-bar", + "on-click-right": "killall nwg-bar" + }, + "custom/snip":{ + "format": " ", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + } +} diff --git a/waybar/config-river b/waybar/config-river new file mode 100644 index 0000000..3e84358 --- /dev/null +++ b/waybar/config-river @@ -0,0 +1,129 @@ +{ + "layer": "top", + "position": "top", + "OUTPUT": "%%DISPLAY%%", + "height": 36, + "spacing": 4, + //"margin-top": 5, + //"margin-bottom":5, + + // Choose the order of the modules + + "modules-left":[ "river/tags", "custom/launcher"], + "modules-center":[], + "modules-right":[ "idle_inhibitor", "pulseaudio", "cpu", "memory", "temperature", "backlight", "battery#bat0", "battery#bat1", "network", "clock", "tray", "custom/power"], + + // Modules configuration + + "river/tags": { + "num-tags": 9, + }, + "keyboard-state": { + "numlock": true, + "capslock": true, + "format": " {name} {icon}", + "format-icons": { + "locked": "", + "unlocked": "" + } + }, + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "", + "deactivated": "" + } + }, + "tray": { + "icon-size": 20, + "spacing": 10 + }, + "clock": { + // "timezone": "America/New_York", + "tooltip-format": "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "{usage}% ", + "tooltip": false + }, + "memory": { + "format": "{}% " + }, + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C {icon}", + "format-icons": ["", "", ""] + }, + "backlight": { + // "device": "acpi_video1", + "format": "{percent}% {icon}", + "format-icons": ["", ""] + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}%", + "format-charging": "{capacity}% +", + "format-plugged": "{capacity}% =", + "format-alt": "{time}", + // "format-good": "", // An empty format will hide the module + // "format-full": "", + //"format-icons": ["", "", "", "", ""] + }, + "battery#bat0": { + "bat": "BAT0" + }, + "battery#bat1": { + "bat": "BAT1" + }, + "network": { + // "interface": "wlp2*", // (Optional) To force the use of this interface + "format-wifi": "{essid} ({signalStrength}%) ", + "format-ethernet": "Connected ", + "tooltip-format": "{ifname} via {gwaddr} ", + "format-linked": "{ifname} (No IP) ", + "format-disconnected": "Disconnected ⚠", + "format-alt": "{ifname}: {ipaddr}/{cidr}", + "on-click-right": "bash ~/.config/rofi/wifi_menu/rofi_wifi_menu" + }, + "pulseaudio": { + // "scroll-step": 1, // %, can be a float + "format": "{volume}% {icon}", + "format-bluetooth": "{volume}% {icon}", + "format-bluetooth-muted": "{icon} {format_source}", + "format-muted": "{format_source}", + "format-source": "", + "format-source-muted": "", + "format-icons": { + "headphone": "", + "hands-free": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", "", ""] + }, + "on-click": "pavucontrol" + }, + "custom/launcher":{ + "format": "", + "on-click": "exec $(tofi-drun)", + "on-click-right": "killall tofi" + }, + "custom/power":{ + "format": " ", + "on-click": "nwg-bar", + "on-click-right": "killall nwg-bar" + }, + "custom/snip":{ + "format": " ", + "on-click": "grimshot --notify save area $HOME/Pictures/$(zenity --entry --text 'Set filename:' --entry-text '.png')" + } +} diff --git a/waybar/style.css b/waybar/style.css new file mode 100644 index 0000000..8333fb6 --- /dev/null +++ b/waybar/style.css @@ -0,0 +1,317 @@ +* { + border: 0px; + margin: 0px; + border-radius: 0px; + /* `otf-font-awesome` is required to be installed for icons */ + font-family: mononoki Nerd Font Mono; + font-size: 18px; + min-height: 0px; + min-width: 0px; +} + +window#waybar { + background-color: transparent; + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + + +#workspaces button { + background: #1f1f1f; + color: #ffffff; + border-radius: 20px; + +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ + +#workspaces button { + background: #2b55b2; + color: white; + border-bottom: 3px solid #000000; +} + +#workspaces button:hover { + background: #39c1ed; + color: black; + border-bottom: 3px solid #ffffff; + +} + +#workspaces button.active { + background: #39c1ed; +} + +#workspaces button.active:hover { + background: #39c1ed; + color: black; + border-bottom: 3px solid #ffffff; + +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: #64727D; + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#custom-media, +#custom-launcher, +#custom-power, +#custom-layout, +#custom-updater, +#custom-snip, +#custom-wallpaper, +#tags, +#taskbar, +#tray, +#mode, +#idle_inhibitor, +#mpd { + padding: 0px 9px; + margin: 0px; + color: #ffffff; +} + +#window, +#workspaces { + margin: 0px 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0px; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0px; +} + +#clock { + background-color: #171717; + color: #ffffff; +} + +#battery { + background-color: #ffffff; + color: #000000; +} + +#battery.charging, #battery.plugged { + color: #ffffff; + background-color: #26A65B; +} + +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +} + +#cpu { + background-color: #171717; + color: #ffffff; +} + +#memory { + background-color: #171717; + color: #ffffff; +} + +#disk { + background-color: #171717; + color: #ffffff; +} + +#backlight { + background-color: #90b1b1; +} + +#network { + background-color: #171717; + color: #ffffff; +} + +#network.disconnected { + background-color: #171717; + color: red; +} + +#pulseaudio { + background-color: #171717; + color: #ffffff; +} + +#pulseaudio.muted { + background-color: #171717; + color: red; +} + +#custom-media { + background-color: #171717; + color: white; +} + +#custom-media.custom-spotify { + background-color: #171717; + color: white; + +} + +#custom-media.custom-vlc { + background-color: #171717; + color: white; +} + +#custom-power{ + background-color: #171717; + font-size: 18px; + margin-right: 5px; + +} + +#custom-launcher{ + background-color: #171717; + font-size: 20px; + margin-left: 5px; + +} + +#custom-layout{ + background-color: #171717; + color: white; + font-size:20px; +} + +#custom-updater { + background-color: #171717; + color: white; +} + +#custom-snip { + background-color: #171717; + color: skyblue; + font-size: 20px; +} + +#custom-wallpaper { + background-color: #171717; + color: pink; + font-size: 20px; +} + +#tags{ + background-color: #171717; + font-size: 20px; +} + +#tags button.occupied { + color: skyblue; + background-color: #272727; +} +#tags button.focused { + color: black; + background-color: white; +} +#tags button.urgent{ + color: red; + background-color:white; +} + + +#taskbar{ + background-color: #171717; + border-radius: 0px 20px 20px 0px; +} + +#temperature { + background-color: #171717; + color: #ffffff; +} + +#temperature.critical { + background-color: #eb4d4b; +} + +#tray { + background-color: #171717; + color: #ffffff; +} + +#tray > .passive { + -gtk-icon-effect: dim; + background-color: #171717; + color: #ffffff; +} + +#tray > .needs-attention { + -gtk-icon-effect: highlight; + background-color: #171717; + color: #ffffff; +} + +#idle_inhibitor { + background-color: #171717; + border-radius: 20px 0px 0px 20px; + +} + +#idle_inhibitor.activated { + background-color: #198844; + color: #ffffff; + border-radius: 20px 0px 0px 20px; + +} + +#language { + background-color: #171717; + color: #ffffff; + min-width: 16px; +} + +#keyboard-state { + background: #97e1ad; + color: #000000; + min-width: 16px; +} + +#keyboard-state > label { + padding: 0px 5px; +} + +#keyboard-state > label.locked { + background: rgba(0, 0, 0, 0.2); +} diff --git a/waylock/config b/waylock/config new file mode 100644 index 0000000..d25aa13 --- /dev/null +++ b/waylock/config @@ -0,0 +1 @@ +-init-color 0x000000 -input-color 0x39C1ED -fail-color 0xCC342B diff --git a/zsh/.zshenv b/zsh/.zshenv index 15ffd52..b8ee20d 100644 --- a/zsh/.zshenv +++ b/zsh/.zshenv @@ -50,7 +50,7 @@ export GDK_DPI_SCALE=1 # Theming export QT_QPA_PLATFORMTHEME=qt5ct -[ -n "$WAYLAND_DISPLAY" ] && export GTK_THEME=Sweet-mars-v40 +[ -n "$WAYLAND_DISPLAY" ] && export GTK_THEME=Plata-Noir-Compact # Configure apps export BEMENU_OPTS="-H 36 --fn \"mononoki Nerd Font Mono 24\" --nb \"#000000\" --nf \"#c5c8c6\" --hb \"#39c1ed\" --hf \"#000000\" --cb \"#000000\" --cf \"#000000\" --tf \"#000000\" --tb \"#39c1ed\" --fb \"#000000\" --ff \"#c5c8c6\" --fbb \"#39c1ed\" --fbf \"#198844\"" @@ -98,4 +98,6 @@ export PATH="$PATH:/usr/sbin" export PATH="$PATH:/bin" export PATH="$PATH:/sbin" +[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" ] && . "${XDG_CONFIG_HOME:-$HOME/.config}/user-dirs.dirs" + [ -f /etc/profile.d/nix-daemon.sh ] && . /etc/profile.d/nix-daemon.sh |