Files
.dotfiles/dotfiles/config/hypr/keybindings.conf
2024-03-24 13:25:38 +08:00

164 lines
7.6 KiB
Plaintext

# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
# Main modifier
$mainMod = SUPER # windows key
# assign apps
$term = kitty
$editor = code --ozone-platform-hint=wayland --disable-gpu
$file = dolphin
$browser = firefox
# Window/Session actions
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # killactive, kill the window on focus
bind = ALT, F4, exec, $scrPath/dontkillsteam.sh # killactive, kill the window on focus
bind = $mainMod, delete, exit, # kill hyperland session
bind = $mainMod, W, togglefloating, # toggle the window on focus to float
bind = $mainMod, G, togglegroup, # toggle the window on focus to group (tab mode)
bind = ALT, return, fullscreen, # toggle the window on focus to fullscreen
bind = $mainMod, L, exec, swaylock # lock screen
bind = $mainMod SHIFT, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
bind = $mainMod, backspace, exec, $scrPath/logoutlaunch.sh 1 # logout menu
bind = $CONTROL, ESCAPE, exec, killall waybar || waybar # toggle waybar
# Application shortcuts
bind = $mainMod, T, exec, $term # open terminal
bind = $mainMod, E, exec, $file # open file manager
bind = $mainMod, C, exec, $editor # open vscode
bind = $mainMod, F, exec, $browser # open browser
bind = $CONTROL SHIFT, ESCAPE, exec, $scrPath/sysmonlaunch.sh # open htop/btop if installed or default to top (system monitor)
# Rofi is toggled on/off if you repeat the key presses
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch desktop applications
bind = $mainMod, tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # switch between desktop applications
bind = $mainMod, R, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # browse system files
# Audio control
bindl = , F10, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindel = , F11, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , F12, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl = , XF86AudioMute, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
bindl = , XF86AudioMicMute, exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
bindel = , XF86AudioLowerVolume, exec, $scrPath/volumecontrol.sh -o d # decrease volume
bindel = , XF86AudioRaiseVolume, exec, $scrPath/volumecontrol.sh -o i # increase volume
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPause, exec, playerctl play-pause
bindl = , XF86AudioNext, exec, playerctl next
bindl = , XF86AudioPrev, exec, playerctl previous
# Brightness control
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
# Screenshot/Screencapture
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # drag to snip an area / click on a window to print it
bind = $mainMod CTRL, P, exec, $scrPath/screenshot.sh sf # frozen screen, drag to snip an area / click on a window to print it
bind = $mainMod ALT, P, exec, $scrPath/screenshot.sh m # print focused monitor
bind = ,print, exec, $scrPath/screenshot.sh p # print all monitor outputs
# Exec custom scripts
bind = $mainMod ALT, G, exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
bind = $mainMod ALT, right, exec, $scrPath/swwwallpaper.sh -n # next wallpaper
bind = $mainMod ALT, left, exec, $scrPath/swwwallpaper.sh -p # previous wallpaper
bind = $mainMod ALT, up, exec, $scrPath/wbarconfgen.sh n # next waybar mode
bind = $mainMod ALT, down, exec, $scrPath/wbarconfgen.sh p # previous waybar mode
bind = $mainMod SHIFT, D, exec, $scrPath/wallbashtoggle.sh # toggle wallbash on/off
bind = $mainMod SHIFT, T, exec, pkill -x rofi || $scrPath/themeselect.sh # theme select menu
bind = $mainMod SHIFT, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # rofi style select menu
bind = $mainMod SHIFT, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # rofi wall select menu
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # open Pasteboard in screen center
bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # change keyboard layout
# Move focus with mainMod + arrow keys
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
bind = ALT, Tab, movefocus, d
# 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
# Switch workspaces relative to the active workspace with mainMod + CTRL + [←→]
bind = $mainMod CTRL, right, workspace, r+1
bind = $mainMod CTRL, left, workspace, r-1
# move to the first empty workspace instantly with mainMod + CTRL + [↓]
bind = $mainMod CTRL, down, workspace, empty
# Resize windows
binde = $mainMod SHIFT, right, resizeactive, 30 0
binde = $mainMod SHIFT, left, resizeactive, -30 0
binde = $mainMod SHIFT, up, resizeactive, 0 -30
binde = $mainMod SHIFT, down, resizeactive, 0 30
# 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 relative workspace with mainMod + CTRL + ALT + [←→]
bind = $mainMod CTRL ALT, right, movetoworkspace, r+1
bind = $mainMod CTRL ALT, left, movetoworkspace, r-1
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
bind = $mainMod SHIFT $CONTROL, left, movewindow, l
bind = $mainMod SHIFT $CONTROL, right, movewindow, r
bind = $mainMod SHIFT $CONTROL, up, movewindow, u
bind = $mainMod SHIFT $CONTROL, down, movewindow, d
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/Resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bindm = Super, Z, movewindow
bindm = Super, X, resizewindow
# Special workspaces (scratchpad)
bind = $mainMod ALT, S, movetoworkspacesilent, special
bind = $mainMod, S, togglespecialworkspace,
# Toggle Layout
bind = $mainMod, J, togglesplit, # dwindle
# Move window silently to workspace Super + Alt + [0-9]
bind = $mainMod ALT, 1, movetoworkspacesilent, 1
bind = $mainMod ALT, 2, movetoworkspacesilent, 2
bind = $mainMod ALT, 3, movetoworkspacesilent, 3
bind = $mainMod ALT, 4, movetoworkspacesilent, 4
bind = $mainMod ALT, 5, movetoworkspacesilent, 5
bind = $mainMod ALT, 6, movetoworkspacesilent, 6
bind = $mainMod ALT, 7, movetoworkspacesilent, 7
bind = $mainMod ALT, 8, movetoworkspacesilent, 8
bind = $mainMod ALT, 9, movetoworkspacesilent, 9
bind = $mainMod ALT, 0, movetoworkspacesilent, 10
# Trigger when the switch is turning off, Might cause bugs. Recommend to use logind instead.
#bindl= , switch:on:Lid Switch, exec, swaylock && systemctl suspend