blob: 1e3e281f2d583ffbc96257fd15b42d15da2631ae (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
{ config, pkgs, ... }:
{
programs.niri.settings.binds = with config.lib.niri.actions;
let
set-volume = spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@";
playerctl = spawn "${pkgs.playerctl}/bin/playerctl";
in
{
"Mod+Slash".action = show-hotkey-overlay;
XF86AudioRaiseVolume.action = set-volume "2%+";
XF86AudioLowerVolume.action = set-volume "2%-";
XF86AudioMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
XF86AudioMicMute.action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
XF86AudioPlay.action = playerctl "play-pause";
XF86AudioStop.action = playerctl "pause";
XF86AudioPrev.action = playerctl "previous";
XF86AudioNext.action = playerctl "next";
"Mod+Minus".action = set-column-width "-10%";
"Mod+Equal".action = set-column-width "+10%";
# // Finer height adjustments when in column with other windows.
"Mod+Shift+Minus".action = set-window-height "-10%";
"Mod+Shift+Equal".action = set-window-height "+10%";
# "Mod+Shift+V".action = switch-focus-between-floating-and-tiling;
"Mod+Shift+P".action = power-off-monitors;
# --- System / General ---
"Mod+Return".action = spawn "foot";
"Mod+D".action = spawn "fuzzel";
# The 'quit' action without arguments performs the action with confirmation.
"Mod+Shift+E".action = quit;
# --- Window Navigation (Focus) ---
"Mod+H".action = focus-column-left;
"Mod+L".action = focus-column-right;
"Mod+J".action = focus-window-down;
"Mod+K".action = focus-window-up;
# --- Window Management (Move) ---
"Mod+Shift+H".action = move-column-left;
"Mod+Shift+L".action = move-column-right;
"Mod+Shift+J".action = move-window-down;
"Mod+Shift+K".action = move-window-up;
# --- Window State ---
"Mod+Shift+Q".action = close-window;
"Mod+F".action = maximize-column;
# "Mod+V".action = toggle-window-floating; # Renamed from toggle-floating to match docs};
"Mod+1".action = focus-workspace 1;
"Mod+2".action = focus-workspace 2;
"Mod+3".action = focus-workspace 3;
"Mod+4".action = focus-workspace 4;
"Mod+5".action = focus-workspace 5;
"Mod+6".action = focus-workspace 6;
# The wonky format used here is to work-around https://github.com/sodiboo/niri-flake/issues/944
"Mod+Ctrl+1".action.move-column-to-workspace = [ 1 ];
"Mod+Ctrl+2".action.move-column-to-workspace = [ 2 ];
"Mod+Ctrl+3".action.move-column-to-workspace = [ 3 ];
"Mod+Ctrl+4".action.move-column-to-workspace = [ 4 ];
"Mod+Ctrl+5".action.move-column-to-workspace = [ 5 ];
"Mod+Ctrl+6".action.move-column-to-workspace = [ 6 ];
};
}
|