Files
dotfiles/.config/hypr/conf.d/keybinds.conf
Matthias Puchstein 5ee73af33d [feat](auto-start): Add %U argument to Exec line for VeSktop auto-start script, add Terminal=false
[feat](hyprland): Add new workspace for KeePassXC with float, size, and centered properties
[style](hyprland): Add workspace rules for communication applications and system applications
2025-09-22 20:29:29 +02:00

179 lines
6.8 KiB
Plaintext

##############################################
################## MY APPS ###################
##############################################
# Set programs that you use
$terminal = uwsm app -T
$terminal_backup = uwsm app -- kitty
$term_tmux = uwsm app -- kitty tmux a
$filemanager = uwsm app -- nautilus
$launcher = uwsm app -- sherlock
$clipman = uwsm app -- sherlock-clp | sherlock | cliphist decode | wl-copy
$browser = uwsm app -- firefox
$browserprv = uwsm app -- firefox --private-window
$altbrowser = uwsm app -- chromium
$editor = uwsm app -T -- nvim
$alteditor = uwsm app -- zeditor
$taskman = uwsm app -- uuctl walker -d
$pwdmgr = uwsm app -- keepassxc
$notcenter = uwsm app -- swaync-client -t -sw
$notdnd = uwsm app -- swaync-client -d
$nothide = uwsm app -- swaync-client --hide-latest
$notclose = uwsm app -- swaync-client --close-latest
$notcloseall = uwsm app -- swaync-client --close-all
$lockcmd = loginctl lock-session
##############################################
################## KEYBINDS ##################
##############################################
$mainMod = SUPER
bind = $mainMod, E, exec, $filemanager
bind = $mainMod, W, exec, $browser
bind = $mainMod SHIFT, W, exec, $browserprv
bind = $mainMod CTRL, W, exec, $altbrowser
bind = $mainMod Shift, E, exec, $editor
bind = $mainMod Shift ALT_L, E, exec, $alteditor
bind = $mainMod, X, exec, $launcher
bind = $mainMod, C, exec, $clipman
bind = $mainMod, Return, exec, $terminal_backup
bind = $mainMod SHIFT, Return, exec, $term_tmux
bind = $mainMod CTRL, Return, exec, $terminal
bind = $mainMod, Escape, exec, $taskman
bind = $mainMod, R, exec, $pwdmgr
bind = $mainMod, Grave, exec, $notcenter
bind = $mainMod SHIFT, Grave, exec, $notdnd
bind = $mainMod, A, exec, $nothide
bind = $mainMod SHIFT, A, exec, $notclose
bind = $mainMod CTRL, A, exec, $notcloseall
bind = $mainMod SHIFT, Pause, exec, uwsm stop
bind = $mainMod, Pause, exec, $lockcmd
bind = $mainMod SHIFT, Escape, exec, $lockcmd
bind = $mainMod, I, pin
bind = $mainMod, Q, killactive,
bind = $mainMod, Space, togglefloating,
bind = $mainMod SHIFT, F, fullscreen
bind = $mainMod SHIFT, S, movetoworkspace, special # move to the special workspace
bind = $mainMod, S, togglespecialworkspace # show/hide special workspace
#dwindle layout
bind = $mainMod, Tab, swapsplit,
bind = $mainMod SHIFT, Tab, togglesplit,
bind = $mainMod CTRL, Tab, layoutmsg, movetoroot
bind = $mainMod, P, pseudo,
#master layout
bind = $mainMod, Tab, layoutmsg, swapwithmaster
bind = $mainMod SHIFT, Tab, layoutmsg, addmaster
bind = $mainMod CTRL, Tab, layoutmsg, removemaster
bind = $mainMod CTRL SHIFT, Tab, layoutmsg, rollnext
# MOVE FOCUS with mainMod + vim keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# MOVE WINDOW with mainMod SHIFT + vim keys
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
# Resize window with mainMod + CTRL + vim keys
bind = $mainMod CTRL, h, resizeactive,-25 0
bind = $mainMod CTRL, l, resizeactive,25 0
bind = $mainMod CTRL, k, resizeactive,0 -25
bind = $mainMod CTRL, j, resizeactive,0 25
# Special workspaces
bind = $mainMod, N, togglespecialworkspace, keepass
# SWITCH WORKSPACES with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
# MOVE ACTIVE WINDOW TO A WORKSPACE with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# MOVE ACTIVE WINDOW TO A WORKSPACE with mainMod + SHIFT + [0-9]
bind = $mainMod CTRL SHIFT, 1, movetoworkspacesilent, 1
bind = $mainMod CTRL SHIFT, 2, movetoworkspacesilent, 2
bind = $mainMod CTRL SHIFT, 3, movetoworkspacesilent, 3
bind = $mainMod CTRL SHIFT, 4, movetoworkspacesilent, 4
bind = $mainMod CTRL SHIFT, 5, movetoworkspacesilent, 5
bind = $mainMod CTRL SHIFT, 6, movetoworkspacesilent, 6
bind = $mainMod CTRL SHIFT, 7, movetoworkspacesilent, 7
bind = $mainMod CTRL SHIFT, 8, movetoworkspacesilent, 8
bind = $mainMod CTRL SHIFT, 9, movetoworkspacesilent, 9
bind = $mainMod CTRL SHIFT, 0, movetoworkspacesilent, 10
bind = $mainMod, Z, changegroupactive, f
bind = $mainMod SHIFT, Z, changegroupactive, b
bind = $mainMod CTRL, Z, togglegroup
bind = $mainMod ALT_L, H, movewindoworgroup, l
bind = $mainMod ALT_L, J, movewindoworgroup, d
bind = $mainMod ALT_L, K, movewindoworgroup, u
bind = $mainMod ALT_L, L, movewindoworgroup, r
# MOVE/RESIZE WINDOWS with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
# Brightness controls
bindel = ,XF86MonBrightnessUp, exec, swayosd-client --brightness +5
bindel = ,XF86MonBrightnessDown, exec, swayosd-client --brightness -5
# Output volume control
bindel = ,XF86AudioRaiseVolume, exec, swayosd-client --output-volume raise --max-volume 150
bindel = ,XF86AudioLowerVolume, exec, swayosd-client --output-volume lower --max-volume 150
bindel = ,XF86AudioMute, exec, swayosd-client --output-volume mute-toggle
# Input volume control
bindel = SHIFT ,XF86AudioRaiseVolume, exec, swayosd-client --input-volume raise --max-volume 150
bindel = SHIFT ,XF86AudioLowerVolume, exec, swayosd-client --input-volume lower --max-volume 150
bindel = SHIFT ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
# Zoom control
bind = $mainMod, M, exec, hyprctl keyword cursor:zoom_factor 2
bind = $mainMod SHIFT, M, exec, hyprctl keyword cursor:zoom_factor 1
# Requires playerctl
bindl = , XF86AudioNext, exec, swayosd-client --playerctl next
bindl = , XF86AudioPause, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPlay, exec, swayosd-client --playerctl play-pause
bindl = , XF86AudioPrev, exec, swayosd-client --playerctl previous
# Screenshot and recording controls
bind = , Print, exec, grimblast --notify copy output
bind = CTRL, Print, exec, grimblast --notify edit output
bind = $mainMod, Print, exec, grimblast --notify edit area
bind = ALT_L, Print, exec, grimblast --notify copy screen
bind = ALT_L SHIFT, Print, exec, grimblast --notify edit screen
bind = SHIFT, Print, exec, uwsm app -- kitty --app-id=scrrec wf-recorder -f ~/Videos/scrrec.mkv -y -g "$(slurp)"