index — dots-the-third @ 9175b5069e44e91a7577080ca4092d25424d694b

I don't need nix, I have a way worse solution!

niri/.config/niri/keybinds.kdl (view raw)

 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
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
binds {
    //==================== BASIC OPERATIONS ====================//
    Mod+C { close-window; }
    Mod+Ctrl+Shift+F { toggle-windowed-fullscreen; }
    Mod+Escape { toggle-keyboard-shortcuts-inhibit; }

    //==================== FOCUS ====================//
    Alt+A  { focus-column-left; }
    Alt+S  { focus-window-down; }
    Alt+W    { focus-window-up; }
    Alt+D   { focus-column-right; }

    Mod+Home { focus-column-first; }
    Mod+End  { focus-column-last; }

    Mod+A { focus-monitor-left; }
    Mod+S { focus-monitor-down; }
    Mod+W { focus-monitor-up; }
    Mod+D { focus-monitor-right; }

    Mod+U              { focus-workspace-down; }
    Mod+I              { focus-workspace-up; }
    Alt+Ctrl+S              { focus-workspace-down; }
    Alt+Ctrl+W              { focus-workspace-up; }

    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; }

    //==================== MOVE ====================//

    Alt+Shift+A  { move-column-left; }
    Alt+Shift+S  { move-window-down; }
    Alt+Shift+W    { move-window-up; }
    Alt+Shift+D { move-column-right; }

    Mod+Shift+Home { move-column-to-first; }
    Mod+Shift+End  { move-column-to-last; }

    Mod+Shift+A     { move-column-to-monitor-left; }
    Mod+Shift+S     { move-column-to-monitor-down; }
    Mod+Shift+W     { move-column-to-monitor-up; }
    Mod+Shift+D     { move-column-to-monitor-right; }

    Mod+Shift+U         { move-workspace-down; }
    Mod+Shift+I         { move-workspace-up; }
    Mod+Ctrl+U         { move-column-to-workspace-down; }
    Mod+Ctrl+I         { move-column-to-workspace-up; }

    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; }

    //==================== COLUMN OPERATIONS ====================//
    Mod+BracketLeft  { consume-or-expel-window-left; }
    Mod+BracketRight { consume-or-expel-window-right; }

    Mod+Comma  { consume-window-into-column; }
    Mod+Period { expel-window-from-column; }

    Mod+R { switch-preset-column-width; }
    Mod+Shift+R { switch-preset-window-height; }
    Mod+Ctrl+R { reset-window-height; }
    Alt+Shift+Return { maximize-column; }
    Alt+Return { fullscreen-window; }
    Mod+Shift+C { center-column; }

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

    Mod+Shift+Minus { set-window-height "-10%"; }
    Mod+Shift+Equal { set-window-height "+10%"; }

    Mod+V       { toggle-window-floating; }
    Mod+Shift+V { switch-focus-between-floating-and-tiling; }

    Mod+T { toggle-column-tabbed-display; }

    //==================== SCREENSHOTS AND CASTING ====================//
    Print { screenshot-window write-to-disk=false; }
    Ctrl+Print { screenshot-screen write-to-disk=false; }
    Mod+Print { spawn-sh "~/.config/scripts/screenshot.sh --screen"; }
    Shift+Print { spawn-sh "~/.config/scripts/screenshot.sh --edit"; }
    Alt+Print { screenshot show-pointer=false; }
    Alt+Shift+Print { spawn-sh "~/.config/scripts/screenshot.sh --freezeedit"; }
    F6 { spawn-sh "~/.config/scripts/screenshot.sh --area"; }

    Mod+Shift+X { set-dynamic-cast-window; }
    Mod+Ctrl+X { set-dynamic-cast-monitor; }
    Mod+Alt+X { clear-dynamic-cast-target; }

    //==================== APPS ====================//
    Mod+E { spawn "thunar"; }
    Mod+F { spawn "firefox"; }
    Mod+Q { spawn "foot"; }

    Mod+Space { spawn-sh "fuzzel"; }

    Mod+N { spawn-sh "curd -rofi"; }
    Mod+Shift+N { spawn-sh "curd -dub -rofi"; }

    Mod+grave { toggle-overview; }
    Mod+Shift+Slash { show-hotkey-overlay; }

    //==================== VOLUME AND PLAYBACK ====================//
    XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+"; }
    XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-"; }
    XF86AudioMute        allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; }
    XF86AudioMicMute     allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; }

    XF86Tools   allow-when-locked=true { spawn-sh "playerctl -p 'strawberry, kew, Feishin, Supersonic, org.gnome.Podcasts' play-pause"; }
    Pause   allow-when-locked=true { spawn-sh "playerctl -p 'strawberry, kew, Feishin, Supersonic, org.gnome.Podcasts' play-pause"; }

    //==================== OTHER SCRIPTS ====================//
    Mod+Ctrl+W { spawn-sh "~/.config/scripts/selectwallpaper.sh"; }
    XF86MonBrightnessUp allow-when-locked=true { spawn-sh "~/.config/scripts/brightnesscontrol.sh i"; }
    XF86MonBrightnessDown allow-when-locked=true { spawn-sh "~/.config/scripts/brightnesscontrol.sh d"; }

    //==================== POWERUTILS ====================//
    Mod+Shift+E { quit; }
    Mod+Shift+P { power-off-monitors; }
    Mod+L allow-when-locked=true { spawn "swaylock"; }
}