summaryrefslogtreecommitdiff
path: root/hypr/hyprland.conf
diff options
context:
space:
mode:
Diffstat (limited to 'hypr/hyprland.conf')
-rw-r--r--hypr/hyprland.conf347
1 files changed, 167 insertions, 180 deletions
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index 3647d13..7948349 100644
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -1,31 +1,37 @@
-# See https://wiki.hyprland.org/Configuring/Monitors/
+# See https://wiki.hypr.land/Configuring/Monitors/
#{{{ Monitor config
-monitor = HDMI-A-1, 1920x1080@75, 1920x0, 1
monitor = DP-2, 1920x1080@75, 0x0, 1
+monitor = HDMI-A-1, 1920x1080@75, 1920x0, 1
+#monitor = eDP-1, 1920x1080@60, 0x0, 1
monitor = , preferred, auto, 1
#}}}
-# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+# See https://wiki.hypr.land/Configuring/Keywords/ for more
+
+#{{{ Plugins
+plugin = /var/cache/hyprpm/zachir/hyprland-plugins/hyprscrolling.so
+plugin = /var/cache/hyprpm/zachir/hyprsplit/hyprsplit.so
+#}}}
#{{{ Autostart
# Execute your favorite apps at launch
# exec-once = waybar & hyprpaper & firefox
-exec-once = xdph
exec-once = hyprpm reload -n
+exec-once = xdph
exec-once = hyprpaper
#exec-once = hypridle
exec-once = waybar
exec-once = pypr
+exec-once = hyprscratch init
exec-once = lxqt-policykit-agent
-exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest-Solid'
-exec-once = import-gsettings icon-theme 'Mint-X-Grey'
+exec-once = import-gsettings gtk-theme 'Flat-Remix-GTK-Green-Darkest'
+exec-once = import-gsettings icon-theme 'Papirus-Dark'
exec-once = import-gsettings cursor-theme 'BreezeX-Black'
+exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = xrdb -load "$XDG_CONFIG_HOME"/X11/xresources
-exec-once = com.github.wwmm.easyeffects
-#exec-once = systemctl --user start dunst
-#exec-once = systemctl --user start hypridle
-exec-once = dunst
-exec-once = hypridle
+exec-once = systemctl --user start dunst
+exec-once = systemctl --user start hypridle
+exec-once = xwayland-satellite :1
#exec-once = mpd
#}}}
@@ -35,6 +41,7 @@ env = HYPRCURSOR_THEME,theme_BreezeX-Black
env = HYPRCURSOR_SIZE,32
env = XCURSOR_THEME,BreezeX-Black
env = XCURSOR_SIZE,32
+env = DISPLAY=:1
#}}}
# Source a file (multi-file configs)
@@ -57,7 +64,7 @@ device {
# }}}
#{{{ Input options
-# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
+# For all categories, see https://wiki.hypr.land/Configuring/Variables/
input {
kb_layout = us
kb_variant =
@@ -84,7 +91,7 @@ input {
#{{{ General options
general {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
gaps_in = 5
gaps_out = 20
border_size = 2
@@ -92,7 +99,7 @@ general {
#col.inactive_border = rgba(595959aa)
col.active_border = rgba(198844ee)
col.inactive_border = rgba(1b1d1cee)
- layout = master
+ layout = scrolling
}
#}}}
@@ -108,7 +115,7 @@ misc {
disable_splash_rendering = true
enable_swallow = true
swallow_regex = ^(kitty)$
- swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*)$
+ swallow_exception_regex = ^(wev|.*ueberzug|n?vi?m? .*|.*dragon.*)$
vfr = true
vrr = 3
}
@@ -116,7 +123,7 @@ misc {
#{{{ Decoration options
decoration {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
rounding = 10
#{{{ Blur options
blur {
@@ -124,7 +131,7 @@ decoration {
size = 3
passes = 1
new_optimizations = true
- xray = false
+ xray = true
}
#}}}
#{{{ Shadow options
@@ -142,7 +149,7 @@ decoration {
#{{{ Animations options
animations {
enabled = no
- # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
+ # Some default animations, see https://wiki.hypr.land/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%
@@ -155,7 +162,7 @@ animations {
#{{{ Dwindle layout options
dwindle {
- # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
+ # See https://wiki.hypr.land/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
@@ -166,7 +173,7 @@ dwindle {
master {
special_scale_factor = 0.55
mfact = 0.55
- # See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
+ # See https://wiki.hypr.land/Configuring/Master-Layout/ for more
new_status = slave
new_on_top = false
new_on_active = before
@@ -179,8 +186,8 @@ master {
#{{{ Gestures options
gestures {
- # See https://wiki.hyprland.org/Configuring/Variables/ for more
- workspace_swipe = off
+ # See https://wiki.hypr.land/Configuring/Variables/ for more
+ #workspace_swipe = off
}
#}}}
@@ -190,6 +197,14 @@ plugin {
num_workspaces = 9
persistent_workspaces = true
}
+
+ hyprscrolling {
+ fullscreen_on_one_column = true
+ column_width = 0.5
+ explicit_column_widths = 0.25, 0.333, 0.5, 0.667, 0.75, 1.0
+ focus_fit_method = 1
+ follow_focus = true
+ }
}
#}}}
@@ -207,10 +222,20 @@ windowrulev2 = move onscreen cursor -50% -50%, title:^(menu)$
windowrulev2 = move cursor,class:REAPER,floating:1
windowrulev2 = nofocus,class:REAPER,title:^(menu)$
windowrulev2 = nofocus,class:REAPER,title:^$
+windowrulev2 = workspace special:easyeffects silent, class: ^(com\.github\.wwmm\.easyeffects)$
+windowrulev2 = workspace special:sonobus silent, class: ^(SonoBus)$
+# Fix brave xray menus
+windowrulev2 = xray 0, class: ^(\s*), title: ^(\s*)$
+# Center floating XWayland windows
+windowrule = center, xwayland: 1
+#}}}
+
+#{{{ Layerrules
+layerrule = blur, waybar
#}}}
#{{{ Mods
-# See https://wiki.hyprland.org/Configuring/Keywords/ for more
+# See https://wiki.hypr.land/Configuring/Keywords/ for more
$mainMod = SUPER
$secdMod = ALT
#}}}
@@ -221,18 +246,40 @@ $secdMod = ALT
#}}}
#{{{ Master layout binds
-# Master layout binds
-bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER
-bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER
-bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER
-bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER
-bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER
-binde = $mainMod, J, layoutmsg, cyclenext #MASTER
-binde = $mainMod, K, layoutmsg, cycleprev #MASTER
-binde = $mainMod, H, splitratio, -0.01 #MASTER
-binde = $mainMod, L, splitratio, +0.01 #MASTER
-bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER
-bind = $mainMod, O, splitratio, exact 0.69 #MASTER
+## Master layout binds
+#bind = $mainMod+SHIFT, Return, layoutmsg, swapwithmaster master #MASTER
+#bind = $mainMod+SHIFT, J, layoutmsg, swapnext #MASTER
+#bind = $mainMod+SHIFT, K, layoutmsg, swapprev #MASTER
+#bind = $mainMod+SHIFT, H, layoutmsg, addmaster #MASTER
+#bind = $mainMod+SHIFT, L, layoutmsg, removemaster #MASTER
+#binde = $mainMod, J, layoutmsg, cyclenext #MASTER
+#binde = $mainMod, K, layoutmsg, cycleprev #MASTER
+#binde = $mainMod, H, splitratio, -0.01 #MASTER
+#binde = $mainMod, L, splitratio, +0.01 #MASTER
+#bind = $mainMod+SHIFT, O, splitratio, exact 0.55 #MASTER
+#bind = $mainMod, O, splitratio, exact 0.69 #MASTER
+#}}}
+
+#{{{ hyprscrolling layout binds
+# hyprscrolling layout binds
+bind = $mainMod+SHIFT, H, layoutmsg, movewindowto l #HYPRSCROLLING
+bind = $mainMod+SHIFT, J, layoutmsg, movewindowto d #HYPRSCROLLING
+bind = $mainMod+SHIFT, K, layoutmsg, movewindowto u #HYPRSCROLLING
+bind = $mainMod+SHIFT, L, layoutmsg, movewindowto r #HYPRSCROLLING
+bind = $mainMod+CONTROL, H, layoutmsg, swapcol l
+bind = $mainMod+CONTROL, L, layoutmsg, swapcol r
+bind = $mainMod, H, layoutmsg, focus l #HYPRSCROLLING
+bind = $mainMod, J, layoutmsg, focus d #HYPRSCROLLING
+bind = $mainMod, K, layoutmsg, focus u #HYPRSCROLLING
+bind = $mainMod, L, layoutmsg, focus r #HYPRSCROLLING
+bind = $mainMod+SHIFT, R, layoutmsg, colresize +conf #HYPRSCROLLING
+bind = $mainMod+SHIFT, Return, layoutmsg, promote #HYPRSCROLLING
+#}}}
+
+#{{{ tab binds
+bind = $mainMod+ALT, O, togglegroup
+bind = $mainMod+ALT, J, changegroupactive, f
+bind = $mainMod+ALT, K, changegroupactive, b
#}}}
#{{{ Group binds
@@ -262,80 +309,80 @@ bind = $mainMod SHIFT, N, togglespecialworkspace, minimized
#}}}
#{{{ Workspace binds (using hyprsplit plugin!)
-## Switch workspaces with mainMod + [0-9]
-#bind = $mainMod, 1, split:workspace, 1
-#bind = $mainMod, 2, split:workspace, 2
-#bind = $mainMod, 3, split:workspace, 3
-#bind = $mainMod, 4, split:workspace, 4
-#bind = $mainMod, 5, split:workspace, 5
-#bind = $mainMod, 6, split:workspace, 6
-#bind = $mainMod, 7, split:workspace, 7
-#bind = $mainMod, 8, split:workspace, 8
-#bind = $mainMod, 9, split:workspace, 9
-## Move active window to a workspace with mainMod + SHIFT + [0-9]
-#bind = $mainMod SHIFT, 1, split:movetoworkspacesilent, 1
-#bind = $mainMod SHIFT, 2, split:movetoworkspacesilent, 2
-#bind = $mainMod SHIFT, 3, split:movetoworkspacesilent, 3
-#bind = $mainMod SHIFT, 4, split:movetoworkspacesilent, 4
-#bind = $mainMod SHIFT, 5, split:movetoworkspacesilent, 5
-#bind = $mainMod SHIFT, 6, split:movetoworkspacesilent, 6
-#bind = $mainMod SHIFT, 7, split:movetoworkspacesilent, 7
-#bind = $mainMod SHIFT, 8, split:movetoworkspacesilent, 8
-#bind = $mainMod SHIFT, 9, split:movetoworkspacesilent, 9
-#bind = $mainMod CONTROL SHIFT, 1, split:movetoworkspace, 1
-#bind = $mainMod CONTROL SHIFT, 2, split:movetoworkspace, 2
-#bind = $mainMod CONTROL SHIFT, 3, split:movetoworkspace, 3
-#bind = $mainMod CONTROL SHIFT, 4, split:movetoworkspace, 4
-#bind = $mainMod CONTROL SHIFT, 5, split:movetoworkspace, 5
-#bind = $mainMod CONTROL SHIFT, 6, split:movetoworkspace, 6
-#bind = $mainMod CONTROL SHIFT, 7, split:movetoworkspace, 7
-#bind = $mainMod CONTROL SHIFT, 8, split:movetoworkspace, 8
-#bind = $mainMod CONTROL SHIFT, 9, split:movetoworkspace, 9
-##bind = $mainMod, mouse_down, split:workspace, e+1
-##bind = $mainMod, mouse_up, split:workspace, e-1
-#bind = $mainMod, G, split:grabroguewindows
-#bind = $mainMod, comma, focusmonitor, -1
-#bind = $mainMod, period, focusmonitor, +1
-#bind = $mainMod SHIFT, comma, movewindow, mon:-1
-#bind = $mainMod SHIFT, period, movewindow, mon:+1
-#}}}
-
-#{{{ Workspace binds (not using hyprsplit plugin)
# 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, 1, split:workspace, 1
+bind = $mainMod, 2, split:workspace, 2
+bind = $mainMod, 3, split:workspace, 3
+bind = $mainMod, 4, split:workspace, 4
+bind = $mainMod, 5, split:workspace, 5
+bind = $mainMod, 6, split:workspace, 6
+bind = $mainMod, 7, split:workspace, 7
+bind = $mainMod, 8, split:workspace, 8
+bind = $mainMod, 9, split:workspace, 9
# 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 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 SHIFT, 1, split:movetoworkspacesilent, 1
+bind = $mainMod SHIFT, 2, split:movetoworkspacesilent, 2
+bind = $mainMod SHIFT, 3, split:movetoworkspacesilent, 3
+bind = $mainMod SHIFT, 4, split:movetoworkspacesilent, 4
+bind = $mainMod SHIFT, 5, split:movetoworkspacesilent, 5
+bind = $mainMod SHIFT, 6, split:movetoworkspacesilent, 6
+bind = $mainMod SHIFT, 7, split:movetoworkspacesilent, 7
+bind = $mainMod SHIFT, 8, split:movetoworkspacesilent, 8
+bind = $mainMod SHIFT, 9, split:movetoworkspacesilent, 9
+bind = $mainMod CONTROL SHIFT, 1, split:movetoworkspace, 1
+bind = $mainMod CONTROL SHIFT, 2, split:movetoworkspace, 2
+bind = $mainMod CONTROL SHIFT, 3, split:movetoworkspace, 3
+bind = $mainMod CONTROL SHIFT, 4, split:movetoworkspace, 4
+bind = $mainMod CONTROL SHIFT, 5, split:movetoworkspace, 5
+bind = $mainMod CONTROL SHIFT, 6, split:movetoworkspace, 6
+bind = $mainMod CONTROL SHIFT, 7, split:movetoworkspace, 7
+bind = $mainMod CONTROL SHIFT, 8, split:movetoworkspace, 8
+bind = $mainMod CONTROL SHIFT, 9, split:movetoworkspace, 9
+#bind = $mainMod, mouse_down, split:workspace, e+1
+#bind = $mainMod, mouse_up, split:workspace, e-1
+bind = $mainMod, G, split:grabroguewindows
bind = $mainMod, comma, focusmonitor, -1
bind = $mainMod, period, focusmonitor, +1
bind = $mainMod SHIFT, comma, movewindow, mon:-1
bind = $mainMod SHIFT, period, movewindow, mon:+1
#}}}
+#{{{ Workspace binds (not using hyprsplit plugin)
+## 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
+## 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 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, comma, focusmonitor, -1
+#bind = $mainMod, period, focusmonitor, +1
+#bind = $mainMod SHIFT, comma, movewindow, mon:-1
+#bind = $mainMod SHIFT, period, movewindow, mon:+1
+#}}}
+
#{{{ Mouse binds
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
@@ -354,11 +401,12 @@ submap = reset
#}}}
#{{{ Menu bindings
-bind = $mainMod, R, exec, sh -c "$(tofi-drun -c ~/.config/tofi/themes/dmenu_vertical --prompt-text Run:)"
-bind = $mainMod, D, exec, sh -c "$(tofi-run -c ~/.config/tofi/themes/dmenu_vertical --prompt-text Run:)"
+bind = $mainMod, E, exec, sh -c "tofi-drun --drun-launch=true -c $HOME/.config/tofi/themes/dmenu_vertical"
+bind = $mainMod, D, exec, sh -c "$(tofi-run -c $HOME/.config/tofi/themes/dmenu_vertical)"
+bind = $mainMod, R, exec, rs
bind = $mainMod $secdMod, Q, exec, qbc
bind = $mainMod $secdMod, W, exec, lwc
-bind = $mainMod $secdMod, E, exec, mbc
+bind = $mainMod $secdMod, E, exec, brc
bind = $mainMod $secdMod, R, exec, ffc
bind = $mainMod $secdMod, 1, exec, bm
bind = $mainMod $secdMod, comma, exec, dmount -p
@@ -370,91 +418,30 @@ bind = $mainMod $secdMod, P, exec, passmenu
#{{{ Misc bindings
bind = $mainMod, Return, exec, kitty
-bind = $mainMod $secdMod, F, exec, kitty -e lf
+bind = $mainMod $secdMod, F, exec, kitty lf
bind = $mainMod, W, exec, pkill -USR1 waybar
bind = $mainMod, Q, exec, loginctl lock-session
bind = $mainMod $secdMod CONTROL, Q, exec, systemctl suspend
bind = $mainMod SHIFT, G, exec, get-app-id
bind = $mainMod Control, M, exec, volsv -m
-bind = $mainMod, Comma, exec, acpi-notify.sh
+#bind = $mainMod, Comma, exec, acpi-notify.sh
#bind = $mainMod CONTROL, R, exec, startx -- /usr/bin/Xephyr -screen 1920x1080 :1
#}}}
#{{{ Scratchpads
-bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop
-$sphtop = class:^(sphtop)$
-windowrule = float,$sphtop
-windowrule = workspace special:sphtop silent,$sphtop
-windowrule = size 50% 50%,$sphtop
-windowrule = move 25% 25%,$sphtop
-bind = $mainMod CONTROL, X, exec, pypr toggle spterm
-$spterm = class:^(spterm)$
-windowrule = float,$spterm
-windowrule = workspace special:spterm silent,$spterm
-windowrule = size 50% 50%,$spterm
-windowrule = move 25% 25%,$spterm
-bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr
-$sppmxr = class:^(sppmxr)$
-windowrule = float,$sppmxr
-windowrule = workspace special:sppmxr silent,$sppmxr
-windowrule = size 50% 50%,$sppmxr
-windowrule = move 25% 25%,$sppmxr
-bind = $mainMod CONTROL, V, exec, pypr toggle spblue
-$spblue = class:^(spblue)$
-windowrule = float,$spblue
-windowrule = workspace special:spblue silent,$spblue
-windowrule = size 50% 50%,$spblue
-windowrule = move 25% 25%,$spblue
-bind = $mainMod CONTROL, B, exec, pypr toggle spncmp
-$spncmp = class:^(spncmp)$
-windowrule = float,$spncmp
-windowrule = workspace special:spncmp silent,$spncmp
-windowrule = size 50% 50%,$spncmp
-windowrule = move 25% 25%,$spncmp
-bind = $mainMod CONTROL, A, exec, pypr toggle spmutt
-$spmutt = class:^(spmutt)$
-windowrule = float,$spmutt
-windowrule = workspace special:spmutt silent,$spmutt
-windowrule = size 50% 50%,$spmutt
-windowrule = move 25% 25%,$spmutt
-bind = $mainMod CONTROL, S, exec, pypr toggle spprof
-$spprof = class:^(spprof)$
-windowrule = float,$spprof
-windowrule = workspace special:spprof silent,$spprof
-windowrule = size 50% 50%,$spprof
-windowrule = move 25% 25%,$spprof
-bind = $mainMod CONTROL, D, exec, pypr toggle spirss
-$spirss = class:^(spirss)$
-windowrule = float,$spirss
-windowrule = workspace special:spirss silent,$spirss
-windowrule = size 50% 50%,$spirss
-windowrule = move 25% 25%,$spirss
-bind = $mainMod CONTROL, F, exec, pypr toggle sptodo
-$sptodo = class:^(sptodo)$
-windowrule = float,$sptodo
-windowrule = workspace special:sptodo silent,$sptodo
-windowrule = size 50% 50%,$sptodo
-windowrule = move 25% 25%,$sptodo
-bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc
-$sptrmc = class:^(sptrmc)$
-windowrule = float,$sptrmc
-windowrule = workspace special:sptrmc silent,$sptrmc
-windowrule = size 50% 50%,$sptrmc
-windowrule = move 25% 25%,$sptrmc
-
-bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph
-$spqpwg = class:^(org\.rncbc\.qpwgraph)$
-windowrule = float,$spqpwg
-windowrule = workspace special:spqpwg silent,$spqpwg
-windowrule = size 50% 50%,$spqpwg
-windowrule = move 25% 25%,$spqpwg
-
-bind = $mainMod CONTROL, E, togglespecialworkspace, speasy
-$speasy = class:^(com\.github\.wwmm\.easyeffects)$
-windowrule = float,$speasy
-windowrule = workspace special:speasy silent,$speasy
-windowrule = size 50% 50%,$speasy
-windowrule = move 25% 25%,$speasy
+bind = $mainMod CONTROL, Z, exec, hyprscratch toggle sphtop
+bind = $mainMod CONTROL, X, exec, hyprscratch toggle spterm
+bind = $mainMod CONTROL, C, exec, hyprscratch toggle sppmxr
+bind = $mainMod CONTROL, V, exec, hyprscratch toggle spblue
+bind = $mainMod CONTROL, B, exec, hyprscratch toggle spncmp
+bind = $mainMod CONTROL, A, exec, hyprscratch toggle spmutt
+bind = $mainMod CONTROL, S, exec, hyprscratch toggle spprof
+bind = $mainMod CONTROL, D, exec, hyprscratch toggle spirss
+bind = $mainMod CONTROL, F, exec, hyprscratch toggle spvimw
+bind = $mainMod CONTROL, G, exec, hyprscratch toggle sptrmc
+bind = $mainMod CONTROL, Q, exec, hyprscratch toggle helvum
+bind = $mainMod CONTROL, E, exec, hyprscratch toggle easyeffects
+bind = $mainMod CONTROL, r, exec, hyprscratch toggle sonobus
#}}}
#{{{ OBS bindings