1{ pkgs, ... }:
2{
3 wayland.windowManager.hyprland.settings = {
4 binds = {
5 movefocus_cycles_fullscreen = true;
6 };
7
8 bind = [
9 # show keybinds list
10 "$mainMod, F1, exec, show-keybinds"
11
12 # keybindings
13 "$mainMod, Return, exec, ${pkgs.ghostty}/bin/ghostty --gtk-single-instance=true"
14 "$mainMod, P, pseudo,"
15 "$mainMod, C, killactive,"
16 "$mainMod, M, exit, "
17 "$mainMod, E, exec, $fileManager"
18 "$mainMod, F, togglefloating,"
19 "$mainMod, R, exec, $menu "
20 "$mainMod, J, togglesplit "
21 "$mainMod, Space, exec, vicinae vicinae://toggle"
22 # "ALT, Return, exec, [float; size 1111 700] ghostty"
23 # "$mainMod SHIFT, Return, exec, [fullscreen] ghostty"
24 # "$mainMod, B, exec, [workspace 1 silent] zen-beta"
25 # "$mainMod, Q, killactive,"
26 # "$mainMod, F, fullscreen, 0"
27 # "$mainMod SHIFT, F, fullscreen, 1"
28 # "$mainMod, Space, exec, toggle-float"
29 # "$mainMod SHIFT, D, exec, webcord --enable-features=UseOzonePlatform --ozone-platform=wayland"
30 # "$mainMod SHIFT, S, exec, hyprctl dispatch exec '[workspace 5 silent] SoundWireServer'"
31 # "$mainMod, Escape, exec, swaylock"
32 # "ALT, Escape, exec, hyprlock"
33 # "$mainMod SHIFT, Escape, exec, power-menu"
34 # "$mainMod, X, togglesplit,"
35 # "$mainMod, T, exec, toggle-oppacity"
36 # "$mainMod, E, exec, nemo"
37 # "ALT, E, exec, hyprctl dispatch exec '[float; size 1111 700] nemo'"
38 # "$mainMod SHIFT, B, exec, toggle-waybar"
39 # "$mainMod, C ,exec, hyprpicker -a"
40 # "$mainMod, W,exec, wallpaper-picker"
41 # "$mainMod SHIFT, W,exec, hyprctl dispatch exec '[float; size 925 615] waypaper'"
42 # "$mainMod, N, exec, swaync-client -t -sw"
43 # "CTRL SHIFT, Escape, exec, hyprctl dispatch exec '[workspace 9] missioncenter'"
44 # "$mainMod, equal, exec, woomer"
45 # "$mainMod SHIFT, W, exec, vm-start"
46
47 # screenshot
48 ",Print, exec, screenshot --copy"
49 "$mainMod, Print, exec, screenshot --save"
50 "$mainMod SHIFT, Print, exec, screenshot --swappy"
51
52 # switch focus
53 "$mainMod, left, movefocus, l"
54 "$mainMod, right, movefocus, r"
55 "$mainMod, up, movefocus, u"
56 "$mainMod, down, movefocus, d"
57 "$mainMod, h, movefocus, l"
58 "$mainMod, j, movefocus, d"
59 "$mainMod, k, movefocus, u"
60 "$mainMod, l, movefocus, r"
61
62 "$mainMod, left, alterzorder, top"
63 "$mainMod, right, alterzorder, top"
64 "$mainMod, up, alterzorder, top"
65 "$mainMod, down, alterzorder, top"
66 "$mainMod, h, alterzorder, top"
67 "$mainMod, j, alterzorder, top"
68 "$mainMod, k, alterzorder, top"
69 "$mainMod, l, alterzorder, top"
70
71 "CTRL ALT, up, exec, hyprctl dispatch focuswindow floating"
72 "CTRL ALT, down, exec, hyprctl dispatch focuswindow tiled"
73
74 # switch workspace
75 "$mainMod, 1, split-workspace, 1"
76 "$mainMod, 2, split-workspace, 2"
77 "$mainMod, 3, split-workspace, 3"
78 "$mainMod, 4, split-workspace, 4"
79 "$mainMod, 5, split-workspace, 5"
80 "$mainMod, 6, split-workspace, 6"
81 "$mainMod, 7, split-workspace, 7"
82 "$mainMod, 8, split-workspace, 8"
83 "$mainMod, 9, split-workspace, 9"
84 "$mainMod, 0, split-workspace, 10"
85
86 # same as above, but switch to the workspace
87 "$mainMod SHIFT, 1, split-movetoworkspacesilent, 1" # movetoworkspacesilent
88 "$mainMod SHIFT, 2, split-movetoworkspacesilent, 2"
89 "$mainMod SHIFT, 3, split-movetoworkspacesilent, 3"
90 "$mainMod SHIFT, 4, split-movetoworkspacesilent, 4"
91 "$mainMod SHIFT, 5, split-movetoworkspacesilent, 5"
92 "$mainMod SHIFT, 6, split-movetoworkspacesilent, 6"
93 "$mainMod SHIFT, 7, split-movetoworkspacesilent, 7"
94 "$mainMod SHIFT, 8, split-movetoworkspacesilent, 8"
95 "$mainMod SHIFT, 9, split-movetoworkspacesilent, 9"
96 "$mainMod SHIFT, 0, split-movetoworkspacesilent, 10"
97 "$mainMod CTRL, c, split-movetoworkspace, empty"
98
99 # window control
100 "$mainMod SHIFT, left, movewindow, l"
101 "$mainMod SHIFT, right, movewindow, r"
102 "$mainMod SHIFT, up, movewindow, u"
103 "$mainMod SHIFT, down, movewindow, d"
104 "$mainMod SHIFT, h, movewindow, l"
105 "$mainMod SHIFT, j, movewindow, d"
106 "$mainMod SHIFT, k, movewindow, u"
107 "$mainMod SHIFT, l, movewindow, r"
108
109 "$mainMod CTRL, left, resizeactive, -80 0"
110 "$mainMod CTRL, right, resizeactive, 80 0"
111 "$mainMod CTRL, up, resizeactive, 0 -80"
112 "$mainMod CTRL, down, resizeactive, 0 80"
113 "$mainMod CTRL, h, resizeactive, -80 0"
114 "$mainMod CTRL, j, resizeactive, 0 80"
115 "$mainMod CTRL, k, resizeactive, 0 -80"
116 "$mainMod CTRL, l, resizeactive, 80 0"
117
118 "$mainMod ALT, left, moveactive, -80 0"
119 "$mainMod ALT, right, moveactive, 80 0"
120 "$mainMod ALT, up, moveactive, 0 -80"
121 "$mainMod ALT, down, moveactive, 0 80"
122 "$mainMod ALT, h, moveactive, -80 0"
123 "$mainMod ALT, j, moveactive, 0 80"
124 "$mainMod ALT, k, moveactive, 0 -80"
125 "$mainMod ALT, l, moveactive, 80 0"
126
127 # media and volume controls
128 # ",XF86AudioMute,exec, pamixer -t"
129 ",XF86AudioPlay,exec, playerctl play-pause"
130 ",XF86AudioNext,exec, playerctl next"
131 ",XF86AudioPrev,exec, playerctl previous"
132 ",XF86AudioStop,exec, playerctl stop"
133
134 "$mainMod, mouse_down, split-workspace, e-1"
135 "$mainMod, mouse_up, split-workspace, e+1"
136
137 # clipboard manager
138 "$mainMod, V, exec, vicinae vicinae://extensions/vicinae/clipboard/history"
139 #awakened-poe-trade
140 # "SHIFT,Space,pass,class:^(awakened-poe-trade)$"
141 # "CTRL,D,pass,class:^(awakened-poe-trade)$"
142 # "CTRL ALT,D,pass,class:^(awakened-poe-trade)$"
143 ];
144
145 bindel = [
146 ",XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+"
147 ",XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-"
148 ",XF86AudioMute, exec, pctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
149 ",XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
150 ];
151
152 # mouse binding
153 bindm = [
154 "$mainMod, mouse:272, movewindow"
155 "$mainMod, mouse:273, resizewindow"
156 ];
157 };
158}