diff --git a/modules/home/desktop/niri/default.nix b/modules/home/desktop/niri/default.nix index cac4d3c..cbc7f71 100644 --- a/modules/home/desktop/niri/default.nix +++ b/modules/home/desktop/niri/default.nix @@ -282,10 +282,78 @@ in { niri = { target = "niri/config.kdl"; text = let - left = "n"; - down = "e"; - up = "i"; - right = "o"; + arrows = { + left = "Left"; + down = "Down"; + up = "Up"; + right = "Right"; + }; + homerow-arrows = { + left = "n"; + down = "e"; + up = "i"; + right = "o"; + }; + letters = { + first = "Q"; + second = "W"; + third = "F"; + fourth = "P"; + fifth = "B"; + sixth = "J"; + seventh = "L"; + eighth = "U"; + ninth = "Y"; + }; + numbers = { + first = "1"; + second = "2"; + third = "3"; + fourth = "4"; + fifth = "5"; + sixth = "6"; + seventh = "7"; + eighth = "8"; + ninth = "9"; + }; + genArrowNavigation = keys: '' + Mod+${keys.left} { focus-column-left; } + Mod+${keys.down} { focus-window-or-workspace-down; } + Mod+${keys.up} { focus-window-or-workspace-up; } + Mod+${keys.right} { focus-column-right; } + Mod+Ctrl+${keys.left} { move-column-left; } + Mod+Ctrl+${keys.down} { move-window-down-or-to-workspace-down; } + Mod+Ctrl+${keys.up} { move-window-up-or-to-workspace-up; } + Mod+Ctrl+${keys.right} { move-column-right; } + Mod+Shift+${keys.left} { focus-monitor-left; } + Mod+Shift+${keys.down} { focus-monitor-down; } + Mod+Shift+${keys.up} { focus-monitor-up; } + Mod+Shift+${keys.right} { focus-monitor-right; } + Mod+Shift+Ctrl+${keys.left} { move-column-to-monitor-left; } + Mod+Shift+Ctrl+${keys.down} { move-column-to-monitor-down; } + Mod+Shift+Ctrl+${keys.up} { move-column-to-monitor-up; } + Mod+Shift+Ctrl+${keys.right} { move-column-to-monitor-right; } + ''; + genWorkspacesNavigation = keys: '' + Mod+${keys.first} { focus-workspace 1; } + Mod+${keys.second} { focus-workspace 2; } + Mod+${keys.third} { focus-workspace 3; } + Mod+${keys.fourth} { focus-workspace 4; } + Mod+${keys.fifth} { focus-workspace 5; } + Mod+${keys.sixth} { focus-workspace 6; } + Mod+${keys.seventh} { focus-workspace 7; } + Mod+${keys.eighth} { focus-workspace 8; } + Mod+${keys.ninth} { focus-workspace 9; } + Mod+Ctrl+Shift+${keys.first} { move-column-to-workspace 1; } + Mod+Ctrl+Shift+${keys.second} { move-column-to-workspace 2; } + Mod+Ctrl+Shift+${keys.third} { move-column-to-workspace 3; } + Mod+Ctrl+Shift+${keys.fourth} { move-column-to-workspace 4; } + Mod+Ctrl+Shift+${keys.fifth} { move-column-to-workspace 5; } + Mod+Ctrl+Shift+${keys.sixth} { move-column-to-workspace 6; } + Mod+Ctrl+Shift+${keys.seventh} { move-column-to-workspace 7; } + Mod+Ctrl+Shift+${keys.eighth} { move-column-to-workspace 8; } + Mod+Ctrl+Shift+${keys.ninth} { move-column-to-workspace 9; } + ''; in '' environment { DISPLAY ":123" @@ -429,8 +497,6 @@ in { } window-rule { - match title="TelegramDesktop" - match app-id="org.telegram.desktop" match title="Картинка в картинці" match title="Picture-in-Picture" open-floating true @@ -460,36 +526,6 @@ in { // block-out-from "screen-capture" block-out-from "screencast" } - // workspace "general" - // workspace "browse" - // workspace "chat" - // workspace "code" - // workspace "uni" - // workspace "games" - // workspace "sysadmin" - // workspace "media" - // workspace "bg" - - // window-rule { - // match app-id=r#"^org\.telegram\.desktop$"# - // match app-id=r#"^im\.riot\.Riot$"# - // match app-id=r#"^WebCord$"# - // match app-id=r#"^signal$"# - // open-on-workspace "chat" - // } - - // window-rule { - // match app-id=r#"^com\.heroicgameslauncher\.hgl$"# - // match app-id=r#"^net\.lutris\.Lutris$"# - // match app-id="steam" - // // match app-id=r#"^$"# - // open-on-workspace "games" - // } - - // window-rule { - // match app-id=r#"^com\.obsproject\.Studio$"# - // open-on-workspace "bg" - // } binds { Mod+Shift+Slash { show-hotkey-overlay; } @@ -532,7 +568,7 @@ in { Ctrl+Print { screenshot-screen; } Shift+Print { screenshot-window; } - Caps_Lock { spawn "swayosd-client" "--caps-lock"; } + // Caps_Lock { spawn "swayosd-client" "--caps-lock"; } // XF86AudioRaiseVolume allow-when-locked=true { spawn "wpctl" "set-volume" "-l" "1.0" "@DEFAULT_AUDIO_SINK@" "5%+"; } // XF86AudioLowerVolume allow-when-locked=true { spawn "wpctl" "set-volume" "-l" "1.0" "@DEFAULT_AUDIO_SINK@" "5%-"; } // XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } @@ -553,47 +589,12 @@ in { XF86KbdBrightnessUp allow-when-locked=true { spawn "brightnessctl" "s" "5%+" "-d" "${keyboard}::kbd_backlight"; } XF86KbdBrightnessDown allow-when-locked=true { spawn "brightnessctl" "s" "5%-" "-d" "${keyboard}::kbd_backlight"; } - Mod+Left { focus-column-left; } - Mod+Down { focus-window-or-workspace-down; } - Mod+Up { focus-window-or-workspace-up; } - Mod+Right { focus-column-right; } - Mod+${left} { focus-column-left; } - Mod+${down} { focus-window-or-workspace-down; } - Mod+${up} { focus-window-or-workspace-up; } - Mod+${right} { focus-column-right; } - - Mod+Ctrl+Left { move-column-left; } - Mod+Ctrl+Down { move-window-down-or-to-workspace-down; } - Mod+Ctrl+Up { move-window-up-or-to-workspace-up; } - Mod+Ctrl+Right { move-column-right; } - Mod+Ctrl+${left} { move-column-left; } - Mod+Ctrl+${down} { move-window-down-or-to-workspace-down; } - Mod+Ctrl+${up} { move-window-up-or-to-workspace-up; } - Mod+Ctrl+${right} { move-column-right; } Mod+Home { focus-column-first; } Mod+End { focus-column-last; } Mod+Ctrl+Home { move-column-to-first; } Mod+Ctrl+End { move-column-to-last; } - Mod+Shift+Left { focus-monitor-left; } - Mod+Shift+Down { focus-monitor-down; } - Mod+Shift+Up { focus-monitor-up; } - Mod+Shift+Right { focus-monitor-right; } - Mod+Shift+${left} { focus-monitor-left; } - Mod+Shift+${down} { focus-monitor-down; } - Mod+Shift+${up} { focus-monitor-up; } - Mod+Shift+${right} { focus-monitor-right; } - - Mod+Shift+Ctrl+Left { move-column-to-monitor-left; } - Mod+Shift+Ctrl+Down { move-column-to-monitor-down; } - Mod+Shift+Ctrl+Up { move-column-to-monitor-up; } - Mod+Shift+Ctrl+Right { move-column-to-monitor-right; } - Mod+Shift+Ctrl+${left} { move-column-to-monitor-left; } - Mod+Shift+Ctrl+${down} { move-column-to-monitor-down; } - Mod+Shift+Ctrl+${up} { move-column-to-monitor-up; } - Mod+Shift+Ctrl+${right} { move-column-to-monitor-right; } - Mod+Next { focus-workspace-down; } Mod+Prior { focus-workspace-up; } Mod+Ctrl+Next { move-column-to-workspace-down; } @@ -618,62 +619,10 @@ in { Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } - // Mod+1 { focus-workspace "general"; } - // Mod+2 { focus-workspace "browse"; } - // Mod+3 { focus-workspace "chat"; } - // Mod+4 { focus-workspace "code"; } - // Mod+5 { focus-workspace "uni"; } - // Mod+6 { focus-workspace "games"; } - // Mod+7 { focus-workspace "sysadmin"; } - // Mod+8 { focus-workspace "media"; } - // Mod+9 { focus-workspace "bg"; } - // Mod+Ctrl+1 { move-column-to-workspace "general"; } - // Mod+Ctrl+2 { move-column-to-workspace "browse"; } - // Mod+Ctrl+3 { move-column-to-workspace "chat"; } - // Mod+Ctrl+4 { move-column-to-workspace "code"; } - // Mod+Ctrl+5 { move-column-to-workspace "uni"; } - // Mod+Ctrl+6 { move-column-to-workspace "games"; } - // Mod+Ctrl+7 { move-column-to-workspace "sysadmin"; } - // Mod+Ctrl+8 { move-column-to-workspace "media"; } - // Mod+Ctrl+9 { move-column-to-workspace "bg"; } - - Mod+Q { focus-workspace 1; } - Mod+W { focus-workspace 2; } - Mod+F { focus-workspace 3; } - Mod+P { focus-workspace 4; } - Mod+B { focus-workspace 5; } - Mod+J { focus-workspace 6; } - Mod+L { focus-workspace 7; } - Mod+U { focus-workspace 8; } - Mod+Y { focus-workspace 9; } - Mod+Ctrl+Shift+Q { move-column-to-workspace 1; } - Mod+Ctrl+Shift+W { move-column-to-workspace 2; } - Mod+Ctrl+Shift+F { move-column-to-workspace 3; } - Mod+Ctrl+Shift+P { move-column-to-workspace 4; } - Mod+Ctrl+Shift+B { move-column-to-workspace 5; } - Mod+Ctrl+Shift+J { move-column-to-workspace 6; } - Mod+Ctrl+Shift+L { move-column-to-workspace 7; } - Mod+Ctrl+Shift+U { move-column-to-workspace 8; } - Mod+Ctrl+Shift+Y { move-column-to-workspace 9; } - - 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+Ctrl+Shift+1 { move-column-to-workspace 1; } - Mod+Ctrl+Shift+2 { move-column-to-workspace 2; } - Mod+Ctrl+Shift+3 { move-column-to-workspace 3; } - Mod+Ctrl+Shift+4 { move-column-to-workspace 4; } - Mod+Ctrl+Shift+5 { move-column-to-workspace 5; } - Mod+Ctrl+Shift+6 { move-column-to-workspace 6; } - Mod+Ctrl+Shift+7 { move-column-to-workspace 7; } - Mod+Ctrl+Shift+8 { move-column-to-workspace 8; } - Mod+Ctrl+Shift+9 { move-column-to-workspace 9; } + ${genArrowNavigation arrows} + ${genArrowNavigation homerow-arrows} + ${genWorkspacesNavigation letters} + ${genWorkspacesNavigation numbers} } ''; };