summaryrefslogtreecommitdiff
path: root/niri/cfg/keybinds.kdl
blob: 59aff4c116a7827fa04b3c474e5c67f32d4640c3 (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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
binds {
    Mod+Shift+Slash { show-hotkey-overlay; }

    Mod+Return hotkey-overlay-title="Open a Terminal: kitty" { spawn "kitty"; }
    Mod+E hotkey-overlay-title="File manager: thunar" { spawn "thunar"; }
    Mod+B hotkey-overlay-title="Browser: default browser" { spawn "~/.local/bin/browser"; }

    ALT+Space hotkey-overlay-title="Run an Application: rofi launcher" { spawn-sh "rofi -show drun"; }
    ALT+Ctrl+Space hotkey-overlay-title="Run an Application: rofi menu launcher" { spawn-sh "~/.local/bin/rofi-menu"; }
    Mod+Ctrl+R hotkey-overlay-title="Reload waybar" { spawn-sh "~/.local/bin/restart-app waybar"; }
    Mod+P hotkey-overlay-title="Power menu" { spawn-sh "~/.local/bin/rofi-powermenu"; }
    Mod+N { spawn-sh "~/.local/bin/nightlight-toggle niri"; }
    Mod+Period { spawn "rofimoji"; }
    Mod+V { spawn-sh "cliphist list | rofi -dmenu | cliphist decode | wl-copy"; }
    Mod+M { spawn "tauon"; }
	Mod+Alt+L { spawn "swaylock" "-f"; }
 
    XF86AudioRaiseVolume allow-when-locked=true { spawn-sh "~/.local/bin/volume-control up"; }
    XF86AudioLowerVolume allow-when-locked=true { spawn-sh "~/.local/bin/volume-control down"; }
    XF86AudioMute        allow-when-locked=true { spawn-sh "~/.local/bin/volume-control mute"; }
    Mod+XF86AudioMute        allow-when-locked=true { spawn-sh "~/.local/bin/switch-audio"; }

    XF86MonBrightnessUp allow-when-locked=true { spawn-sh "~/.local/bin/brightness-control up"; }
    XF86MonBrightnessDown allow-when-locked=true { spawn-sh "~/.local/bin/brightness-control down"; }

    Mod+O repeat=false { toggle-overview; }

    Mod+Q repeat=false { close-window; }

    Mod+H     { focus-column-left; }
    Mod+J     { focus-window-or-workspace-down; }
    Mod+K     { focus-window-or-workspace-up; }
    Mod+L     { focus-column-right; }

    Mod+Ctrl+H     { move-column-left-or-to-monitor-left; }
    Mod+Ctrl+J     { move-column-to-workspace-down; }
    Mod+Ctrl+K     { move-column-to-workspace-up; }
    Mod+Ctrl+L     { move-column-right-or-to-monitor-right; }

	// External monitor controls
    Mod+Shift+H     { focus-monitor-left; }
    Mod+Shift+J     { focus-monitor-down; }
    Mod+Shift+K     { focus-monitor-up; }
    Mod+Shift+L     { focus-monitor-right; }

    Mod+Shift+Ctrl+H     { move-column-to-monitor-left; }
    Mod+Shift+Ctrl+J     { move-column-to-monitor-down; }
    Mod+Shift+Ctrl+K     { move-column-to-monitor-up; }
    Mod+Shift+Ctrl+L     { move-column-to-monitor-right; }


	// Mouse scrolling workspace control
    Mod+WheelScrollDown      cooldown-ms=150 { focus-workspace-down; }
    Mod+WheelScrollUp        cooldown-ms=150 { focus-workspace-up; }
    Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
    Mod+Ctrl+WheelScrollUp   cooldown-ms=150 { move-column-to-workspace-up; }

    Mod+WheelScrollRight      { focus-column-right; }
    Mod+WheelScrollLeft       { focus-column-left; }
    Mod+Ctrl+WheelScrollRight { move-column-right; }
    Mod+Ctrl+WheelScrollLeft  { move-column-left; }

    // Usually scrolling up and down with Shift in applications results in
    // horizontal scrolling; these binds replicate that.
    Mod+Shift+WheelScrollDown      { focus-column-right; }
    Mod+Shift+WheelScrollUp        { focus-column-left; }
    Mod+Ctrl+Shift+WheelScrollDown { move-column-right; }
    Mod+Ctrl+Shift+WheelScrollUp   { move-column-left; }

	// Workspace management
    Mod+1 { focus-workspace 1; }
    Mod+2 { focus-workspace 2; }
    Mod+3 { focus-workspace 3; }
    Mod+4 { focus-workspace 4; }
    Mod+5 { focus-workspace 5; }
    Mod+6 { focus-workspace 6; }
    Mod+7 { focus-workspace 7; }
    Mod+8 { focus-workspace 8; }
    Mod+9 { focus-workspace 9; }
    Mod+Shift+1 { move-column-to-workspace 1; }
    Mod+Shift+2 { move-column-to-workspace 2; }
    Mod+Shift+3 { move-column-to-workspace 3; }
    Mod+Shift+4 { move-column-to-workspace 4; }
    Mod+Shift+5 { move-column-to-workspace 5; }
    Mod+Shift+6 { move-column-to-workspace 6; }
    Mod+Shift+7 { move-column-to-workspace 7; }
    Mod+Shift+8 { move-column-to-workspace 8; }
    Mod+Shift+9 { move-column-to-workspace 9; }

    // window position control
    Mod+BracketLeft  { consume-or-expel-window-left; }
    Mod+BracketRight { consume-or-expel-window-right; }

    Mod+F { maximize-column; }
    Mod+Shift+F { fullscreen-window; }

    Mod+Minus { set-column-width "-5%"; }
    Mod+Equal { set-column-width "+5%"; }

    // Move the focused window between the floating and the tiling layout.
    Mod+X       { toggle-window-floating; }
    Mod+Shift+X { switch-focus-between-floating-and-tiling; }

    Print { screenshot; }
    Ctrl+Print { screenshot-screen; }
    Alt+Print { screenshot-window; }

    Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }

    // The quit action will show a confirmation dialog to avoid accidental exits.
    Mod+Shift+E { quit; }
    Ctrl+Alt+Delete { quit; }

    // Powers off the monitors. To turn them back on, do any input like
    // moving the mouse or pressing any other key.
    Mod+Shift+P { power-off-monitors; }
}