Files
2026-03-31 20:13:15 +08:00

267 lines
14 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// 整合版 binds.kdlShorin 核心配置 + DMS 特有功能与媒体控制
binds {
// 显示快捷键教程
Mod+Shift+Slash hotkey-overlay-title="快捷键教程 Keybind tutorial" { spawn "~/.config/niri/scripts/niri-binds"; }
// alt+tab切换窗口
Alt+Tab hotkey-overlay-title="跳转窗口 swich windows" {spawn "qs" "-c" "noctalia-shell" "ipc" "call" "launcher" "windows";}
// 特殊功能
Mod+F1 hotkey-overlay-title="开关输入法 Toggle fcitx" {spawn-sh "pkill fcitx5 || fcitx5 ";}
Mod+F2 hotkey-overlay-title="设置 Settings" { spawn-sh "qs -c noctalia-shell ipc call settings toggle";}
Mod+F3 hotkey-overlay-title="录屏 Screen record" { spawn "shorin" "screenrec";}
Mod+F5 hotkey-overlay-title="快速存档 Quick save" {spawn "quicksave";}
Mod+F8 hotkey-overlay-title="快速读档 Quick load" {spawn "quickload";}
// 临时开一个浮动终端
Mod+Slash hotkey-overlay-title="临时终端 Quick Terminal" {spawn "kitty" "--single-instance" "--class" "quickterminal";}
//打开浏览器
Mod+B hotkey-overlay-title="浏览器 Browser" { spawn "firefox"; }
Mod+T hotkey-overlay-title="终端 Terminal" { spawn "kitty" "--single-instance"; }
// 文档管理器。如果有thunar的话会优先打开thunar没有的话会打开nautilus
Mod+E hotkey-overlay-title="文档管理器 Filemanager" { spawn-sh "thunar || env GSK_RENDERER=gl GTK_IM_MODULE=fcitx nautilus"; }
// 另一个打开nautilus的快捷键主要是为了在同时安装thunar和nautilus的情况下打开naultilus
Mod+Alt+E hotkey-overlay-title=null {spawn "env" "GSK_RENDERER=gl" "GTK_IM_MODULE=fcitx" "nautilus" "--new-window";}
Mod+Z hotkey-overlay-title="程序菜单 Applauncher" { spawn-sh "qs -c noctalia-shell ipc call launcher toggle || fuzzel"; }
// 壁纸选择
Mod+Alt+W hotkey-overlay-title="壁纸切换 Wallpaper" { spawn-sh "qs -c noctalia-shell ipc call wallpaper toggle";}
// 随机切换壁纸
Mod+F10 hotkey-overlay-title="随机切换壁纸 Random wallpaper" { spawn-sh "qs -c noctalia-shell ipc call wallpaper random all";}
// 随机下载壁纸
Mod+Shift+F10 hotkey-overlay-title="随机下载壁纸 Random Download wallpaper" { spawn "~/.local/bin/random-anime-wallpaper-noctalia";}
Mod+O hotkey-overlay-title="切换总览界面 toggle overview" repeat=false { toggle-overview; }
Mod+G repeat=false { toggle-overview; }
// 关闭聚焦窗口
Mod+Q hotkey-overlay-title="关闭聚焦窗口 Close focus window" repeat=false { close-window; }
Alt+F4 hotkey-overlay-title=null repeat=false { close-window; }
// niri-sidebar扩展相关
// 警告:这是实验性功能
// 切换 移动聚焦窗口至侧边栏 建议配合切换浮动聚焦的快捷键使用我设置的是super+n
Mod+Alt+S hotkey-overlay-title="收起窗口 Move to Sidebar" { spawn "niri-sidebar" "toggle-window"; }
Mod+M hotkey-overlay-title="收起窗口 Move to Sidebar" { spawn "niri-sidebar" "toggle-window"; }
// 切换 收起/展开侧边栏
Mod+Alt+Z hotkey-overlay-title="展开/收起侧边栏 Toggle Sidebar" { spawn "niri-sidebar" "toggle-visibility";}
// 反向排序侧边栏
Mod+Alt+X hotkey-overlay-title=null { spawn "niri-sidebar" "flip";}
// 重新排列侧边栏中的窗口(侧边栏中的窗口本质是一个浮动窗口,你有时候可能会把它移动到别的地方
// 例如 ctrl+c居中。此时按下此键可以重新排列
Mod+Alt+R hotkey-overlay-title="重置侧边栏 Reorder Sidebar" { spawn "niri-sidebar" "reorder"; }
// mod+鼠标中键 关闭窗口
Mod+MouseMiddle { close-window; }
// 切换聚焦
// super+方向键
Mod+Left hotkey-overlay-title=null { focus-column-left; }
Mod+Down { focus-window-down; }
Mod+Up { focus-window-up; }
Mod+Right { focus-column-right; }
// super+vim key
Mod+H { focus-column-left; }
Mod+J { focus-window-down; }
Mod+K { focus-window-up; }
Mod+L { focus-column-right; }
// 移动colume
// super+ctrl+方向键
Mod+Ctrl+Left hotkey-overlay-title=null { move-column-left; }
Mod+Ctrl+Right hotkey-overlay-title=null { move-column-right; }
// super+ctrl+vimkey
Mod+Ctrl+H { move-column-left; }
Mod+Ctrl+J { move-window-down; }
Mod+Ctrl+K { move-window-up; }
Mod+Ctrl+L { move-column-right; }
// super+ctrl+a/d 向左/右移动列
Mod+Ctrl+A { move-column-left; }
Mod+Ctrl+D { move-column-right; }
// mod+S/W 上下切换窗口
Mod+S { move-window-down; }
Mod+W { move-window-up; }
// 切换到第一个colume
Mod+Home { focus-column-first; }
// 切换到最后一个colume
Mod+End { focus-column-last; }
// 移动colume到第一个
Mod+Ctrl+Home { move-column-to-first; }
// 移动colume到最后一个
Mod+Ctrl+End { move-column-to-last; }
// 切换显示器聚焦
// mod+shift+方向键
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+vimkey
Mod+Shift+H { focus-monitor-left; }
Mod+Shift+J { focus-monitor-down; }
Mod+Shift+K { focus-monitor-up; }
Mod+Shift+L { focus-monitor-right; }
// 跨显示器移动colume
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+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; }
Mod+Shift+Ctrl+A { move-column-to-monitor-left; }
Mod+Shift+Ctrl+S { move-column-to-monitor-down; }
Mod+Shift+Ctrl+W { move-column-to-monitor-up; }
Mod+Shift+Ctrl+D { move-column-to-monitor-right; }
// 移动整个工作区
// mod+shift跨显示器alt代表移动整个工作区再加上三组方向键
Mod+Shift+Alt+W { move-workspace-to-monitor-up; }
Mod+Shift+Alt+S { move-workspace-to-monitor-down; }
Mod+Shift+Alt+D { move-workspace-to-monitor-right; }
Mod+Shift+Alt+A { move-workspace-to-monitor-left; }
Mod+Shift+Alt+K { move-workspace-to-monitor-up; }
Mod+Shift+Alt+J { move-workspace-to-monitor-down; }
Mod+Shift+Alt+L { move-workspace-to-monitor-right; }
Mod+Shift+Alt+H { move-workspace-to-monitor-left; }
Mod+Shift+Alt+Up { move-workspace-to-monitor-up; }
Mod+Shift+Alt+Down { move-workspace-to-monitor-down; }
Mod+Shift+Alt+Right { move-workspace-to-monitor-right; }
Mod+Shift+Alt+Left { move-workspace-to-monitor-left; }
// mod+shitf+滚轮上下切换工作区
Mod+Shift+WheelScrollDown hotkey-overlay-title="切换工作区 Change workspaces" cooldown-ms=150 { focus-workspace-down; }
Mod+Shift+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
//再加上ctrl移动窗口
Mod+Ctrl+Shift+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
Mod+Ctrl+Shift+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
// mod+滚轮上下 左右切换聚焦
Mod+WheelScrollDown hotkey-overlay-title="滚轮切换聚焦 Change focus with wheel" { focus-column-right; }
Mod+WheelScrollUp { focus-column-left; }
// 再加上ctrl移动colume
Mod+Ctrl+WheelScrollDown { move-column-right; }
Mod+Ctrl+WheelScrollUp { move-column-left; }
// mod+左右方括号 移动窗口不是移动colume是允许移动到另一个colume的窗口移动
Mod+BracketLeft { consume-or-expel-window-left; }
Mod+BracketRight { consume-or-expel-window-right; }
// mod+A/D 同效果
Mod+A hotkey-overlay-title="向左移动窗口 Move window to left between columes" { consume-or-expel-window-left; }
Mod+D hotkey-overlay-title="向右移动窗口 Move window to right between columes" { consume-or-expel-window-right; }
// mod+逗号/句号 把窗口合并或者踢出当前的colume
Mod+Comma { consume-window-into-column; }
Mod+Period { expel-window-from-column; }
// mod+shift+A/D 同效果
Mod+Shift+A { consume-window-into-column; }
Mod+Shift+D { expel-window-from-column; }
// 开启colume的标签页模式
Mod+Shift+X { toggle-column-tabbed-display; }
//Mod+X { toggle-column-tabbed-display; }
// mod+鼠标侧键 上下切换聚焦
Mod+MouseForward { focus-window-up; }
Mod+MouseBack { focus-window-down; }
// 按照预设切换窗口宽度
Mod+R hotkey-overlay-title="按预设切换宽度 Switch width " { switch-preset-column-width; }
// 按照预设切换窗口高度
Mod+Shift+R { switch-preset-window-height; }
// 重置窗口高度
Mod+Ctrl+R { reset-window-height; }
Mod+F hotkey-overlay-title="最大化 maximize" { maximize-column; }
Mod+Alt+F hotkey-overlay-title="全屏 fullscreen" { fullscreen-window; }
// 增加窗口宽度占满空闲空间
Mod+Ctrl+F { expand-column-to-available-width; }
// 居中当前聚焦的colume
Mod+C { center-column; }
Mod+Ctrl+C { center-visible-columns; }
// mod+加减号调整窗口宽度
Mod+Minus { set-column-width "-5%"; }
Mod+Equal { set-column-width "+5%"; }
// mod+shift+加减号调整窗口高度
Mod+Shift+Minus { set-window-height "-5%"; }
Mod+Shift+Equal { set-window-height "+5%"; }
// 切换浮动模式
Mod+V hotkey-overlay-title="切换浮动 Toggle floating" { toggle-window-floating; }
// 在浮动模式和非浮动模式之间切换聚焦
Mod+Shift+V hotkey-overlay-title=null { switch-focus-between-floating-and-tiling; }
Mod+N hotkey-overlay-title="切换浮动聚焦 Change focus to floating" { switch-focus-between-floating-and-tiling; }
Alt+grave hotkey-overlay-title=null { switch-focus-between-floating-and-tiling; }
Mod+Alt+N hotkey-overlay-title=null { switch-focus-between-floating-and-tiling; }
// 截图相关
Mod+Alt+A hotkey-overlay-title="选取区域截图 Select screenshot" {spawn-sh "niri msg action screenshot --show-pointer false && pkill -f -USR1 screenshot-sound.sh";}
Mod+Alt+Ctrl+A hotkey-overlay-title="截取聚焦窗口 Focus-window screenshot" { spawn-sh "niri msg action screenshot-window && pkill -f -USR1 screenshot-sound.sh"; }
Mod+Alt+Ctrl+Shift+A hotkey-overlay-title="截取显示器 Monitor screenshot" { spawn-sh "niri msg action screenshot-screen --show-pointer false && pkill -f -USR1 screenshot-sound.sh"; }
Print hotkey-overlay-title=null {spawn-sh "niri msg action screenshot --show-pointer false && pkill -f -USR1 screenshot-sound.sh";}
Ctrl+Print hotkey-overlay-title=null { spawn-sh "niri msg action screenshot-window --show-pointer false && pkill -f -USR1 screenshot-sound.sh"; }
Shift+Print hotkey-overlay-title=null { spawn-sh "niri msg action screenshot-screen --show-pointer false && pkill -f -USR1 screenshot-sound.sh"; }
Mod+Shift+S hotkey-overlay-title="截图后按下此键进行编辑 Edit the image after screenshot" { spawn-sh "wl-paste | satty -f -";}
Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; }
Mod+Shift+E hotkey-overlay-title="退出niri Quit niri" { quit; }
// 电源菜单
Mod+P hotkey-overlay-title="电源菜单 powermenu" {spawn "qs" "-c" "noctalia-shell" "ipc" "call" "sessionMenu" "toggle";}
// 剪贴板
Mod+Alt+V hotkey-overlay-title="剪贴板 Clipboard" {spawn-sh "qs -c noctalia-shell ipc call launcher clipboard";}
// 锁屏
Mod+Alt+L hotkey-overlay-title="锁屏 Lock Screen" {spawn "qs" "-c" "noctalia-shell" "ipc" "call" "lockScreen" "lock"; }
// 锁屏、关闭显示器、休眠
Mod+Alt+P hotkey-overlay-title="挂起 Suspend" { spawn-sh "niri msg action power-off-monitors && qs -c noctalia-shell ipc call lockScreen lock && systemctl suspend";}
// === 媒体控制 ===
XF86AudioRaiseVolume { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "increase"; }
XF86AudioLowerVolume { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "decrease"; }
XF86AudioMute { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "volume" "muteOutput"; }
XF86MonBrightnessUp { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "brightness" "increase"; }
XF86MonBrightnessDown { spawn "qs" "-c" "noctalia-shell" "ipc" "call" "brightness" "decrease"; }
// === 工作区导航补充 (无冲突项) ===
Mod+Page_Down { focus-workspace-down; }
Mod+Page_Up { focus-workspace-up; }
Mod+U { focus-workspace-down; }
Mod+I { focus-workspace-up; }
Mod+Ctrl+U { move-column-to-workspace-down; }
Mod+Ctrl+I { move-column-to-workspace-up; }
Mod+Shift+Page_Down { move-workspace-down; }
Mod+Shift+Page_Up { move-workspace-up; }
Mod+Shift+U { move-workspace-down; }
Mod+Shift+I { move-workspace-up; }
// === 数字工作区 (1-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+1 { move-column-to-workspace 1; }
Mod+Ctrl+2 { move-column-to-workspace 2; }
Mod+Ctrl+3 { move-column-to-workspace 3; }
Mod+Ctrl+4 { move-column-to-workspace 4; }
Mod+Ctrl+5 { move-column-to-workspace 5; }
Mod+Ctrl+6 { move-column-to-workspace 6; }
Mod+Ctrl+7 { move-column-to-workspace 7; }
Mod+Ctrl+8 { move-column-to-workspace 8; }
Mod+Ctrl+9 { move-column-to-workspace 9; }
}