mirror of
https://github.com/ItsDrike/dotfiles.git
synced 2025-09-13 10:40:04 +00:00
236 lines
8.7 KiB
Text
236 lines
8.7 KiB
Text
$MOUSE_LMB = mouse:272
|
|
$MOUSE_RMB = mouse:273
|
|
$MOUSE_MMB = mouse:274
|
|
$MOUSE_EX1 = mouse:275
|
|
$MOUSE_EX2 = mouse:276
|
|
|
|
$XF86Favorites = 164
|
|
|
|
# #####################
|
|
# ### ACTIVE WINDOW ###
|
|
# #####################
|
|
|
|
bind = SUPER, W, killactive,
|
|
bind = SUPER, F, togglefloating,
|
|
bind = SUPER SHIFT, S, layoutmsg, togglesplit
|
|
bind = SUPER, P, pseudo
|
|
|
|
# #####################
|
|
# ### DE/WM CONTROL ###
|
|
# #####################
|
|
|
|
bind = SUPER CTRL, L, exec, loginctl lock-session
|
|
bind = SUPER SHIFT, L, exec, uwsm app -- wlogout -p layer-shell
|
|
bind = SUPER SHIFT, T, exec, toggle-idle
|
|
#
|
|
|
|
# ################
|
|
# ### PROGRAMS ###
|
|
# ################
|
|
|
|
bind = SUPER, R, exec, uwsm app -- walker
|
|
bind = SUPER, Return, exec, uwsm app -- kitty
|
|
bind = SUPER, X, exec, uwsm app -- pcmanfm-qt
|
|
bind = SUPER, B, exec, uwsm app -- firefox
|
|
bind = SUPER, C, exec, uwsm app -- qalculate-gtk
|
|
bind = , XF86Calculator, exec, uwsm app -- qalculate-gtk
|
|
bind = SUPER SHIFT, V, exec, uwsm app -- cliphist list | walker -d | cliphist decode | wl-copy
|
|
|
|
# ###################
|
|
# ### FULL-SCREEN ###
|
|
# ###################
|
|
|
|
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
|
|
|
|
# ############################
|
|
# ### AUDIO/VOLUME CONTROL ###
|
|
# ############################
|
|
|
|
bindel = SUPER, Down, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
|
|
bindel = SUPER, Up, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
|
|
bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05-
|
|
bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.05+
|
|
|
|
bindl = , XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
|
bindl = , XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle
|
|
|
|
bindl = , XF86AudioNext, exec, playerctl next
|
|
bindl = , XF86AudioPause, exec, playerctl play-pause
|
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
|
|
# #####################
|
|
# ### NOTIFICATIONS ###
|
|
# #####################
|
|
|
|
bind = CTRL, grave, exec, swaync-client --close-latest
|
|
bind = CTRL_SHIFT, grave, exec, swaync-client --close-all
|
|
bind = CTRL_ALT, grave, exec, swaync-client --hide-latest
|
|
bind = CTRL, period, exec, swaync-client --toggle-panel
|
|
bind = SUPER_SHIFT, D, exec, toggle-notifications
|
|
|
|
# ##########################
|
|
# ### BRIGHTNESS CONTROL ###
|
|
# ##########################
|
|
|
|
bindel = SUPER, Right, exec, brightnessctl -n2 set 5%+
|
|
bindel = SUPER, Left, exec, brightnessctl -n2 set 5%-
|
|
bindel = ,XF86MonBrightnessDown, exec, brightnessctl -n2 set 5%-
|
|
bindel = ,XF86MonBrightnessUp, exec, brightnessctl -n2 set 5%+
|
|
|
|
# ###################
|
|
# ### 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
|
|
$PRINTSCR_KEY = Print #Menu # Print
|
|
|
|
bind = , $PRINTSCR_KEY, exec, hyprland-screenshot --notify --copy --target area
|
|
#bindl = , $PRINTSCR_KEY, exec, hyprland-screenshot --notify --copy --target all # lockscreen screenshot (only enable when needed, dangerous)
|
|
bind = SUPER, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --copy --target area --edit
|
|
bind = SHIFT, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area
|
|
bind = CTRL, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY
|
|
bind = SUPER SHIFT, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --edit
|
|
bind = SUPER CTRL, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --copy --target area --delay $SCREENSHOT_DELAY --edit
|
|
bind = SUPER SHIFT CTRL, $PRINTSCR_KEY, exec, hyprland-screenshot --notify --save $SCREENSHOT_FORMAT --target area --delay $SCREENSHOT_DELAY --edit
|
|
bind = SUPER ALT, $PRINTSCR_KEY, exec, ocr && notify-send "OCR" "Text copied to clipboard"
|
|
bind = ALT, $PRINTSCR_KEY, exec, wl-copy --type image/png "$(hyprpicker)" && notify-send 'Picked color' "$(wl-paste) (saved to clipboard)"
|
|
|
|
# XF86Favorites key for recording
|
|
# (don't question me, I had it free)
|
|
bind = , 164, exec, uwsm app -- quick-record --notify toggle
|
|
bind = SUPER, 164, exec, uwsm -- app quick-record toggle
|
|
|
|
# #####################
|
|
# ### WINDOW GROUPS ###
|
|
# #####################
|
|
|
|
bind = SUPER, G, togglegroup,
|
|
bind = SUPER SHIFT, G, lockactivegroup, toggle
|
|
bind = ALT, tab, changegroupactive, f
|
|
bind = ALT, grave, changegroupactive, b
|
|
|
|
# ######################################
|
|
# ### SPECIAL WORKSPACE (SCRATCHPAD) ###
|
|
# ######################################
|
|
|
|
bind = ALT, grave, movetoworkspace, special
|
|
bind = SUPER, grave, togglespecialworkspace,
|
|
|
|
# #########################
|
|
# ### MOVE WINDOW FOCUS ###
|
|
# #########################
|
|
|
|
bind = SUPER, h, movefocus, l
|
|
bind = SUPER, l, movefocus, r
|
|
bind = SUPER, k, movefocus, u
|
|
bind = SUPER, j, movefocus, d
|
|
|
|
# #######################################
|
|
# ### MOVE FLOATING OR ACTIVE WINDOWS ###
|
|
# #######################################
|
|
|
|
$floatMoveSize = 100
|
|
bind = SUPER ALT, h, exec, hyprland-move-window $floatMoveSize l
|
|
bind = SUPER ALT, l, exec, hyprland-move-window $floatMoveSize r
|
|
bind = SUPER ALT, k, exec, hyprland-move-window $floatMoveSize u
|
|
bind = SUPER ALT, j, exec, hyprland-move-window $floatMoveSize d
|
|
|
|
# ######################################################
|
|
# ### 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
|
|
|
|
# ################################
|
|
# ### MOVE WINDOW TO WORKSPACE ###
|
|
# ################################
|
|
|
|
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
|
|
|
|
# ###########################################
|
|
# ### MOVE WINDOW TO WORKSPACE + FOCUS IT ###
|
|
# ###########################################
|
|
|
|
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
|
|
|
|
# ############################################
|
|
# ### CYCLE WORKSPACES (RELATIVE MOVEMENT) ###
|
|
# ############################################
|
|
|
|
bind = SUPER, bracketleft, workspace, -1
|
|
bind = SUPER, bracketright, workspace, +1
|
|
|
|
# ##########################################
|
|
# ### CYCLE MONITORS (RELATIVE MOVEMENT) ###
|
|
# ##########################################
|
|
|
|
bind = SUPER SHIFT, bracketleft, focusmonitor, -1
|
|
bind = SUPER SHIFT, bracketright, focusmonitor, +1
|
|
|
|
# #######################
|
|
# ### WINDOW RESIZING ###
|
|
# #######################
|
|
|
|
## Mouse window resizing
|
|
bindm = SUPER, $MOUSE_LMB, movewindow
|
|
bindm = SUPER, $MOUSE_RMB, resizewindow
|
|
|
|
## Quick keyboard resizing
|
|
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
|
|
|
|
# ########################################################
|
|
# ### GLOBAL KEYBINDS (PASSING KEYS TO OTHER PROGRAMS) ###
|
|
# ########################################################
|
|
|
|
bind = CTRL, F10, pass, ^(com\.obsproject\.Studio)$
|
|
|
|
# #######################
|
|
# ### ISOLATION GROUP ###
|
|
# #######################
|
|
|
|
# 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 (Super + END to disable)"
|
|
submap = isolate
|
|
bind = SUPER, End, exec, hyprctl dispatch submap reset && notify-send "Keybind isolation" "Keybind isolation off"
|
|
submap = reset
|
|
|