dotfiles/home/.config/hypr/hyprland.d/keybinds.conf

292 lines
10 KiB
Plaintext
Raw Normal View History

2023-07-22 21:40:28 +00:00
$MOUSE_LMB = mouse:272
$MOUSE_RMB = mouse:273
$MOUSE_MMB = mouse:274
$MOUSE_EX1 = mouse:275
$MOUSE_EX2 = mouse:276
$XF86Favorites = 164
2024-03-11 01:51:33 +00:00
# #####################
# ### ACTIVE WINDOW ###
2024-03-11 01:51:33 +00:00
# #####################
2024-02-17 21:53:22 +00:00
bind = SUPER, W, killactive,
bind = SUPER, F, togglefloating,
bind = SUPER, Space, fullscreen, 0 # regular fullscreen
bind = SUPER_SHIFT, Space, fullscreen, 1 # maximize without client fullscreen
bind = SUPER_CTRL, Space, fullscreenstate, 2, 0 # fullscreen without client knowing
bind = SUPER_CTRL_SHIFT, Space, fullscreenstate, 1, 2 # maximize with client being full-screen
bind = CTRL_SHIFT, Space, exec, toggle-fake-fullscreen # fake fullscreen + custom border
bind = SUPER_SHIFT, S, layoutmsg, togglesplit
2023-07-22 21:40:28 +00:00
2024-03-11 01:51:33 +00:00
# ################
# ### PROGRAMS ###
# ################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER, R, exec, wofi --show drun
bind = SUPER_SHIFT, Return, exec, wofi --show run
2024-02-17 21:53:22 +00:00
bind = SUPER_SHIFT, V, exec, clipman pick -t wofi
2023-07-22 21:40:28 +00:00
bind = SUPER, Return, exec, kitty
bind = SUPER, X, exec, pcmanfm-qt
bind = SUPER, B, exec, firefox
2024-10-13 20:00:36 +00:00
bind = SUPER, C, exec, qalculate-gtk
2023-07-22 21:40:28 +00:00
bind = , XF86Calculator, exec, qalculate-gtk
# #####################
# ### DE/WM CONTROL ###
# #####################
bind = SUPER_SHIFT, Q, exec, menuquit
bind = SUPER_CTRL, L, exec, loginctl lock-session
bind = SUPER_SHIFT, L, exec, wlogout -p layer-shell
bind = SUPER_SHIFT, T, exec, toggle-idle
# ###################
# ### SCREENSHOTS ###
# ###################
# Screenshots (with custom screenshot script)
$SCREENSHOT_FORMAT = "${XDG_SCREENSHOTS_DIR:-$HOME/Media/Pictures/Screenshots}/Screenshot_$(date +%Y-%m-%d_%H-%M-%S).png"
$SCREENSHOT_DELAY = 2000
bind = ALT, Print, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
bind = , Print, exec, hyprland-screenshot --notify --copy --target area
#bindl = , Print, exec, hyprland-screenshot --notify --copy --target all # lockscreen screenshot (only enable when needed)
bind = SUPER, Print, exec, hyprland-screenshot --notify --copy --target area --edit
bind = SHIFT, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area
bind = CTRL, Print, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY
bind = SUPER_SHIFT, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit
bind = SUPER_CTRL, Print, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit
bind = SUPER_SHIFT_CTRL, Print, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit
# bind = , Print, exec, hyprland-screenshot --save $SCREENSHOT_FORMAT --target all
# XF86Favorites key for recording
# (don't question me, I had it free)
bind = , 164, exec, quick-record --notify toggle
bind = SUPER, 164, exec, quick-record toggle
2024-03-11 01:51:33 +00:00
# #####################
# ### NOTIFICATIONS ###
# #####################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = CTRL, grave, exec, dunstctl close
bind = CTRL_SHIFT, grave, exec, dunstctl close-all
bind = CTRL, period, exec, dunstctl history-pop
bind = CTRL_SHIFT, period, exec, dunstctl context
2023-07-22 21:59:25 +00:00
bind = SUPER_SHIFT, D, exec, toggle-notifications
2023-07-22 21:40:28 +00:00
# ############################
# ### AUDIO/VOLUME CONTROL ###
# ############################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
binde = SUPER, Down, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
binde = SUPER, Up, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
binde = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
binde = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
bind = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
bind = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
2024-03-11 01:51:33 +00:00
# ##########################
# ### BRIGHTNESS CONTROL ###
# ##########################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
binde = SUPER, Right, exec, brightness -i 5% -n
binde = SUPER, Left, exec, brightness -d 5% -n
binde = , XF86MonBrightnessUp, exec, brightness -i 5% -n
binde = , XF86MonBrightnessDown, exec, brightness -d 5% -n
2024-03-11 01:51:33 +00:00
# #####################
# ### WINDOW GROUPS ###
# #####################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER, G, togglegroup,
bind = SUPER_SHIFT, G, lockactivegroup, toggle
2023-07-22 21:40:28 +00:00
bind = ALT, tab, changegroupactive, f
bind = ALT, grave, changegroupactive, b
2024-03-11 01:51:33 +00:00
# ######################################
# ### SPECIAL WORKSPACE (SCRATCHPAD) ###
# ######################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = ALT, grave, movetoworkspace, special
bind = SUPER, grave, togglespecialworkspace,
2024-03-11 01:51:33 +00:00
# #########################
# ### MOVE WINDOW FOCUS ###
# #########################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER, h, movefocus, l
bind = SUPER, l, movefocus, r
bind = SUPER, k, movefocus, u
bind = SUPER, j, movefocus, d
2024-03-11 01:51:33 +00:00
# #######################################
# ### MOVE ACTIVE WINDOW IN DIRECTION ###
# #######################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER_ALT, h, movewindow, l
bind = SUPER_ALT, l, movewindow, r
bind = SUPER_ALT, k, movewindow, u
bind = SUPER_ALT, j, movewindow, d
2024-03-11 01:51:33 +00:00
# #######################################
# ### MOVE FLOATING WINDOWS ###
# #######################################
2024-02-17 21:53:22 +00:00
$myMoveSize = 100
bind = SUPER_ALT, left, exec, hyprland-move-window $myMoveSiez l
bind = SUPER_ALT, right, exec, hyprland-move-window $myMoveSize r
bind = SUPER_ALT, up, exec, hyprland-move-window $myMoveSize u
bind = SUPER_ALT, down, exec, hyprland-move-window $myMoveSize d
# ################################################################
# ### OVERRIDE SPLIT DIRECTION FOR NEXT WINDOW (MANUAL TILING) ###
# ################################################################
bind = SUPER_ALT, left, layoutmsg, preselect l
bind = SUPER_ALT, right, layoutmsg, preselect r
bind = SUPER_ALT, up, layoutmsg, preselect u
bind = SUPER_ALT, down, layoutmsg, preselect d
2024-02-17 21:53:22 +00:00
2024-03-11 01:51:33 +00:00
# ######################################################
# ### SWITCH WORKSPACE (SWAPPING TO CURRENT MONITOR) ###
# ######################################################
bind = SUPER, 1, focusworkspaceoncurrentmonitor, 1
bind = SUPER, 2, focusworkspaceoncurrentmonitor, 2
bind = SUPER, 3, focusworkspaceoncurrentmonitor, 3
bind = SUPER, 4, focusworkspaceoncurrentmonitor, 4
bind = SUPER, 5, focusworkspaceoncurrentmonitor, 5
bind = SUPER, 6, focusworkspaceoncurrentmonitor, 6
bind = SUPER, 7, focusworkspaceoncurrentmonitor, 7
bind = SUPER, 8, focusworkspaceoncurrentmonitor, 8
bind = SUPER, 9, focusworkspaceoncurrentmonitor, 9
2023-07-22 21:40:28 +00:00
2024-03-11 01:51:33 +00:00
# ################################
# ### MOVE WINDOW TO WORKSPACE ###
# ################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER_SHIFT, 1, movetoworkspacesilent, 1
bind = SUPER_SHIFT, 2, movetoworkspacesilent, 2
bind = SUPER_SHIFT, 3, movetoworkspacesilent, 3
bind = SUPER_SHIFT, 4, movetoworkspacesilent, 4
bind = SUPER_SHIFT, 5, movetoworkspacesilent, 5
bind = SUPER_SHIFT, 6, movetoworkspacesilent, 6
bind = SUPER_SHIFT, 7, movetoworkspacesilent, 7
bind = SUPER_SHIFT, 8, movetoworkspacesilent, 8
bind = SUPER_SHIFT, 9, movetoworkspacesilent, 9
2024-03-11 01:51:33 +00:00
# ###########################################
# ### MOVE WINDOW TO WORKSPACE + FOCUS IT ###
# ###########################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = ALT, 1, movetoworkspace, 1
bind = ALT, 2, movetoworkspace, 2
bind = ALT, 3, movetoworkspace, 3
bind = ALT, 4, movetoworkspace, 4
bind = ALT, 5, movetoworkspace, 5
bind = ALT, 6, movetoworkspace, 6
bind = ALT, 7, movetoworkspace, 7
bind = ALT, 8, movetoworkspace, 8
bind = ALT, 9, movetoworkspace, 9
2024-03-11 01:51:33 +00:00
# ############################################
# ### CYCLE WORKSPACES (RELATIVE MOVEMENT) ###
# ############################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER, mouse_down, workspace, +1
bind = SUPER, mouse_up, workspace, -1
bind = SUPER, bracketleft, workspace, -1
bind = SUPER, bracketright, workspace, +1
2024-02-17 21:53:22 +00:00
2024-03-11 01:51:33 +00:00
# ##########################################
# ### CYCLE MONITORS (RELATIVE MOVEMENT) ###
# ##########################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = SUPER_SHIFT, bracketleft, focusmonitor, -1
bind = SUPER_SHIFT, bracketright, focusmonitor, +1
2024-03-11 01:51:33 +00:00
# #######################
# ### WINDOW RESIZING ###
# #######################
2024-02-17 21:53:22 +00:00
## Mouse window resizing
2023-07-22 21:40:28 +00:00
bindm = SUPER, $MOUSE_LMB, movewindow
bindm = SUPER, $MOUSE_RMB, resizewindow
2024-02-17 21:53:22 +00:00
## Quick keyboard resizing
2023-07-22 21:40:28 +00:00
binde = ALT, right, resizeactive, 10 0
binde = ALT, left, resizeactive, -10 0
binde = ALT, up, resizeactive, 0 -10
binde = ALT, down, resizeactive, 0 10
binde = ALT, H, resizeactive, -10 0
binde = ALT, K, resizeactive, 0 -10
binde = ALT, J, resizeactive, 0 10
binde = ALT, L, resizeactive, 10 0
2024-02-17 21:53:22 +00:00
## Precise keyboard resizing (submap)
2023-07-22 21:40:28 +00:00
bind = SUPER, slash, submap, resize
submap = resize
binde = , right, resizeactive, 10 0
binde = , left, resizeactive, -10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
binde = SUPER, right, resizeactive, 30 0
binde = SUPER, left, resizeactive, -30 0
binde = SUPER, up, resizeactive, 0 -30
binde = SUPER, down, resizeactive, 0 30
binde = SHIFT, right, resizeactive, 1 0
binde = SHIFT, left, resizeactive, -1 0
binde = SHIFT, up, resizeactive, 0 -1
binde = SHIFT, down, resizeactive, 0 1
binde = , H, resizeactive, -10 0
binde = , K, resizeactive, 0 -10
binde = , J, resizeactive, 0 10
binde = , L, resizeactive, 10 0
binde = , right, resizeactive, 10 0
binde = , left, resizeactive, -10 0
binde = , up, resizeactive, 0 -10
binde = , down, resizeactive, 0 10
binde = SUPER, H, resizeactive, -30 0
binde = SUPER, K, resizeactive, 0 -30
binde = SUPER, J, resizeactive, 0 30
binde = SUPER, L, resizeactive, 30 0
binde = SHIFT, H, resizeactive, -1 0
binde = SHIFT, K, resizeactive, 0 -1
binde = SHIFT, J, resizeactive, 0 1
binde = SHIFT, L, resizeactive, 1 0
bind = , escape, submap, reset
bind = , return, submap, reset
bind = SUPER, slash, submap, reset
submap = reset
2024-03-11 01:51:33 +00:00
# ########################################################
# ### GLOBAL KEYBINDS (PASSING KEYS TO OTHER PROGRAMS) ###
# ########################################################
2024-02-17 21:53:22 +00:00
2023-07-22 21:40:28 +00:00
bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
2024-03-11 01:51:33 +00:00
# #######################
# ### ISOLATION GROUP ###
# #######################
2024-02-17 21:53:22 +00:00
2023-10-09 17:27:05 +00:00
# Isolating group to prevent keybind capturing (for games etc)
# SUPER + End
bind = SUPER, End, exec, hyprctl dispatch submap isolate && notify-send "Keybind isolation" "Keybind isolation on"
2023-10-09 17:27:05 +00:00
submap = isolate
bind = SUPER, End, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
2023-10-09 17:27:05 +00:00
submap = reset
# vi: ft=hyprlang