caelestia/hyprland/keybinds.conf
2025-06-14 23:56:08 +10:00

181 lines
8.9 KiB
Text

exec = hyprctl dispatch submap global
submap = global
# Shell keybinds
bindi = Super, Super_L, global, caelestia:launcher
bindin = Super, catchall, global, caelestia:launcherInterrupt
bindin = Super, mouse:272, global, caelestia:launcherInterrupt
bindin = Super, mouse:273, global, caelestia:launcherInterrupt
bindin = Super, mouse:274, global, caelestia:launcherInterrupt
bindin = Super, mouse:275, global, caelestia:launcherInterrupt
bindin = Super, mouse:276, global, caelestia:launcherInterrupt
bindin = Super, mouse:277, global, caelestia:launcherInterrupt
bindin = Super, mouse_up, global, caelestia:launcherInterrupt
bindin = Super, mouse_down, global, caelestia:launcherInterrupt
bind = Ctrl+Alt, Delete, global, caelestia:session
bind = Ctrl+Alt, C, global, caelestia:clearNotifs
bind = Super, K, global, caelestia:showall
bindl = , XF86MonBrightnessUp, global, caelestia:brightnessUp
bindl = , XF86MonBrightnessDown, global, caelestia:brightnessDown
bindl = Ctrl+Super, Space, global, caelestia:mediaToggle
bindl = , XF86AudioPlay, global, caelestia:mediaToggle
bindl = , XF86AudioPause, global, caelestia:mediaToggle
bindl = Ctrl+Super, Equal, global, caelestia:mediaNext
bindl = , XF86AudioNext, global, caelestia:mediaNext
bindl = Ctrl+Super, Minus, global, caelestia:mediaPrevious
bindl = , XF86AudioPrev, global, caelestia:mediaPrevious
bindl = , XF86AudioStop, global, caelestia:mediaStop
bindr = Ctrl+Super+Shift, R, exec, systemctl --user restart caelestia-shell.service
bindr = Ctrl+Super+Alt, R, exec, hyprctl reload
# Go to workspace #
bind = Super, 1, exec, caelestia workspace-action workspace 1
bind = Super, 2, exec, caelestia workspace-action workspace 2
bind = Super, 3, exec, caelestia workspace-action workspace 3
bind = Super, 4, exec, caelestia workspace-action workspace 4
bind = Super, 5, exec, caelestia workspace-action workspace 5
bind = Super, 6, exec, caelestia workspace-action workspace 6
bind = Super, 7, exec, caelestia workspace-action workspace 7
bind = Super, 8, exec, caelestia workspace-action workspace 8
bind = Super, 9, exec, caelestia workspace-action workspace 9
bind = Super, 0, exec, caelestia workspace-action workspace 10
# Go to workspace group #
bind = Ctrl+Super, 1, exec, caelestia workspace-action -g workspace 1
bind = Ctrl+Super, 2, exec, caelestia workspace-action -g workspace 2
bind = Ctrl+Super, 3, exec, caelestia workspace-action -g workspace 3
bind = Ctrl+Super, 4, exec, caelestia workspace-action -g workspace 4
bind = Ctrl+Super, 5, exec, caelestia workspace-action -g workspace 5
bind = Ctrl+Super, 6, exec, caelestia workspace-action -g workspace 6
bind = Ctrl+Super, 7, exec, caelestia workspace-action -g workspace 7
bind = Ctrl+Super, 8, exec, caelestia workspace-action -g workspace 8
bind = Ctrl+Super, 9, exec, caelestia workspace-action -g workspace 9
bind = Ctrl+Super, 0, exec, caelestia workspace-action -g workspace 10
# Go to workspace -1/+1
bind = Super, mouse_down, workspace, -1
bind = Super, mouse_up, workspace, +1
binde = Ctrl+Super, left, workspace, -1
binde = Super, Page_Up, workspace, -1
binde = Ctrl+Super, right, workspace, +1
binde = Super, Page_Down, workspace, +1
# Go to workspace group -1/+1
bind = Ctrl+Super, mouse_down, workspace, -10
bind = Ctrl+Super, mouse_up, workspace, +10
# Toggle special workspace
bind = Super, S, exec, caelestia toggle specialws
# Move window to workspace #
bind = Super+Alt, 1, exec, caelestia workspace-action movetoworkspace 1
bind = Super+Alt, 2, exec, caelestia workspace-action movetoworkspace 2
bind = Super+Alt, 3, exec, caelestia workspace-action movetoworkspace 3
bind = Super+Alt, 4, exec, caelestia workspace-action movetoworkspace 4
bind = Super+Alt, 5, exec, caelestia workspace-action movetoworkspace 5
bind = Super+Alt, 6, exec, caelestia workspace-action movetoworkspace 6
bind = Super+Alt, 7, exec, caelestia workspace-action movetoworkspace 7
bind = Super+Alt, 8, exec, caelestia workspace-action movetoworkspace 8
bind = Super+Alt, 9, exec, caelestia workspace-action movetoworkspace 9
bind = Super+Alt, 0, exec, caelestia workspace-action movetoworkspace 10
# Move window to workspace group #
bind = Ctrl+Super+Alt, 1, exec, caelestia workspace-action -g movetoworkspace 1
bind = Ctrl+Super+Alt, 2, exec, caelestia workspace-action -g movetoworkspace 2
bind = Ctrl+Super+Alt, 3, exec, caelestia workspace-action -g movetoworkspace 3
bind = Ctrl+Super+Alt, 4, exec, caelestia workspace-action -g movetoworkspace 4
bind = Ctrl+Super+Alt, 5, exec, caelestia workspace-action -g movetoworkspace 5
bind = Ctrl+Super+Alt, 6, exec, caelestia workspace-action -g movetoworkspace 6
bind = Ctrl+Super+Alt, 7, exec, caelestia workspace-action -g movetoworkspace 7
bind = Ctrl+Super+Alt, 8, exec, caelestia workspace-action -g movetoworkspace 8
bind = Ctrl+Super+Alt, 9, exec, caelestia workspace-action -g movetoworkspace 9
bind = Ctrl+Super+Alt, 0, exec, caelestia workspace-action -g movetoworkspace 10
# Move window to workspace -1/+1
binde = Super+Alt, Page_Up, movetoworkspace, -1
binde = Super+Alt, Page_Down, movetoworkspace, +1
bind = Super+Alt, mouse_down, movetoworkspace, -1
bind = Super+Alt, mouse_up, movetoworkspace, +1
binde = Ctrl+Super+Shift, right, movetoworkspace, +1
binde = Ctrl+Super+Shift, left, movetoworkspace, -1
# Move window to/from special workspace
bind = Ctrl+Super+Shift, up, movetoworkspace, special:special
bind = Ctrl+Super+Shift, down, movetoworkspace, e+0
bind = Super+Alt, S, movetoworkspace, special:special
# Window groups
binde = Alt, Tab, changegroupactive, f
binde = Shift+Alt, Tab, changegroupactive, b
bind = Super, Comma, togglegroup
bind = Super+Shift, Comma, lockactivegroup, toggle
# Window actions
bind = Super, left, movefocus, l
bind = Super, right, movefocus, r
bind = Super, up, movefocus, u
bind = Super, down, movefocus, d
bind = Super+Shift, left, movewindow, l
bind = Super+Shift, right, movewindow, r
bind = Super+Shift, up, movewindow, u
bind = Super+Shift, down, movewindow, d
binde = Super, Minus, splitratio, -0.1
binde = Super, Equal, splitratio, 0.1
bindm = Super, mouse:272, movewindow
bindm = Super, Z, movewindow
bindm = Super, mouse:273, resizewindow
bindm = Super, X, resizewindow
bind = Ctrl+Super, Backslash, centerwindow, 1
bind = Ctrl+Super+Alt, Backslash, resizeactive, exact 55% 70%
bind = Ctrl+Super+Alt, Backslash, centerwindow, 1
bind = Super+Alt, Backslash, exec, caelestia pip # Move window to picture-in-picture mode
bind = Super, P, pin
bind = Super, F, fullscreen, 0
bind = Super+Alt, F, fullscreen, 1 # Fullscreen with borders
bind = Super+Alt, Space, togglefloating,
bind = Super, Q, killactive,
# Special workspace toggles
bind = Ctrl+Shift, Escape, exec, caelestia toggle sysmon
bind = Super, M, exec, caelestia toggle music
bind = Super, D, exec, caelestia toggle communication
bind = Super, R, exec, caelestia toggle todo
# Apps
bind = Super, T, exec, app2unit -- foot
bind = Super, W, exec, app2unit -- zen-browser
bind = Super, C, exec, app2unit -- codium
bind = Super, G, exec, app2unit -- github-desktop
bind = Super, E, exec, app2unit -- thunar
bind = Super+Alt, E, exec, app2unit -- nemo
bind = Ctrl+Alt, Escape, exec, app2unit -- qps
bind = Ctrl+Alt, V, exec, app2unit -- pavucontrol
bind = Ctrl+Super, Slash, exec, pkill fuzzel || fuzzel --launch-prefix='app2unit --fuzzel-compat -- ' # Secondary app launcher
# Utilities
bindl = , Print, exec, caelestia screenshot # Full screen capture > clipboard
bind = Super+Shift, S, exec, caelestia screenshot -fr # Capture region (freeze)
bind = Super+Shift+Alt, S, exec, caelestia screenshot -r # Capture region
bind = Super+Alt, R, exec, caelestia record -s # Record screen with sound
bind = Ctrl+Alt, R, exec, caelestia record # Record screen
bind = Super+Shift+Alt, R, exec, caelestia record -r # Record region
bind = Super+Shift, C, exec, hyprpicker -a # Colour picker
# Volume
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindl = Super+Shift, M, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bindle = , XF86AudioRaiseVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+
bindle = , XF86AudioLowerVolume, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ 0; wpctl set-volume @DEFAULT_AUDIO_SINK@ 10%-
# Power
bind = Ctrl+Shift+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell
# Lock and sleep
bind = Super, L, exec, loginctl lock-session
bind = Super+Shift, L, exec, systemctl suspend-then-hibernate
# Clipboard and emoji picker
bind = Super, V, exec, pkill fuzzel || caelestia clipboard
bind = Super+Alt, V, exec, pkill fuzzel || caelestia clipboard -d
bind = Super, Period, exec, pkill fuzzel || caelestia emoji-picker
bindl = Ctrl+Shift+Alt, V, exec, sleep 0.5s && ydotool type -d 1 "$(cliphist list | head -1 | cliphist decode)" # Alternate paste
# Testing
bind = Super+Alt, f12, exec, notify-send -u low -i dialog-information-symbolic 'Test notification' "Here's a really long message to test truncation and wrapping\nYou can middle click or flick this notification to dismiss it!" -a 'Shell' -A "Test1=I got it!" -A "Test2=Another action"