|
6 | 6 | }:
|
7 | 7 | let
|
8 | 8 | cfg = config.liminalOS.desktop.hyprland;
|
| 9 | + hyprnome = "${pkgs.hyprnome}/bin/hyprnome --no-empty-before"; |
9 | 10 | in
|
10 | 11 | {
|
11 | 12 | wayland.windowManager.hyprland.settings = lib.mkIf cfg.enable {
|
12 | 13 | bind =
|
13 |
| - ( |
14 |
| - if cfg.hyprscroller.enable then |
15 |
| - [ |
16 |
| - "$mod+Shift, $Left, scroller:movewindow, l" |
17 |
| - "$mod+Shift, $Right, scroller:movewindow, r" |
18 |
| - "$mod+Shift, $Up, scroller:movewindow, u" |
19 |
| - "$mod+Shift, $Down, scroller:movewindow, d" |
20 |
| - |
21 |
| - # Move around |
22 |
| - "$mod, $Left, scroller:movefocus, l" |
23 |
| - "$mod, $Right, scroller:movefocus, r" |
24 |
| - "$mod, $Up, scroller:movefocus, u" |
25 |
| - "$mod, $Down, scroller:movefocus, d" |
26 |
| - ] |
27 |
| - else |
28 |
| - # Move windows around |
29 |
| - [ |
30 |
| - "$mod+Shift, $Left, movewindow, l" |
31 |
| - "$mod+Shift, $Right, movewindow, r" |
32 |
| - "$mod+Shift, $Up, movewindow, u" |
33 |
| - "$mod+Shift, $Down, movewindow, d" |
34 |
| - |
35 |
| - # Move around |
36 |
| - "$mod, $Left, movefocus, l" |
37 |
| - "$mod, $Right, movefocus, r" |
38 |
| - "$mod, $Up, movefocus, u" |
39 |
| - "$mod, $Down, movefocus, d" |
40 |
| - |
41 |
| - "$mod, V, togglesplit" |
42 |
| - ] |
43 |
| - ) |
44 |
| - ++ (lib.optionals cfg.hyprscroller.enable [ |
| 14 | + [ |
| 15 | + "$mod+Shift, $Left, scroller:movewindow, l" |
| 16 | + "$mod+Shift, $Right, scroller:movewindow, r" |
| 17 | + "$mod+Shift, $Up, scroller:movewindow, u" |
| 18 | + "$mod+Shift, $Down, scroller:movewindow, d" |
| 19 | + |
| 20 | + # Move around |
| 21 | + "$mod, $Left, scroller:movefocus, l" |
| 22 | + "$mod, $Right, scroller:movefocus, r" |
| 23 | + "$mod, $Up, scroller:movefocus, u" |
| 24 | + "$mod, $Down, scroller:movefocus, d" |
45 | 25 | "$mod, comma, scroller:admitwindow"
|
46 | 26 | "$mod, period, scroller:expelwindow"
|
47 | 27 | "$mod, F, scroller:fitsize, active"
|
48 | 28 | "$mod, Y, scroller:fitsize, all"
|
49 | 29 | "$mod, semicolon, scroller:cyclesize, next"
|
50 | 30 | "$mod, apostrophe, scroller:cyclesize, previous"
|
51 | 31 |
|
52 |
| - "$mod+Shift, U, movetoworkspace, r+1" |
53 |
| - "$mod+Shift, I, movetoworkspace, r-1" |
54 |
| - |
55 |
| - "$mod, U, workspace, r+1" |
56 |
| - "$mod, I, workspace, r-1" |
| 32 | + "$mod+Shift, U, exec, ${hyprnome} --move" |
| 33 | + "$mod+Shift, I, exec, ${hyprnome} --previous --move" |
57 | 34 |
|
58 |
| - # harder to reach number keys |
59 |
| - "$mod, A, workspace, 1" |
60 |
| - "$mod, D, workspace, 2" |
| 35 | + "$mod, U, exec, ${hyprnome}" |
| 36 | + "$mod, I, exec, ${hyprnome} --previous" |
61 | 37 |
|
62 | 38 | "$mod, C, scroller:setmode, c"
|
63 | 39 | "$mod, V, scroller:setmode, r"
|
64 | 40 |
|
65 | 41 | "$mod, G, scroller:jump"
|
66 | 42 | "$mod+Ctrl, G, scroller:toggleoverview"
|
67 |
| - ]) |
68 |
| - ++ [ |
69 | 43 | # Window actions
|
70 | 44 | "$mod, Q, killactive"
|
71 | 45 | "$mod, W, togglefloating"
|
72 | 46 | "$mod, Return, fullscreen"
|
73 | 47 |
|
74 |
| - "$mod, 1, workspace, 1" |
75 |
| - "$mod, 2, workspace, 2" |
76 |
| - "$mod, 3, workspace, 3" |
77 |
| - "$mod, 4, workspace, 4" |
78 |
| - "$mod, 5, workspace, 5" |
79 |
| - "$mod, 6, workspace, 6" |
80 |
| - "$mod, 7, workspace, 7" |
81 |
| - "$mod, 8, workspace, 8" |
82 |
| - "$mod, 9, workspace, 9" |
83 |
| - "$mod, 0, workspace, 10" |
84 |
| - |
85 |
| - "$mod+Ctrl, bracketright, movetoworkspace, r+1" |
86 |
| - "$mod+Ctrl, bracketleft, movetoworkspace, r-1" |
87 |
| - |
88 |
| - "$mod, bracketright, workspace, r+1" |
89 |
| - "$mod, bracketleft, workspace, r-1" |
90 |
| - |
91 | 48 | # Utilities
|
92 | 49 | "$mod, Space, exec, pkill -x rofi || rofi -show drun" # Run rofi application launcher
|
93 | 50 | "$mod, X, exec, pkill -x rofi || rofi -show window" # Run rofi window switcher
|
94 | 51 |
|
95 |
| - ''$mod+Shift, P, exec, ${pkgs.grim}/bin/grim - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot |
96 |
| - |
97 | 52 | "$mod, Backspace, exec, pkill -x wlogout || wlogout" # show logout menu
|
98 | 53 |
|
99 | 54 | "$mod, Z, exec, loginctl lock-session"
|
|
104 | 59 | ",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox next"
|
105 | 60 | ",XF86AudioRewind, exec, ${pkgs.playerctl}/bin/playerctl --player=%any,firefox previous"
|
106 | 61 |
|
107 |
| - # Move active window to a workspace with mainMod + SHIFT + [0-9] |
108 |
| - "$mod+Shift, 1, movetoworkspace, 1" |
109 |
| - "$mod+Shift, 2, movetoworkspace, 2" |
110 |
| - "$mod+Shift, 3, movetoworkspace, 3" |
111 |
| - "$mod+Shift, 4, movetoworkspace, 4" |
112 |
| - "$mod+Shift, 5, movetoworkspace, 5" |
113 |
| - "$mod+Shift, 6, movetoworkspace, 6" |
114 |
| - "$mod+Shift, 7, movetoworkspace, 7" |
115 |
| - "$mod+Shift, 8, movetoworkspace, 8" |
116 |
| - "$mod+Shift, 9, movetoworkspace, 9" |
117 |
| - "$mod+Shift, 0, movetoworkspace, 10" |
118 |
| - ] |
119 |
| - ++ (lib.optionals (!cfg.useAdvancedBindings) [ |
120 | 62 | "$mod, S, togglespecialworkspace"
|
121 | 63 | "$mod+Alt, S, movetoworkspacesilent, special"
|
122 | 64 | "$mod, Tab, workspace, previous"
|
| 65 | + ''$mod+Shift, P, exec, ${pkgs.grim}/bin/grim - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot full screen |
123 | 66 | ''$mod, P, exec, ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot
|
124 |
| - ]) |
125 |
| - ++ (lib.optionals cfg.useAdvancedBindings [ |
126 |
| - # Special workspace |
127 |
| - "$mod, C, togglespecialworkspace" |
128 |
| - "$mod+Alt, C, movetoworkspacesilent, special" |
129 |
| - |
130 |
| - ''$mod, semicolon, exec, ${pkgs.grim}/bin/grim -g "$(${pkgs.slurp}/bin/slurp)" - | ${pkgs.swappy}/bin/swappy -f -'' # Screenshot |
131 |
| - |
132 |
| - "$mod, a, workspace, 1" |
133 |
| - "$mod, s, workspace, 2" |
134 |
| - "$mod, d, workspace, 3" |
135 |
| - "$mod, f, workspace, 4" |
136 |
| - "$mod, g, workspace, 5" |
137 |
| - "$mod, y, workspace, 6" |
138 |
| - "$mod, u, workspace, 7" |
139 |
| - "$mod, i, workspace, 8" |
140 |
| - "$mod, o, workspace, 9" |
141 |
| - "$mod, p, workspace, 10" |
142 |
| - |
143 |
| - "$mod+Shift, a, movetoworkspace, 1" |
144 |
| - "$mod+Shift, s, movetoworkspace, 2" |
145 |
| - "$mod+Shift, d, movetoworkspace, 3" |
146 |
| - "$mod+Shift, f, movetoworkspace, 4" |
147 |
| - "$mod+Shift, g, movetoworkspace, 5" |
148 |
| - "$mod+Shift, y, movetoworkspace, 6" |
149 |
| - "$mod+Shift, u, movetoworkspace, 7" |
150 |
| - "$mod+Shift, i, movetoworkspace, 8" |
151 |
| - "$mod+Shift, o, movetoworkspace, 9" |
152 |
| - "$mod+Shift, p, movetoworkspace, 10" |
153 |
| - ]) |
| 67 | + ] |
154 | 68 | ++ (lib.optionals config.liminalOS.programs.zen.enable [
|
155 | 69 | "$mod, B, exec, zen"
|
156 | 70 | ])
|
|
0 commit comments