190 lines
9.4 KiB
Plaintext
190 lines
9.4 KiB
Plaintext
|
|
# █▄▀ █▀▀ █▄█ █▄▄ █ █▄░█ █▀▄ █ █▄░█ █▀▀ █▀
|
|
# █░█ ██▄ ░█░ █▄█ █ █░▀█ █▄▀ █ █░▀█ █▄█ ▄█
|
|
|
|
# See https://wiki.hyprland.org/Configuring/Keywords/
|
|
# & https://wiki.hyprland.org/Configuring/Binds/
|
|
|
|
# Main modifier
|
|
$mainMod = Super # super / meta / windows key
|
|
|
|
# Assign apps
|
|
$term = kitty # fish alacritty
|
|
$editor = neovide
|
|
$file = dolphin
|
|
$browser = librewolf
|
|
$yt = freetube
|
|
$notes = obsidian
|
|
|
|
|
|
# Window/Session actions
|
|
bind = $mainMod, Q, exec, $scrPath/dontkillsteam.sh # close focused window
|
|
bind = Alt, F4, exec, $scrPath/dontkillsteam.sh # close focused window
|
|
bind = $mainMod, Delete, exit, # kill hyprland session
|
|
bind = $mainMod, W, togglefloating, # toggle the window between focus and float
|
|
bind = $mainMod, G, togglegroup, # toggle the window between focus and group
|
|
bind = Alt, Return, fullscreen, # toggle the window between focus and fullscreen
|
|
bind = $mainMod, L, exec, swaylock --timestr %H:%M # launch lock screen
|
|
bind = Ctrl+Alt, W, exec, killall waybar || waybar # toggle waybar
|
|
# bind = $mainMod+Shift, F, exec, $scrPath/windowpin.sh # toggle pin on focused window
|
|
# bind = $mainMod, Backspace, exec, $scrPath/logoutlaunch.sh # launch logout menu
|
|
|
|
# Application shortcuts
|
|
bind = Ctrl+Shift+Alt, T, exec, st # launch tilix terminal emulator - using for ssh
|
|
bind = Ctrl+Alt, T, exec, $term # launch terminal emulator
|
|
bind = $mainMod, T, exec, $term # launch terminal emulator
|
|
bind = $mainMod+Ctrl, T, exec, tilix # launch tilix terminal emulator
|
|
bind = $mainMod, E, exec, $file # launch file manager
|
|
bind = $mainMod, C, exec, $editor # launch text editor
|
|
bind = $mainMod, F, exec, $yt # launch yt alternative
|
|
bind = $mainMod, B, exec, $browser # launch web browser
|
|
bind = $mainMod, M, exec, $notes # launch notes app
|
|
bind = $mainMod, G, exec, gajim # launch messanger
|
|
bind = $mainMod, K, exec, keepassxc # launch password manager
|
|
bind = Ctrl+Shift, Escape, exec, $scrPath/sysmonlaunch.sh # launch system monitor (htop/btop or fallback to top)
|
|
# bind = $mainMod+Shift, B, exec, $browser, title: ^(LibreWolf Private Browsing)$ # launch private web browser
|
|
|
|
# Rofi menus
|
|
bind = $mainMod, A, exec, pkill -x rofi || $scrPath/rofilaunch.sh d # launch application launcher
|
|
bind = $mainMod, Tab, exec, pkill -x rofi || $scrPath/rofilaunch.sh w # launch window switcher
|
|
bind = $mainMod+Shift, E, exec, pkill -x rofi || $scrPath/rofilaunch.sh f # launch file explorer
|
|
|
|
# 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
|
|
|
|
# Media control
|
|
bindl = , XF86AudioPlay, exec, playerctl play-pause # toggle between media play and pause
|
|
bindl = , XF86AudioPause, exec, playerctl play-pause # toggle between media play and pause
|
|
bindl = , XF86AudioNext, exec, playerctl next # media next
|
|
bindl = , XF86AudioPrev, exec, playerctl previous # media previous
|
|
|
|
# Brightness control
|
|
bindel = , XF86MonBrightnessUp, exec, $scrPath/brightnesscontrol.sh i # increase brightness
|
|
bindel = , XF86MonBrightnessDown, exec, $scrPath/brightnesscontrol.sh d # decrease brightness
|
|
|
|
# Move between grouped windows
|
|
# bind = $mainMod CTRL , H, changegroupactive, b
|
|
# bind = $mainMod CTRL , L, changegroupactive, f
|
|
|
|
# Screenshot/Screencapture
|
|
bind = $mainMod, P, exec, $scrPath/screenshot.sh s # partial screenshot capture
|
|
bind = $mainMod+Ctrl, P, exec, $scrPath/screenshot.sh sf # partial screenshot capture (frozen screen)
|
|
bind = $mainMod+Alt, P, exec, $scrPath/screenshot.sh m # monitor screenshot capture
|
|
bind = , Print, exec, $scrPath/screenshot.sh p # all monitors screenshot capture
|
|
|
|
# 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, R, exec, pkill -x rofi || $scrPath/wallbashtoggle.sh -m # launch wallbash mode select menu
|
|
bind = $mainMod+Shift, T, exec, pkill -x rofi || $scrPath/themeselect.sh # launch theme select menu
|
|
bind = $mainMod+Shift, A, exec, pkill -x rofi || $scrPath/rofiselect.sh # launch select menu
|
|
bind = $mainMod+Shift, W, exec, pkill -x rofi || $scrPath/swwwallselect.sh # launch wallpaper select menu
|
|
bind = $mainMod, V, exec, pkill -x rofi || $scrPath/cliphist.sh c # launch clipboard
|
|
bind = $mainMod, K, exec, $scrPath/keyboardswitch.sh # switch keyboard layout
|
|
bind = $mainMod, slash, exec, pkill -x rofi || $scrPath/keybinds_hint.sh c # launch keybinds hint
|
|
|
|
# Move/Change window focus
|
|
bind = $mainMod, Left, movefocus, l
|
|
bind = $mainMod, Right, movefocus, r
|
|
bind = $mainMod, Up, movefocus, u
|
|
bind = $mainMod, Down, movefocus, d
|
|
bind = $mainMod+Shift, h, movefocus, l
|
|
bind = $mainMod+Shift, l, movefocus, r
|
|
bind = $mainMod+Shift, k, movefocus, u
|
|
bind = $mainMod+Shift, j, movefocus, d
|
|
bind = Alt, Tab, movefocus, d
|
|
|
|
# Switch workspaces with mod + [0-9]
|
|
bind = $mainMod, 1, workspace, r~1
|
|
bind = $mainMod, 2, workspace, r~2
|
|
bind = $mainMod, 3, workspace, r~3
|
|
bind = $mainMod, 4, workspace, r~4
|
|
bind = $mainMod, 5, workspace, r~5
|
|
bind = $mainMod, 6, workspace, r~6
|
|
bind = $mainMod, 7, workspace, r~7
|
|
bind = $mainMod, 8, workspace, r~8
|
|
bind = $mainMod, 9, workspace, r~9
|
|
bind = $mainMod, 0, workspace, r~10
|
|
|
|
# Move focused window to a workspace
|
|
bind = $mainMod+Ctrl, 1, movetoworkspace, r~1
|
|
bind = $mainMod+Ctrl, 2, movetoworkspace, r~2
|
|
bind = $mainMod+Ctrl, 3, movetoworkspace, r~3
|
|
bind = $mainMod+Ctrl, 4, movetoworkspace, r~4
|
|
bind = $mainMod+Ctrl, 5, movetoworkspace, r~5
|
|
bind = $mainMod+Ctrl, 6, movetoworkspace, r~6
|
|
bind = $mainMod+Ctrl, 7, movetoworkspace, r~7
|
|
bind = $mainMod+Ctrl, 8, movetoworkspace, r~8
|
|
bind = $mainMod+Ctrl, 9, movetoworkspace, r~9
|
|
bind = $mainMod+Ctrl, 0, movetoworkspace, r~10
|
|
|
|
# Move focused window to a workspace silently
|
|
bind = $mainMod+Alt, 1, movetoworkspacesilent, r~1
|
|
bind = $mainMod+Alt, 2, movetoworkspacesilent, r~2
|
|
bind = $mainMod+Alt, 3, movetoworkspacesilent, r~3
|
|
bind = $mainMod+Alt, 4, movetoworkspacesilent, r~4
|
|
bind = $mainMod+Alt, 5, movetoworkspacesilent, r~5
|
|
bind = $mainMod+Alt, 6, movetoworkspacesilent, r~6
|
|
bind = $mainMod+Alt, 7, movetoworkspacesilent, r~7
|
|
bind = $mainMod+Alt, 8, movetoworkspacesilent, r~8
|
|
bind = $mainMod+Alt, 9, movetoworkspacesilent, r~9
|
|
bind = $mainMod+Alt, 0, movetoworkspacesilent, r~10
|
|
|
|
# Move/Switch to special workspace (scratchpad)
|
|
bind = $mainMod+Alt, S, movetoworkspacesilent, special
|
|
bind = $mainMod, S, togglespecialworkspace,
|
|
|
|
# Toggle focused window split
|
|
bind = $mainMod, J, togglesplit
|
|
|
|
# Switch workspaces to a relative workspace
|
|
bind = $mainMod+Ctrl, right, workspace, r+1
|
|
bind = $mainMod+Ctrl, left, workspace, r-1
|
|
bind = $mainMod+Ctrl, l, workspace, r+1
|
|
bind = $mainMod+Ctrl, h, workspace, r-1
|
|
bind = $mainMod+Ctrl, Down, workspace, empty # Move to the first empty workspace
|
|
bind = $mainMod+Ctrl, J, movewindow, mon:eDP-1
|
|
bind = $mainMod+Ctrl, K, movewindow, mon:HDMI-A-1
|
|
|
|
# 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
|
|
|
|
# added that to mimic i3's behavior, where pushing a workspace to another monitor also focuses it
|
|
# bind = $mainMod SHIFT, P, focusmonitor, +1
|
|
# bind = $mainMod SHIFT, P, movecurrentworkspacetomonitor, +1
|
|
|
|
# Move active window around current workspace with mainMod + SHIFT + CTRL [←→↑↓]
|
|
# $moveactivewindow=grep -q "true" <<< $(hyprctl activewindow -j | jq -r .floating) && hyprctl dispatch moveactive
|
|
binded = $mainMod+Shift+Ctrl, left,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
|
|
binded = $mainMod+Shift+Ctrl, right,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
|
|
binded = $mainMod+Shift+Ctrl, up,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
|
|
binded = $mainMod+Shift+Ctrl, down,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
|
|
|
|
binded = $mainMod+Shift+Ctrl, h,Move activewindow to the right,exec, $moveactivewindow -30 0 || hyprctl dispatch movewindow l
|
|
binded = $mainMod+Shift+Ctrl, l,Move activewindow to the right,exec, $moveactivewindow 30 0 || hyprctl dispatch movewindow r
|
|
binded = $mainMod+Shift+Ctrl, k,Move activewindow to the right,exec, $moveactivewindow 0 -30 || hyprctl dispatch movewindow u
|
|
binded = $mainMod+Shift+Ctrl, j,Move activewindow to the right,exec, $moveactivewindow 0 30 || hyprctl dispatch movewindow d
|
|
|
|
# Scroll through existing workspaces
|
|
bind = $mainMod, mouse_down, workspace, e+1
|
|
bind = $mainMod, mouse_up, workspace, e-1
|
|
|
|
# Move/Resize focused window
|
|
bindm = $mainMod, mouse:272, movewindow
|
|
bindm = $mainMod, mouse:273, resizewindow
|
|
bindm = $mainMod, Z, movewindow
|
|
bindm = $mainMod, X, resizewindow
|
|
|