summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzachir <zachir@librem.one>2024-01-02 15:50:25 -0600
committerzachir <zachir@librem.one>2024-01-02 15:50:25 -0600
commit19528de380b5400f75b029da828c86cf525f2107 (patch)
treea6073df78df60003f875e429b0ee03bd5de05722
parent5f08ae7a89c4376fd9a3c2848fbb12aab1cd6d94 (diff)
hypr: Adding in pyprland and hyprload extensions
We're going to be using two extensions, so naturally we need to have two extension managers (-_-). This should configure both the pyprland and hyprload widgets in full, assuming both are already installed.
-rw-r--r--hypr/hyprland.conf162
-rw-r--r--hypr/hyprload.toml3
-rw-r--r--hypr/pyprland.toml77
3 files changed, 198 insertions, 44 deletions
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index aa2c040..153ff91 100644
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -13,6 +13,8 @@ monitor = DP-1, 1920x1080@60, 1920x0, 1
exec-once = ~/.config/autostart.sh
exec-once = /usr/lib/polkit-kde-authentication-agent-1
exec-once = xdph
+exec-once = $HOME/.local/share/hyprload/hyprload.sh
+exec-once = pypr
#}}}
# Source a file (multi-file configs)
@@ -81,7 +83,6 @@ decoration {
#}}}
-
#{{{ Animations options
animations {
enabled = no
@@ -133,6 +134,14 @@ device:epic mouse V1 {
}
#}}}
+#{{{ plugin options
+plugin {
+ split-monitor-workspaces {
+ count = 9
+ }
+}
+#}}}
+
#{{{ Windowrules
# Example windowrule v1
# windowrule = float, ^(kitty)$
@@ -150,8 +159,8 @@ windowrulev2 = windowdance,title:^(menu*)
#{{{ Mods
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
-$mainMod = ALT
-$secdMod = SUPER
+$mainMod = SUPER
+$secdMod = ALT
#}}}
#{{{ Layout toggle bind
@@ -215,38 +224,40 @@ bind = $mainMod, F, fullscreen, 0
bind = $mainMod, M, fullscreen, 1
#}}}
-#{{{ Workspace binds
+#{{{ Workspace binds (implied using split-monitor-workspaces 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, mouse_down, workspace, e+1
-bind = $mainMod, mouse_up, workspace, e-1
+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, comma, split-changemonitor, +1
+bind = $mainMod, period, split-changemonitor, -1
#}}}
#{{{ Mouse binds
@@ -292,17 +303,80 @@ bind = $mainMod SHIFT, G, exec, get-app-id
#}}}
#{{{ Scratchpads
-bind = $mainMod CONTROL, Z, exec, [workspace special:sphtop;float;noanim] sphtop
-bind = $mainMod CONTROL, X, exec, [workspace special:spterm;float;noanim] spterm
-bind = $mainMod CONTROL, C, exec, [workspace special:sppmxr;float;noanim] sppmxr
-bind = $mainMod CONTROL, V, exec, [workspace special:spblue;float;noanim] spblue
-bind = $mainMod CONTROL, B, exec, [workspace special:spncmp;float;noanim] spncmp
-bind = $mainMod CONTROL, A, exec, [workspace special:spmutt;float;noanim] spmutt
-bind = $mainMod CONTROL, S, exec, [workspace special:spprof;float;noanim] spprof
-bind = $mainMod CONTROL, D, exec, [workspace special:spirss;float;noanim] spirss
-bind = $mainMod CONTROL, F, exec, [workspace special:sptodo;float;noanim] sptodo
-bind = $mainMod CONTROL, G, exec, [workspace special:sptrmc;float;noanim] sptrmc
-bind = $mainMod CONTROL, Q, exec, [workspace special:spqpwg;float;noanim] spqpwg
+bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop
+$sphtop = ^(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 = ^(spterm)$
+windowrule = float,$spterm
+windowrule = workspace special:spterm silent,$dropterm
+windowrule = size 50% 50%,$spterm
+windowrule = move 25% 25%,$spterm
+bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr
+$sppmxr = ^(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 = ^(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 = ^(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 = ^(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 = ^(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 = ^(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 = ^(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 = ^(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 = ^(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 = ^(com\.github\.wwmm\.easyeffects)$
+windowrule = float,$speasy
+windowrule = workspace special:speasy silent,$speasy
+windowrule = size 50% 50%,$speasy
+windowrule = move 25% 25%,$speasy
#}}}
#{{{ OBS bindings
diff --git a/hypr/hyprload.toml b/hypr/hyprload.toml
new file mode 100644
index 0000000..65e668c
--- /dev/null
+++ b/hypr/hyprload.toml
@@ -0,0 +1,3 @@
+plugins = [
+ "Duckonaut/split-monitor-workspaces",
+]
diff --git a/hypr/pyprland.toml b/hypr/pyprland.toml
new file mode 100644
index 0000000..600c30a
--- /dev/null
+++ b/hypr/pyprland.toml
@@ -0,0 +1,77 @@
+[pyprland]
+plugins = [
+ "scratchpads",
+]
+
+[scratchpads.sphtop]
+animation = ""
+command = "kitty --class sphtop htop"
+class = "sphtop"
+lazy = true
+
+[scratchpads.spterm]
+animation = ""
+command = "kitty --class spterm"
+class = "spterm"
+lazy = true
+
+[scratchpads.sppmxr]
+animation = ""
+command = "kitty --class sppmxr pulsemixer"
+class = "sppmxr"
+lazy = true
+
+[scratchpads.spblue]
+animation = ""
+command = "kitty --class spblue bluetoothctl"
+class = "spblue"
+lazy = true
+
+[scratchpads.spncmp]
+animation = ""
+command = "kitty --class spncmp ncmpcpp"
+class = "spncmp"
+lazy = true
+
+[scratchpads.spmutt]
+animation = ""
+command = "kitty --class spmutt neomutt"
+class = "spmutt"
+lazy = true
+
+[scratchpads.spprof]
+animation = ""
+command = "kitty --class spprof profanity"
+class = "spprof"
+lazy = true
+
+[scratchpads.spirss]
+animation = ""
+command = "kitty --class spirss irssi"
+class = "spirss"
+lazy = true
+
+[scratchpads.sptodo]
+animation = ""
+command = "kitty --class sptodo todo"
+class = "sptodo"
+lazy = true
+
+[scratchpads.sptrmc]
+animation = ""
+command = "kitty --class sptrmc tremc"
+class = "sptremc"
+lazy = true
+
+[scratchpads.qpwgraph]
+animation = ""
+command = "qpwgraph"
+class = "org.rncbc.qpwgraph"
+lazy = true
+
+[scratchpads.easyeffects]
+animation = ""
+command = "flatpak run com.github.wwmm.easyeffects"
+class = "com.github.wwmm.easyeffects"
+lazy = true
+unfocus = "hide"