dots/.config/hypr/keybindings.conf

251 lines
15 KiB
Plaintext

## █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
## █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
# see https://wiki.hyprland.org/configuring/keywords/ for more
# example binds, see https://wiki.hyprland.org/configuring/binds/ for more
# Grouping of binds for easier management
# $d=[Group Name|Subgroup Name1|Subgroup Name2|...]
# '$d' is a variable that is used to group binds together (or use another variable)
# This is only for organization purposes and is not a defined hyprland variable
# What we did here is to modify the Description of the binds to include the group name
# The $d will be parsed as a separate key to be use for a GUI or something pretty
# [Main|Subgroup1|Subgroup2|...]
# Main - The main groupname
# Subgroup1.. - The subgroup names can be use to avoid repeating the same description
#*  Variables 
# Default if commented out
# $mainMod = Super # super / meta / windows key
# Assign apps
# $TERMINAL = kitty
# $EDITOR = code
# $EXPLORER = dolphin
# $BROWSER = firefox
$wm=Window Management
$d=[$wm]
bindd = $mainMod, Q, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = Alt, F4, $d close focused window, exec, $scrPath/dontkillsteam.sh
bindd = $mainMod, Delete, $d kill hyprland session, exit
bindd = $mainMod, W, $d toggle float, togglefloating, #
bindd = $mainMod Shift, G, $d toggle group, togglegroup
bindd = Shift, F11, $d toggle fullscreen, fullscreen
bindd = Alt, Return, $d toggle fullscreen, fullscreen
bindd = $mainMod, L, $d lock screen, exec, lockscreen.sh
bindd = $mainMod Shift, F, $d toggle pin on focused window, exec, $scrPath/windowpin.sh
bindd = Control Alt, Delete, $d logout menu, exec, $scrPath/logoutlaunch.sh
bindd = Control Alt, W, $d toggle waybar and reload config, exec, killall waybar || waybar
# bindd = Alt_R, Control_R, W, $d toggle waybar and reload config, exec, killall waybar || (env reload_flag=1 $scrPath/wbarconfgen.sh) # was throwing error
# bindd = ALT_R, Control_R,toggle waybar, exec, killall waybar || waybar # toggle waybar without reloading, this is faster
$d=[$wm|Group Navigation]
bindd = $mainMod Control, H, $d change active group backwards , changegroupactive, b
bindd = $mainMod Control, L, $d change active group forwards , changegroupactive, f
$d=[$wm|Change focus]
bindd = $mainMod, Left, $d focus left, movefocus, l
bindd = $mainMod, Right, $d focus right , movefocus, r
bindd = $mainMod, Up, $d focus up , movefocus, u
bindd = $mainMod, Down , $d focus down, movefocus, d
bindd = $mainMod Control, Left, $d focus left, movefocus, l
bindd = $mainMod Control, Right, $d focus right , movefocus, r
bindd = $mainMod Control, Up, $d focus up , movefocus, u
bindd = $mainMod Control, Down, $d focus down, movefocus, d
bindd = $mainMod Control, h, $d focus left, movefocus, l
bindd = $mainMod Control, l, $d focus right , movefocus, r
bindd = $mainMod Control, k, $d focus up , movefocus, u
bindd = $mainMod Control, j , $d focus down, movefocus, d
bindd = Alt Control, Left, $d focus left, movefocus, l
bindd = Alt Control, Right, $d focus right , movefocus, r
bindd = Alt Control, Up, $d focus up , movefocus, u
bindd = Alt Control, Down, $d focus down, movefocus, d
bindd = Alt Control, h, $d focus left, movefocus, l
bindd = Alt Control, l, $d focus right , movefocus, r
bindd = Alt Control, k, $d focus up , movefocus, u
bindd = Alt Control, j , $d focus down, movefocus, d
bindd = Alt, Tab, $d focus , movefocus, d
$d=[$wm|Resize Active Window]
# Resize windows
bindde = $mainMod Shift, Right, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, Left, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, Up, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, Down, $d resize window down, resizeactive, 0 30
bindde = $mainMod Shift, l, $d resize window right , resizeactive, 30 0
bindde = $mainMod Shift, h, $d resize window left, resizeactive, -30 0
bindde = $mainMod Shift, k, $d resize window up, resizeactive, 0 -30
bindde = $mainMod Shift, j, $d resize window down, resizeactive, 0 30
# Move active window around current workspace with mainMod + Shift + Control [←→↑↓]
$d=[$wm|Move active window across workspace]
$moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
bindde = $mainMod Alt, left, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
bindde = $mainMod Alt, right, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
bindde = $mainMod Alt, up, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
bindde = $mainMod Alt, down, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
bindde = $mainMod Alt, h, Move activewindow to the left, exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
bindde = $mainMod Alt, l, Move activewindow to the right, exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
bindde = $mainMod Alt, k, Move activewindow up, exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
bindde = $mainMod Alt, j, Move activewindow down, exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
# Move/Resize focused window
$d=[$wm|Move & Resize with mouse]
binddm = $mainMod, mouse:272, $d hold to move window, movewindow
binddm = $mainMod, mouse:273, $d hold to resize window, resizewindow
binddm = $mainMod, Z, $d hold to move window , movewindow
binddm = $mainMod, X, $d hold to resize window, resizewindow
# Toggle focused window split
$d=[$wm]
bindd = $mainMod, J, $d toggle split, togglesplit
$l=Launcher
$d=[$l|Apps]
bindd = $mainMod, T, $d terminal emulator , exec, $TERMINAL
bindd = Control Alt, T, $d terminal emulator , exec, $TERMINAL
# bindd = Control Shift, Alt, T, $d terminal emulator , exec, tilix # launch tilix terminal emulator - using for ssh
bindd = $mainMod Control, T, $d terminal emulator, exec, tilix # launch tilix terminal emulator
bindd = $mainMod, E, $d file explorer , exec, $EXPLORER
bindd = $mainMod, C, $d text editor , exec, $EDITOR
bindd = $mainMod, B, $d web browser , exec, $BROWSER
bindd = $mainMod Shift, B, $d web browser , exec, librewolf
bindd = Control Shift, Escape, $d system monitor , exec, $scrPath/sysmonlaunch.sh
bindd = $mainMod, F, $d web browser , exec, freetube
bindd = $mainMod, K, $d password manager , exec, keepassxc # launch password manager
bindd = $mainMod, G, $d messanger, exec, gajim # launch messanger
# bindd = $mainMod, M, exec, $notes # launch notes app
# bindd = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
$d=[$l|Rofi menus]
$rofi-launch=$scrPath/rofilaunch.sh
bindd = $mainMod, A, $d application finder , exec, pkill -x rofi || $rofi-launch d
bindd = $mainMod, TAB, $d window switcher , exec, pkill -x rofi || $rofi-launch w
bindd = $mainMod Shift, E, $d file finder , exec, pkill -x rofi || $rofi-launch f
bindd = $mainMod, slash, $d keybindings hint, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
bindd = $mainMod, comma, $d emoji picker , exec, pkill -x rofi || $scrPath/emoji-picker.sh # launch emoji picker
bindd = $mainMod, period, $d glyph picker , exec, pkill -x rofi || $scrPath/glyph-picker.sh # launch glyph picker
bindd = $mainMod, V, $d clipboard , exec, pkill -x rofi || $scrPath/cliphist.sh -c # launch clipboard,
bindd = $mainMod Shift, V, $d clipboard manager , exec, pkill -x rofi || $scrPath/cliphist.sh # launch clipboard Manager
bindd = $mainMod Shift, A, $d select rofi launcher , exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
$hc=Hardware Controls
$d=[$hc|Audio]
binddl = , F10, $d toggle mute output , exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddl = , XF86AudioMute,$d toggle mute output, exec, $scrPath/volumecontrol.sh -o m # toggle audio mute
binddel = , F11, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , F12, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
binddl = , XF86AudioMicMute,$d un/mute microphone , exec, $scrPath/volumecontrol.sh -i m # toggle microphone mute
binddel = , XF86AudioLowerVolume, $d decrease volume , exec, $scrPath/volumecontrol.sh -o d # decrease volume
binddel = , XF86AudioRaiseVolume, $d increase volume , exec, $scrPath/volumecontrol.sh -o i # increase volume
$d=[$hc|Media]
binddl = , XF86AudioPlay,$d play media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioPause,$d pause media, exec, playerctl play-pause # toggle between media play and pause
binddl = , XF86AudioNext,$d next media , exec, playerctl next # media next
binddl = , XF86AudioPrev,$d previous media , exec, playerctl previous # media previous
$d=[$hc|Brightness]
binddel = , XF86MonBrightnessUp, $d increase brightness , exec, $scrPath/brightnesscontrol.sh i # increase brightness
binddel = , XF86MonBrightnessDown, $d decrease brightness , exec, $scrPath/brightnesscontrol.sh d # decrease brightness
$ut=Utilities
$d=[$ut]
# binddl = $mainMod, K, $d toggle keyboard layout , exec, $scrPath/keyboardswitch.sh # switch keyboard layout
bindd = $mainMod Alt, G, $d game mode , exec, $scrPath/gamemode.sh # disable hypr effects for gamemode
$d=[$ut|Screen Capture]
bindd = $mainMod Shift, P, $d color picker, exec, hyprpicker -an # Pick color (Hex) >> clipboard#
bindd = $mainMod, P, $d snip screen , exec, $scrPath/screenshot.sh s # partial screenshot capture
bindd = $mainMod Control, P, $d freeze and snip screen, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
binddl = $mainMod Alt, P, $d print monitor , exec, $scrPath/screenshot.sh m # monitor screenshot capture
binddl = , Print, $d print all monitors , exec, $scrPath/screenshot.sh p # all monitors screenshot capture
# TODO Make a main rofi menu for these selectors
$rice=Theming and Wallpaper
$d=[$rice]
bindd = $mainMod Alt Control Shift, Right, $d next global wallpaper , exec, $scrPath/wallpaper.sh -Gn # next global wallpaper
bindd = $mainMod Alt Control Shift, Left, $d previous global wallpaper , exec, $scrPath/wallpaper.sh -Gp # previous global wallpaper
bindd = $mainMod Shift, W, $d select a global wallpaper , exec, pkill -x rofi || $scrPath/wallpaper.sh -SG # launch wallpaper select menu
# bindd = $mainMod Alt, Up, $d next waybar layout , exec, $scrPath/wbarconfgen.sh n # next waybar mode
# bindd = $mainMod Alt, Down, $d previous waybar layout , exec, $scrPath/wbarconfgen.sh p # previous waybar mode
# bindd = $mainMod Shift, R, $d wallbash mode selector , exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
# bindd = $mainMod Shift, T, $d select a theme, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
$ws=Workspaces
$d=[$ws|Navigation]
bindd = $mainMod, 1, $d navigate to workspace 1 , workspace, 1
bindd = $mainMod, 2, $d navigate to workspace 2 , workspace, 2
bindd = $mainMod, 3, $d navigate to workspace 3 , workspace, 3
bindd = $mainMod, 4, $d navigate to workspace 4 , workspace, 4
bindd = $mainMod, 5, $d navigate to workspace 5 , workspace, 5
bindd = $mainMod, 6, $d navigate to workspace 6 , workspace, 6
bindd = $mainMod, 7, $d navigate to workspace 7 , workspace, 7
bindd = $mainMod, 8, $d navigate to workspace 8 , workspace, 8
bindd = $mainMod, 9, $d navigate to workspace 9 , workspace, 9
bindd = $mainMod, 0, $d navigate to workspace 10 , workspace, 10
$d=[$ws|Navigation|Relative workspace]
bindd = $mainMod Control Shift, Right, $d change active workspace forwards , workspace, r+1
bindd = $mainMod Control Shift, Left, $d change active workspace backwards , workspace, r-1
bindd = $mainMod Control Shift, L, $d change active workspace forwards , workspace, r+1 # doesnt work
bindd = $mainMod Control Shift, H, $d change active workspace backwards , workspace, r-1 # doesnt work
$d=[$ws|Navigation]
bindd = $mainMod Control, Down, $d navigate to the nearest empty workspace , workspace, empty
# Move focused window to a workspace
$d=[$ws|Move window to workspace]
bindd = $mainMod Control, 1, $d move to workspace 1 , movetoworkspace, 1
bindd = $mainMod Control, 2, $d move to worksCtrl2 , movetoworkspace, 2
bindd = $mainMod Control, 3, $d move to worksCtrl3 , movetoworkspace, 3
bindd = $mainMod Control, 4, $d move to worksCtrl4 , movetoworkspace, 4
bindd = $mainMod Control, 5, $d move to worksCtrl5 , movetoworkspace, 5
bindd = $mainMod Control, 6, $d move to worksCtrl6 , movetoworkspace, 6
bindd = $mainMod Control, 7, $d move to worksCtrl7 , movetoworkspace, 7
bindd = $mainMod Control, 8, $d move to worksCtrl8 , movetoworkspace, 8
bindd = $mainMod Control, 9, $d move to worksCtrl9 , movetoworkspace, 9
bindd = $mainMod Control, 0, $d move to worksCtrl10 , movetoworkspace, 10
# Move focused window to a relative workspace
$d=[$ws]
bindd = $mainMod Control Alt, Right, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, Left, $d move window to previous relative workspace , movetoworkspace, r-1
bindd = $mainMod Control Alt, l, $d move window to next relative workspace , movetoworkspace, r+1
bindd = $mainMod Control Alt, h, $d move window to previous relative workspace , movetoworkspace, r-1
# Scroll through existing workspaces
$d=[$ws|Navigation]
bindd = $mainMod, mouse_down, $d next workspace, workspace, e+1
bindd = $mainMod, mouse_up, $d previous workspace, workspace, e-1
# Move/Switch to special workspace (scratchpad)
$d=[$ws|Navigation|Special workspace]
bindd = $mainMod Shift, S, $d move to scratchpad , movetoworkspace, special
bindd = $mainMod Alt, S, $d move to scratchpad (silent) , movetoworkspacesilent, special
bindd = $mainMod, S, $d toggle scratchpad , togglespecialworkspace
# Move focused window to a workspace silently
$d=[$ws|Navigation|Move window silently]
bindd = $mainMod Alt, 1, $d move to workspace 1 (silent), movetoworkspacesilent, 1
bindd = $mainMod Alt, 2, $d move to workspace 2 (silent), movetoworkspacesilent, 2
bindd = $mainMod Alt, 3, $d move to workspace 3 (silent), movetoworkspacesilent, 3
bindd = $mainMod Alt, 4, $d move to workspace 4 (silent), movetoworkspacesilent, 4
bindd = $mainMod Alt, 5, $d move to workspace 5 (silent), movetoworkspacesilent, 5
bindd = $mainMod Alt, 6, $d move to workspace 6 (silent), movetoworkspacesilent, 6
bindd = $mainMod Alt, 7, $d move to workspace 7 (silent), movetoworkspacesilent, 7
bindd = $mainMod Alt, 8, $d move to workspace 8 (silent), movetoworkspacesilent, 8
bindd = $mainMod Alt, 9, $d move to workspace 9 (silent), movetoworkspacesilent, 9
bindd = $mainMod Alt, 0, $d move to workspace 10 (silent), movetoworkspacesilent, 10
$d=#! unset the group name