modularize niri config
This commit is contained in:
parent
272aadbda3
commit
efbbe37a30
6 changed files with 436 additions and 502 deletions
291
configs/niri/base/keys.kdl
Normal file
291
configs/niri/base/keys.kdl
Normal file
|
|
@ -0,0 +1,291 @@
|
|||
binds {
|
||||
Mod+Shift+Slash {
|
||||
show-hotkey-overlay
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Launchers │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
Mod+Return hotkey-overlay-title="Open Terminal" {
|
||||
spawn "kitty"
|
||||
}
|
||||
Mod+Shift+Return hotkey-overlay-title="Open Quick Terminal" {
|
||||
spawn "kitten" "quick_access_terminal"
|
||||
}
|
||||
Mod+D hotkey-overlay-title="Launcher" {
|
||||
spawn "qs" "ipc" "-c" "noctalia-shell" "call" "launcher" "toggle"
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Layout │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
Mod+R {
|
||||
switch-preset-column-width
|
||||
}
|
||||
Mod+Shift+R {
|
||||
expand-column-to-available-width
|
||||
}
|
||||
Mod+F {
|
||||
maximize-column
|
||||
}
|
||||
Mod+Shift+F {
|
||||
fullscreen-window
|
||||
}
|
||||
Mod+C {
|
||||
center-column
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Window Management │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
Mod+W repeat=false {
|
||||
toggle-overview
|
||||
}
|
||||
Mod+Shift+Q repeat=false {
|
||||
close-window
|
||||
}
|
||||
//
|
||||
// ── Change focus ────────────────────────────────────────────────────
|
||||
//
|
||||
Mod+Tab {
|
||||
focus-column-right-or-first
|
||||
}
|
||||
Mod+shift+Tab {
|
||||
focus-column-left-or-last
|
||||
}
|
||||
Mod+Left {
|
||||
focus-column-left
|
||||
}
|
||||
Mod+Down {
|
||||
focus-window-or-workspace-down
|
||||
}
|
||||
Mod+Up {
|
||||
focus-window-or-workspace-up
|
||||
}
|
||||
Mod+Right {
|
||||
focus-column-or-monitor-right
|
||||
}
|
||||
Mod+Ctrl+Left {
|
||||
consume-or-expel-window-left
|
||||
}
|
||||
Mod+Ctrl+Right {
|
||||
consume-or-expel-window-right
|
||||
}
|
||||
Mod+Alt+Left {
|
||||
consume-window-into-column
|
||||
}
|
||||
Mod+Alt+Right {
|
||||
expel-window-from-column
|
||||
}
|
||||
Mod+H {
|
||||
focus-column-or-monitor-left
|
||||
}
|
||||
Mod+J {
|
||||
focus-window-or-workspace-down
|
||||
}
|
||||
Mod+K {
|
||||
focus-window-or-workspace-up
|
||||
}
|
||||
Mod+L {
|
||||
focus-column-or-monitor-right
|
||||
}
|
||||
Mod+Ctrl+H {
|
||||
consume-or-expel-window-left
|
||||
}
|
||||
Mod+Ctrl+L {
|
||||
consume-or-expel-window-right
|
||||
}
|
||||
Mod+Alt+H {
|
||||
consume-window-into-column
|
||||
}
|
||||
Mod+Alt+L {
|
||||
expel-window-from-column
|
||||
}
|
||||
Mod+WheelScrollDown cooldown-ms=150 {
|
||||
focus-column-right
|
||||
}
|
||||
Mod+WheelScrollUp cooldown-ms=150 {
|
||||
focus-column-left
|
||||
}
|
||||
Mod+Space {
|
||||
switch-focus-between-floating-and-tiling
|
||||
}
|
||||
//
|
||||
// ── Move windows ────────────────────────────────────────────────────
|
||||
//
|
||||
Mod+Shift+Left {
|
||||
move-column-left
|
||||
}
|
||||
Mod+Shift+Down {
|
||||
move-window-down-or-to-workspace-down
|
||||
}
|
||||
Mod+Shift+Up {
|
||||
move-window-up-or-to-workspace-up
|
||||
}
|
||||
Mod+Shift+Right {
|
||||
move-column-right
|
||||
}
|
||||
Mod+Shift+H {
|
||||
move-column-left
|
||||
}
|
||||
Mod+Shift+J {
|
||||
move-window-down-or-to-workspace-down
|
||||
}
|
||||
Mod+Shift+K {
|
||||
move-window-up-or-to-workspace-up
|
||||
}
|
||||
Mod+Shift+L {
|
||||
move-column-right
|
||||
}
|
||||
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
|
||||
}
|
||||
Mod+Ctrl+Shift+WheelScrollDown {
|
||||
move-column-right
|
||||
}
|
||||
Mod+Ctrl+Shift+WheelScrollUp {
|
||||
move-column-left
|
||||
}
|
||||
Mod+Shift+Space {
|
||||
toggle-window-floating
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Workspaces │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
Mod+Bar {
|
||||
// Switches focus between the current and the previous workspace.
|
||||
focus-workspace-previous
|
||||
}
|
||||
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-window-to-workspace 1
|
||||
}
|
||||
Mod+Shift+2 {
|
||||
move-window-to-workspace 2
|
||||
}
|
||||
Mod+Shift+3 {
|
||||
move-window-to-workspace 3
|
||||
}
|
||||
Mod+Shift+4 {
|
||||
move-window-to-workspace 4
|
||||
}
|
||||
Mod+Shift+5 {
|
||||
move-window-to-workspace 5
|
||||
}
|
||||
Mod+Shift+6 {
|
||||
move-window-to-workspace 6
|
||||
}
|
||||
Mod+Shift+7 {
|
||||
move-window-to-workspace 7
|
||||
}
|
||||
Mod+Shift+8 {
|
||||
move-window-to-workspace 8
|
||||
}
|
||||
Mod+Shift+9 {
|
||||
move-window-to-workspace 9
|
||||
}
|
||||
Mod+Shift+WheelScrollDown cooldown-ms=150 {
|
||||
focus-workspace-down
|
||||
}
|
||||
Mod+Shift+WheelScrollUp cooldown-ms=150 {
|
||||
focus-workspace-up
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Volume │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
XF86AudioRaiseVolume allow-when-locked=true {
|
||||
spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.025+"
|
||||
}
|
||||
XF86AudioLowerVolume allow-when-locked=true {
|
||||
spawn-sh "wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.025-"
|
||||
}
|
||||
XF86AudioMute allow-when-locked=true {
|
||||
spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
|
||||
}
|
||||
XF86AudioMicMute allow-when-locked=true {
|
||||
spawn-sh "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"
|
||||
}
|
||||
//
|
||||
// ╭─────────────────────────────────────────────────────────╮
|
||||
// │ Brightness │
|
||||
// ╰─────────────────────────────────────────────────────────╯
|
||||
//
|
||||
XF86MonBrightnessUp allow-when-locked=true {
|
||||
spawn "brightnessctl" "--class=backlight" "set" "+10%"
|
||||
}
|
||||
XF86MonBrightnessDown allow-when-locked=true {
|
||||
spawn "brightnessctl" "--class=backlight" "set" "10%-"
|
||||
}
|
||||
Print {
|
||||
screenshot
|
||||
}
|
||||
Shift+Print {
|
||||
screenshot-window
|
||||
}
|
||||
Shift+Ctrl+Print hotkey-overlay-title="Edit image in Clipboard" {
|
||||
spawn-sh "wl-paste | swappy -f -"
|
||||
}
|
||||
// Applications such as remote-desktop clients and software KVM switches may
|
||||
// request that niri stops processing the keyboard shortcuts defined here
|
||||
// so they may, for example, forward the key presses as-is to a remote machine.
|
||||
// It's a good idea to bind an escape hatch to toggle the inhibitor,
|
||||
// so a buggy application can't hold your session hostage.
|
||||
//
|
||||
// The allow-inhibiting=false property can be applied to other binds as well,
|
||||
// which ensures niri always processes them, even when an inhibitor is active.
|
||||
Mod+Escape allow-inhibiting=false {
|
||||
toggle-keyboard-shortcuts-inhibit
|
||||
}
|
||||
Ctrl+Alt+Delete {
|
||||
quit
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue