neodotfiles/config/hypr/keybindings.conf
2024-09-27 23:08:07 -04:00

258 lines
14 KiB
Text

# ╻┏ ┏━╸╻ ╻┏┓ ╻┏┓╻╺┳┓╻┏┓╻┏━╸┏━┓
# ┣┻┓┣╸ ┗┳┛┣┻┓┃┃┗┫ ┃┃┃┃┗┫┃╺┓┗━┓
# ╹ ╹┗━╸ ╹ ┗━┛╹╹ ╹╺┻┛╹╹ ╹┗━┛┗━┛
$supMod = SUPER # super key
$altMod = ALT # alt key
$conMod = CONTROL # control key
# Apps
$term = kitty
$chat = flatpak run org.signal.Signal
$office = flatpak run org.onlyoffice.desktopeditors
$notes = joplin-desktop
$browser = flatpak run com.brave.Browser
$file = kitty --class file_manager yazi
$editor = zed
$music = kitty --class musikcube musikcube
$rss = kitty --class newsboat newsboat
$password = flatpak run com.bitwarden.desktop
$ani-cli = kitty --class ani-cli ani-cli
$ytfzf = kitty --class ytfzf ytfzf -flstT chafa
$ytfzf-music = kitty --class ytfzf-music ytfzf -mlstT chafa
$flix-cli = kitty --class flix-cli flix-cli
$audiomixer = kitty --class pulsemixer pulsemixer
$monitor = foot -T monitor -a btop btop
$hmonitor = kitty --class htop htop
# run launchers
$run = pkill rofi || rofi -show run
$drun = pkill rofi || $RUNNER_EX
$rs_wifi = pkill rofi || $HOME/.config/rofi/scripts/rs_wifi
$rs_wall = pkill rofi || $HOME/.config/rofi/scripts/rs_wall
$rs_emoji = pkill rofi || $HOME/.config/rofi/scripts/rs_emoji
$rs_clip = pkill rofi || $HOME/.config/rofi/scripts/rs_clip
$rs_scrot = pkill rofi || $HOME/.config/rofi/scripts/rs_scrot
$rs_power = pkill rofi || $HOME/.config/rofi/scripts/rs_power
$rs_blue = pkill rofi || $HOME/.config/rofi/scripts/rs_blue
# main binds
bind = $supMod, RETURN, exec, kitty # launch a terminal
bind = $supMod, q, killactive # kill active window
bind = $supMod_$conMod_SHIFT, q, exit # exit the compositor
bind = $supMod, b, exec, pkill waybar || waybar # hide/show bar
bind = $supMod, f, togglefloating # toggle floating mode
bind = $supMod_SHIFT, f, fullscreen # toggle fullscreen mode
# focus binds
bind = $supMod, k, layoutmsg, cyclenext # focus next window
bind = $supMod, j, layoutmsg, cycleprev # focus previous window
bind = $supMod_SHIFT, RETURN, layoutmsg, focusmaster # focus master window
bind = $supMod, h, focusmonitor, -1 # focus monitor to right
bind = $supMod, l, focusmonitor, +1 # focus monitor to left
# layout binds
bind = $supMod_SHIFT, j, layoutmsg, swapnext # swap window with next
bind = $supMod_SHIFT, k, layoutmsg, swapprev # swap window with previous
bind = $supMod_SHIFT, l, layoutmsg, orientationnext # shift to next stack orientation
bind = $supMod_SHIFT, h, layoutmsg, orientationprev # shift to previous stack orientation
bind = $supMod, i, layoutmsg, addmaster # add window to master area
bind = $supMod, d, layoutmsg, removemaster # remove window to master area
bind = $supMod_$conMod, RETURN, layoutmsg, swapwithmaster # swap window with master
bindm = $supMod, mouse:272, movewindow # window movement with mouse
bindm = $supMod, mouse:273, resizewindow # window resizing with mouse
# group binds
bind = $supMod, g, togglegroup
bind = $supMod_$altMod, g, moveoutofgroup, active
bind = $supMod_$conMod, g, lockactivegroup
bind = $supMod_$conMod, h, movegroupwindow, b
bind = $supMod_$conMod, l, movegroupwindow
bind = $supMod_$conMod, k, changegroupactive, b
bind = $supMod_$conMod, j, changegroupactive, f
bind = $supMod_$altMod, l, moveintogroup, r
bind = $supMod_$altMod, h, moveintogroup, l
bind = $supMod_$altMod, k, moveintogroup, u
bind = $supMod_$altMod, j, moveintogroup, d
# resize submap
bind = $supMod, r, submap, resize
submap = resize # will start a submap called "resize"
## sets repeatable binds for resizing the active window
binde = , right, resizeactive, 30 0
binde = , left, resizeactive, -30 0
binde = , up, resizeactive, 0 -30
binde = , down, resizeactive, 0 30
binde = , l, resizeactive, 30 0
binde = , h, resizeactive, -30 0
binde = , k, resizeactive, 0 -30
binde = , j, resizeactive, 0 30
## use reset to go back to the global submap
bind = , escape, submap, reset
## will reset the submap, which will return to the global submap
submap = reset
# workspaces binds
bind = $supMod, 1, focusworkspaceoncurrentmonitor, 1 # switch to workspace 1
bind = $supMod, 2, focusworkspaceoncurrentmonitor, 2 # switch to workspace 2
bind = $supMod, 3, focusworkspaceoncurrentmonitor, 3 # switch to workspace 3
bind = $supMod, 4, focusworkspaceoncurrentmonitor, 4 # switch to workspace 4
bind = $supMod, 5, focusworkspaceoncurrentmonitor, 5 # switch to workspace 5
bind = $supMod, 6, focusworkspaceoncurrentmonitor, 6 # switch to workspace 6
bind = $supMod, 7, focusworkspaceoncurrentmonitor, 7 # switch to workspace 7
bind = $supMod, 8, focusworkspaceoncurrentmonitor, 8 # switch to workspace 8
bind = $supMod, 9, focusworkspaceoncurrentmonitor, 9 # switch to workspace 9
bind = $supMod, 0, focusworkspaceoncurrentmonitor, 10 # switch to workspace 10
bind = $supMod_SHIFT, 1, movetoworkspace, 1 # move active window to workspace 1
bind = $supMod_SHIFT, 2, movetoworkspace, 2 # move active window to workspace 2
bind = $supMod_SHIFT, 3, movetoworkspace, 3 # move active window to workspace 3
bind = $supMod_SHIFT, 4, movetoworkspace, 4 # move active window to workspace 4
bind = $supMod_SHIFT, 5, movetoworkspace, 5 # move active window to workspace 5
bind = $supMod_SHIFT, 6, movetoworkspace, 6 # move active window to workspace 6
bind = $supMod_SHIFT, 7, movetoworkspace, 7 # move active window to workspace 7
bind = $supMod_SHIFT, 8, movetoworkspace, 8 # move active window to workspace 8
bind = $supMod_SHIFT, 9, movetoworkspace, 9 # move active window to workspace 9
bind = $supMod_SHIFT, 0, movetoworkspace, 10 # move active window to workspace 10
bind = $supMod, mouse_down, workspace, e+1 # move to next workspace with mouse wheel
bind = $supMod, mouse_up, workspace, e-1 # move to previous workspace with mouse wheel
bind = $supMod, Right, workspace, e+1 # move to next workspace with right cursor key
bind = $supMod, Left, workspace, e-1 # move to previous workspace with left cursor key
bind = $supMod_SHIFT, Right, movetoworkspace, e+1 # move active window to next workspace with right cursor key
bind = $supMod_SHIFT, Left, movetoworkspace, e-1 # move active window to previous workspace with left cursor key
# scratchpads binds, this looks fkng horrible but it works
# stupidly I need to memorize where I left my windows...
bind = $supMod_$conMod, 1, togglespecialworkspace, magic1
bind = $supMod_$conMod, 1, movetoworkspace, +0
bind = $supMod_$conMod, 1, togglespecialworkspace, magic1
bind = $supMod_$conMod, 1, movetoworkspace, special:magic1
bind = $supMod_$conMod, 1, togglespecialworkspace, magic1
bind = $supMod_$conMod, 2, togglespecialworkspace, magic2
bind = $supMod_$conMod, 2, movetoworkspace, +0
bind = $supMod_$conMod, 2, togglespecialworkspace, magic2
bind = $supMod_$conMod, 2, movetoworkspace, special:magic2
bind = $supMod_$conMod, 2, togglespecialworkspace, magic2
bind = $supMod_$conMod, 3, togglespecialworkspace, magic3
bind = $supMod_$conMod, 3, movetoworkspace, +0
bind = $supMod_$conMod, 3, togglespecialworkspace, magic3
bind = $supMod_$conMod, 3, movetoworkspace, special:magic3
bind = $supMod_$conMod, 3, togglespecialworkspace, magic3
bind = $supMod_$conMod, 4, togglespecialworkspace, magic4
bind = $supMod_$conMod, 4, movetoworkspace, +0
bind = $supMod_$conMod, 4, togglespecialworkspace, magic4
bind = $supMod_$conMod, 4, movetoworkspace, special:magic4
bind = $supMod_$conMod, 4, togglespecialworkspace, magic4
bind = $supMod_$conMod, 5, togglespecialworkspace, magic5
bind = $supMod_$conMod, 5, movetoworkspace, +0
bind = $supMod_$conMod, 5, togglespecialworkspace, magic5
bind = $supMod_$conMod, 5, movetoworkspace, special:magic5
bind = $supMod_$conMod, 5, togglespecialworkspace, magic5
bind = $supMod_$conMod, 6, togglespecialworkspace, magic6
bind = $supMod_$conMod, 6, movetoworkspace, +0
bind = $supMod_$conMod, 6, togglespecialworkspace, magic6
bind = $supMod_$conMod, 6, movetoworkspace, special:magic6
bind = $supMod_$conMod, 6, togglespecialworkspace, magic6
bind = $supMod_$conMod, 7, togglespecialworkspace, magic7
bind = $supMod_$conMod, 7, movetoworkspace, +0
bind = $supMod_$conMod, 7, togglespecialworkspace, magic7
bind = $supMod_$conMod, 7, movetoworkspace, special:magic7
bind = $supMod_$conMod, 7, togglespecialworkspace, magic7
bind = $supMod_$conMod, 8, togglespecialworkspace, magic8
bind = $supMod_$conMod, 8, movetoworkspace, +0
bind = $supMod_$conMod, 8, togglespecialworkspace, magic8
bind = $supMod_$conMod, 8, movetoworkspace, special:magic8
bind = $supMod_$conMod, 8, togglespecialworkspace, magic8
bind = $supMod_$conMod, 9, togglespecialworkspace, magic9
bind = $supMod_$conMod, 9, movetoworkspace, +0
bind = $supMod_$conMod, 9, togglespecialworkspace, magic9
bind = $supMod_$conMod, 9, movetoworkspace, special:magic9
bind = $supMod_$conMod, 9, togglespecialworkspace, magic9
bind = $supMod_$conMod, 0, togglespecialworkspace, magic10
bind = $supMod_$conMod, 0, movetoworkspace, +0
bind = $supMod_$conMod, 0, togglespecialworkspace, magic10
bind = $supMod_$conMod, 0, movetoworkspace, special:magic10
bind = $supMod_$conMod, 0, togglespecialworkspace, magic10
# common binds
bindl=, XF86AudioRaiseVolume, exec, pamixer -i 5 # increase volume by 5%
bindl=, XF86AudioLowerVolume, exec, pamixer -d 5 # decrease volumy by 5%
bindl=, XF86AudioMute, exec, pamixer -t # toggle mute
bindl=, XF86AudioMicMute, exec, pamixer --default-source -t # toggle mic mute
bindl=, XF86AudioPause, exec, playerctl play-pause # play-pause toggle
bindl=, XF86AudioPlay, exec, playerctl play-pause # play-pause toggle
bindl=, XF86AudioNext, exec, playerctl next # switch to next media
bindl=, XF86AudioPrev, exec, playerctl previous # switch to previous media
bindl=, XF86AudioStop, exec, playerctl stop # stop media playback
bindl=, XF86News, exec, kitty --class newsboat newsboat # launch news feed reader
bindl=, XF86MonBrightnessUp, exec, brightnessctl s 5%+ # increase brightness by 5%
bindl=, XF86MonBrightnessDown, exec, brightnessctl s 5%- # decrease brightness by 5%
bindl=, XF86Display, exec, wdisplays # launch display configuration utility
binde = $supMod_$conMod_SHIFT, p, exec, hyprpicker -n -a # launch color picker
# run launcher submap
bind = $supMod, p, submap, launcher
submap = launcher # will start a submap called "launcher"
## run launcher binds
binde = , r, exec, $run # launch desktop run launcher
binde = , r, submap, reset
binde = , d, exec, $drun # launch desktop run launcher
binde = , d, submap, reset
binde = , i, exec, $rs_wifi # launch wifi configuration utility
binde = , i, submap, reset
binde = , w, exec, $rs_wall # launch wallpaper configur
binde = , w, submap, reset
binde = , e, exec, $rs_emoji # launch emoji picker
binde = , e, submap, reset
binde = , c, exec, $rs_clip # launch clipboard manager
binde = , c, submap, reset
binde = , s, exec, $rs_scrot # launch screenshot utility
binde = , s, submap, reset
binde = , q, exec, $rs_power # launch logout/power menu
binde = , q, submap, reset
binde = , b, exec, $rs_blue # launch bluetooth configuration utility
binde = , b, submap, reset
## use reset to go back to the global submap
bind = , escape, submap, reset
## will reset the submap, which will return to the global submap
submap = reset
# app submap
bind = $supMod, a, submap, apps
submap = apps # will start a submap called "apps"
## app binds
binde = SHIFT, y, exec, $ytfzf # launch youtube player
binde = SHIFT, y, submap, reset
binde = SHIFT, m, exec, $ytfzf-music # launch youtube music player
binde = SHIFT, m, submap, reset
binde = SHIFT, f, exec, $flix-cli # launch torrent movie player
binde = SHIFT, f, submap, reset
binde = SHIFT, a, exec, $ani-cli # launch anime player
binde = SHIFT, a, submap, reset
binde = SHIFT, b, exec, $monitor # launch resource monitor
binde = SHIFT, b, submap, reset
binde = SHIFT, h, exec, $hmonitor # launch resource monitor
binde = SHIFT, h, submap, reset
binde = SHIFT, p, exec, $audiomixer # launch audio mixer
binde = SHIFT, p, submap, reset
binde = , f, exec, $file # launch file manager
binde = , f, submap, reset
binde = , e, exec, $editor # launch text editor
binde = , e, submap, reset
binde = , m, exec, $music # launch music player
binde = , m, submap, reset
binde = , r, exec, $rss # launch rss feed reader
binde = , r, submap, reset
binde = , w, exec, $browser # launch web browser
binde = , w, submap, reset
binde = , c, exec, $chat # launch chat app
binde = , c, submap, reset
binde = , p, exec, $password # launch password manager
binde = , p, submap, reset
binde = , n, exec, $notes # launch note taking app
binde = , n, submap, reset
binde = , o, exec, $office # launch office suite
binde = , o, submap, reset
## use reset to go back to the global submap
bind = , escape, submap, reset
## will reset the submap, which will return to the global submap
submap = reset