mirror of
https://github.com/zoriya/flake.git
synced 2025-12-05 22:26:21 +00:00
223 lines
6.7 KiB
Plaintext
223 lines
6.7 KiB
Plaintext
input {
|
|
keyboard {
|
|
xkb {
|
|
options "caps:escape_shifted_capslock"
|
|
}
|
|
numlock
|
|
}
|
|
|
|
touchpad {
|
|
tap
|
|
dwt
|
|
drag true
|
|
drag-lock
|
|
natural-scroll
|
|
scroll-method "two-finger"
|
|
}
|
|
|
|
mouse {
|
|
accel-speed 0.5
|
|
}
|
|
|
|
disable-power-key-handling
|
|
warp-mouse-to-focus
|
|
focus-follows-mouse max-scroll-amount="0%"
|
|
workspace-auto-back-and-forth
|
|
}
|
|
|
|
gestures {
|
|
hot-corners {
|
|
off
|
|
}
|
|
}
|
|
|
|
prefer-no-csd
|
|
|
|
cursor {
|
|
hide-when-typing
|
|
hide-after-inactive-ms 1000
|
|
}
|
|
|
|
clipboard {
|
|
disable-primary
|
|
}
|
|
hotkey-overlay {
|
|
skip-at-startup
|
|
}
|
|
|
|
layout {
|
|
gaps 16
|
|
struts {
|
|
left -16
|
|
right -16
|
|
top -16
|
|
bottom -16
|
|
}
|
|
focus-ring {
|
|
width 2
|
|
}
|
|
}
|
|
|
|
binds {
|
|
XF86AudioPlay allow-when-locked=true { spawn "playerctl" "play-pause"; }
|
|
XF86AudioPause allow-when-locked=true { spawn "playerctl" "play-pause"; }
|
|
XF86AudioMedia allow-when-locked=true { spawn "playerctl" "play-pause"; }
|
|
XF86AudioPrev allow-when-locked=true { spawn "playerctl" "previous"; }
|
|
XF86AudioNext allow-when-locked=true { spawn "playerctl" "next"; }
|
|
XF86AudioRaiseVolume allow-when-locked=true { spawn "pamixer" "-i" "5"; }
|
|
XF86AudioLowerVolume allow-when-locked=true { spawn "pamixer" "-d" "5"; }
|
|
XF86AudioMute allow-when-locked=true { spawn "pamixer" "--toggle-mute"; }
|
|
XF86MonBrightnessUp allow-when-locked=true { spawn "brightnessctl" "s" "+5%"; }
|
|
XF86MonBrightnessDown allow-when-locked=true { spawn "brightnessctl" "s" "5%-"; }
|
|
|
|
Mod+R { spawn "zen"; }
|
|
Mod+E { spawn "kitty"; }
|
|
Mod+P { spawn "rofi" "-show" "drun" "-show-icons" "-run-command" "{cmd}"; }
|
|
Mod+S { spawn "screenshot"; }
|
|
Mod+Control+S { spawn "screenshot-freeze"; }
|
|
Mod+Shift+S { spawn "record"; }
|
|
Super+Shift+L { spawn "loginctl" "lock-session"; }
|
|
Mod+B repeat=false { spawn "sh" "-c" "hyprpicker | wl-copy"; }
|
|
Mod+X repeat=false { spawn "wtype" "-k" "XF86Cut"; }
|
|
Mod+C repeat=false { spawn "wtype" "-k" "XF86Copy" "-s" "200ms"; }
|
|
Mod+V repeat=false { spawn "wtype" "-k" "XF86Paste"; }
|
|
Mod+Shift+V repeat=false { spawn "sh" "-c" "cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy"; }
|
|
|
|
Mod+Space repeat=false { toggle-overview; }
|
|
Mod+Q repeat=false { close-window; }
|
|
|
|
Mod+J { focus-window-up-or-column-left; }
|
|
Mod+K { focus-window-down-or-column-right; }
|
|
// TODO: add move window down or column right (need to implement those)
|
|
Mod+Shift+J { move-column-left; }
|
|
Mod+Shift+K { move-column-right; }
|
|
|
|
Mod+Home { focus-column-first; }
|
|
Mod+End { focus-column-last; }
|
|
Mod+Shift+Home { move-column-to-first; }
|
|
Mod+Shift+End { move-column-to-last; }
|
|
|
|
Mod+Comma { focus-monitor-previous; }
|
|
Mod+Period { focus-monitor-next; }
|
|
Mod+Shift+Comma { move-window-to-monitor-previous; }
|
|
Mod+Shift+Period { move-window-to-monitor-next; }
|
|
Mod+Ctrl+Shift+Comma { move-column-to-monitor-previous; }
|
|
Mod+Ctrl+Shift+Period { move-column-to-monitor-next; }
|
|
|
|
Mod+Alt+J { focus-workspace-down; }
|
|
Mod+Alt+K { focus-workspace-up; }
|
|
Mod+Alt+Shift+J { move-window-to-workspace-down; }
|
|
Mod+Alt+Shift+K { move-window-to-workspace-up; }
|
|
Mod+Alt+Ctrl+Shift+J { move-workspace-down; }
|
|
Mod+Alt+Ctrl+Shift+K { move-workspace-up; }
|
|
|
|
Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; }
|
|
Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; }
|
|
Mod+Shift+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; }
|
|
Mod+Shift+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; }
|
|
|
|
Mod+WheelScrollRight { focus-column-right; }
|
|
Mod+WheelScrollLeft { focus-column-left; }
|
|
Mod+Shift+WheelScrollRight { move-column-right; }
|
|
Mod+Shift+WheelScrollLeft { move-column-left; }
|
|
|
|
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+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; }
|
|
|
|
Mod+U { consume-window-into-column; }
|
|
Mod+I { expel-window-from-column; }
|
|
|
|
// Mod+R { switch-preset-column-width; }
|
|
// Mod+Shift+R { switch-preset-window-height; }
|
|
// Mod+Ctrl+R { reset-window-height; }
|
|
Mod+D { toggle-column-tabbed-display; }
|
|
Mod+M { maximize-column; }
|
|
Mod+F { fullscreen-window; }
|
|
Mod+Shift+F { toggle-window-floating; }
|
|
Mod+Alt+F { switch-focus-between-floating-and-tiling; }
|
|
|
|
Mod+Z { center-column; }
|
|
Mod+Ctrl+Z { center-visible-columns; }
|
|
|
|
Mod+H { set-column-width "-5%"; }
|
|
Mod+L { set-column-width "+5%"; }
|
|
|
|
// 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; }
|
|
}
|
|
|
|
workspace "music" {
|
|
open-on-output "Dell Inc. DELL S2722QC 2HHZH24"
|
|
}
|
|
workspace "chat" {
|
|
open-on-output "Dell Inc. DELL S2722QC 2HHZH24"
|
|
}
|
|
workspace "work" {
|
|
open-on-output "Dell Inc. DELL S2722QC 2HHZH24"
|
|
}
|
|
|
|
|
|
window-rule {
|
|
match at-startup=true
|
|
open-on-output "Dell Inc. DELL S2722QC 2HHZH24"
|
|
open-on-workspace "work"
|
|
open-maximized true
|
|
open-focused false
|
|
}
|
|
|
|
window-rule {
|
|
match app-id="com.github.th_ch.youtube_music"
|
|
open-on-workspace "music"
|
|
}
|
|
|
|
window-rule {
|
|
match app-id="discord"
|
|
match app-id="vesktop"
|
|
match app-id="slack"
|
|
open-on-workspace "chat"
|
|
}
|
|
|
|
// from wiki, move steam notifications to a corner
|
|
window-rule {
|
|
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
|
|
default-floating-position x=10 y=10 relative-to="bottom-right"
|
|
}
|
|
|
|
spawn-at-startup "wallpaper"
|
|
spawn-at-startup "ags"
|
|
spawn-at-startup "kitty"
|
|
spawn-at-startup "zen"
|
|
spawn-at-startup "hyprlock" "--immediate"
|