forked from Shinonome/dots-hyprland
220 lines
14 KiB
Plaintext
220 lines
14 KiB
Plaintext
# Lines ending with `# [hidden]` won't be shown on cheatsheet
|
|
# Lines starting with #! are section headings
|
|
|
|
bindl = Alt ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
|
bindl = Super ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle # [hidden]
|
|
bindl = ,XF86AudioMute, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
|
|
bindl = Super+Shift,M, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 0% # [hidden]
|
|
bindle=, XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ # [hidden]
|
|
bindle=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- # [hidden]
|
|
|
|
# Uncomment these if you can't get AGS to work
|
|
#bindle=, XF86MonBrightnessUp, exec, brightnessctl set '12.75+'
|
|
#bindle=, XF86MonBrightnessDown, exec, brightnessctl set '12.75-'
|
|
|
|
#!
|
|
##! Essentials for beginners
|
|
|
|
bind = Super, T, exec, foot # Launch foot (terminal)
|
|
bind = Super, Return, exec, foot # [hidden] # In case you're from i3 or its Wayland clone
|
|
bind = , Super, exec, true # Open app launcher
|
|
bind = Ctrl+Super, T, exec, ~/.config/ags/scripts/color_generation/switchwall.sh # Change wallpaper
|
|
##! Actions
|
|
# Screenshot, Record, OCR, Color picker, Clipboard history
|
|
bind = Super, V, exec, pkill fuzzel || cliphist list | fuzzel --match-mode fzf --dmenu | cliphist decode | wl-copy # Clipboard history >> clipboard
|
|
bind = Super, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji # Pick emoji >> clipboard
|
|
bind = Ctrl+Shift+Alt, Delete, exec, pkill wlogout || wlogout -p layer-shell # [hidden]
|
|
bind = Super+Shift, S, exec, ~/.config/ags/scripts/grimblast.sh --freeze copy area # Screen snip
|
|
bind = Super+Shift+Alt, S, exec, grim -g "$(slurp)" - | swappy -f - # Screen snip >> edit
|
|
# OCR
|
|
bind = Super+Shift,T,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract -l eng "tmp.png" - | wl-copy && rm "tmp.png" # Screen snip to text >> clipboard
|
|
bind = Ctrl+Super+Shift,S,exec,grim -g "$(slurp $SLURP_ARGS)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png" # [hidden]
|
|
# Color picker
|
|
bind = Super+Shift, C, exec, hyprpicker -a # Pick color (Hex) >> clipboard
|
|
# Fullscreen screenshot
|
|
bindl=,Print,exec,grim - | wl-copy # Screenshot >> clipboard
|
|
bindl= Ctrl,Print, exec, mkdir -p ~/Pictures/Screenshots && ~/.config/ags/scripts/grimblast.sh copysave screen ~/Pictures/Screenshots/Screenshot_"$(date '+%Y-%m-%d_%H.%M.%S')".png # Screenshot >> clipboard & file
|
|
# AI
|
|
bind = Super+Shift+Alt, mouse:273, exec, ~/.config/ags/scripts/ai/primary-buffer-query.sh # Provide AI response for selected text
|
|
|
|
# Recording stuff
|
|
bind = Super+Alt, R, exec, ~/.config/ags/scripts/record-script.sh # Record region (no sound)
|
|
bind = Ctrl+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen # [hidden] Record screen (no sound)
|
|
bind = Super+Shift+Alt, R, exec, ~/.config/ags/scripts/record-script.sh --fullscreen-sound # Record screen (with sound)
|
|
##! Session
|
|
bind = Ctrl+Super, L, exec, agsv1 run-js 'lock.lock()' # [hidden]
|
|
bind = Super, L, exec, loginctl lock-session # Lock
|
|
bind = Super+Shift, L, exec, loginctl lock-session # [hidden]
|
|
bindl = Super+Shift, L, exec, sleep 0.1 && systemctl suspend || loginctl suspend # Suspend system
|
|
bind = Ctrl+Shift+Alt+Super, Delete, exec, systemctl poweroff || loginctl poweroff # [hidden] Power off
|
|
|
|
#!
|
|
##! Window management
|
|
# Focusing
|
|
#/# bind = Super, ←/↑/→/↓,, # Move focus in direction
|
|
bind = Super, Left, movefocus, l # [hidden]
|
|
bind = Super, Right, movefocus, r # [hidden]
|
|
bind = Super, Up, movefocus, u # [hidden]
|
|
bind = Super, Down, movefocus, d # [hidden]
|
|
bind = Super, BracketLeft, movefocus, l # [hidden]
|
|
bind = Super, BracketRight, movefocus, r # [hidden]
|
|
bindm = Super, mouse:272, movewindow
|
|
bindm = Super, mouse:274, movewindow
|
|
bindm = Super, mouse:273, resizewindow
|
|
bind = Super, Q, killactive,
|
|
bind = Super+Shift+Alt, Q, exec, hyprctl kill # Pick and kill a window
|
|
##! Window arrangement
|
|
#/# bind = Super+Shift, ←/↑/→/↓,, # Window: move in direction
|
|
bind = Super+Shift, Left, movewindow, l # [hidden]
|
|
bind = Super+Shift, Right, movewindow, r # [hidden]
|
|
bind = Super+Shift, Up, movewindow, u # [hidden]
|
|
bind = Super+Shift, Down, movewindow, d # [hidden]
|
|
# Window split ratio
|
|
#/# binde = Super, +/-,, # Window: split ratio +/- 0.1
|
|
binde = Super, Minus, splitratio, -0.1 # [hidden]
|
|
binde = Super, Equal, splitratio, +0.1 # [hidden]
|
|
binde = Super, Semicolon, splitratio, -0.1 # [hidden]
|
|
binde = Super, Apostrophe, splitratio, +0.1 # [hidden]
|
|
# Positioning mode
|
|
bind = Super+Alt, Space, togglefloating,
|
|
bind = Super+Alt, F, fullscreenstate, 0 3 # Toggle fake fullscreen
|
|
bind = Super, F, fullscreen, 0
|
|
bind = Super, D, fullscreen, 1
|
|
|
|
#!
|
|
##! Workspace navigation
|
|
# Switching
|
|
#/# bind = Super, Hash,, # Focus workspace # (1, 2, 3, 4, ...)
|
|
bind = Super, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 1 # [hidden]
|
|
bind = Super, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 2 # [hidden]
|
|
bind = Super, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 3 # [hidden]
|
|
bind = Super, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 4 # [hidden]
|
|
bind = Super, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 5 # [hidden]
|
|
bind = Super, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 6 # [hidden]
|
|
bind = Super, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 7 # [hidden]
|
|
bind = Super, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 8 # [hidden]
|
|
bind = Super, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 9 # [hidden]
|
|
bind = Super, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh workspace 10 # [hidden]
|
|
|
|
#/# bind = Super, Scroll ↑/↓,, # Workspace: focus left/right
|
|
bind = Super, mouse_up, workspace, +1 # [hidden]
|
|
bind = Super, mouse_down, workspace, -1 # [hidden]
|
|
bind = Ctrl+Super, mouse_up, workspace, r+1 # [hidden]
|
|
bind = Ctrl+Super, mouse_down, workspace, r-1 # [hidden]
|
|
#/# bind = Ctrl+Super, ←/→,, # Workspace: focus left/right
|
|
bind = Ctrl+Super, Right, workspace, r+1 # [hidden]
|
|
bind = Ctrl+Super, Left, workspace, r-1 # [hidden]
|
|
#/# bind = Ctrl+Super+Alt, ←/→,, # Workspace: focus non-empty left/right
|
|
bind = Ctrl+Super+Alt, Right, workspace, m+1 # [hidden]
|
|
bind = Ctrl+Super+Alt, Left, workspace, m-1 # [hidden]
|
|
#/# bind = Super, Page_↑/↓,, # Workspace: focus left/right
|
|
bind = Super, Page_Down, workspace, +1 # [hidden]
|
|
bind = Super, Page_Up, workspace, -1 # [hidden]
|
|
bind = Ctrl+Super, Page_Down, workspace, r+1 # [hidden]
|
|
bind = Ctrl+Super, Page_Up, workspace, r-1 # [hidden]
|
|
## Special
|
|
bind = Super, S, togglespecialworkspace,
|
|
bind = Super, mouse:275, togglespecialworkspace,
|
|
|
|
##! Workspace management
|
|
# Move window to workspace Super + Alt + [0-9]
|
|
#/# bind = Super+Alt, Hash,, # Window: move to workspace # (1, 2, 3, 4, ...)
|
|
bind = Super+Alt, 1, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 1 # [hidden]
|
|
bind = Super+Alt, 2, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 2 # [hidden]
|
|
bind = Super+Alt, 3, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 3 # [hidden]
|
|
bind = Super+Alt, 4, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 4 # [hidden]
|
|
bind = Super+Alt, 5, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 5 # [hidden]
|
|
bind = Super+Alt, 6, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 6 # [hidden]
|
|
bind = Super+Alt, 7, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 7 # [hidden]
|
|
bind = Super+Alt, 8, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 8 # [hidden]
|
|
bind = Super+Alt, 9, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 9 # [hidden]
|
|
bind = Super+Alt, 0, exec, ~/.config/ags/scripts/hyprland/workspace_action.sh movetoworkspacesilent 10 # [hidden]
|
|
|
|
bind = Ctrl+Super+Shift, Up, movetoworkspacesilent, special # [hidden]
|
|
|
|
bind = Ctrl+Super+Shift, Right, movetoworkspace, r+1 # [hidden]
|
|
bind = Ctrl+Super+Shift, Left, movetoworkspace, r-1 # [hidden]
|
|
bind = Ctrl+Super, BracketLeft, workspace, -1 # [hidden]
|
|
bind = Ctrl+Super, BracketRight, workspace, +1 # [hidden]
|
|
bind = Ctrl+Super, Up, workspace, r-5 # [hidden]
|
|
bind = Ctrl+Super, Down, workspace, r+5 # [hidden]
|
|
#/# bind = Super+Shift, Scroll ↑/↓,, # Window: move to workspace left/right
|
|
bind = Super+Shift, mouse_down, movetoworkspace, r-1 # [hidden]
|
|
bind = Super+Shift, mouse_up, movetoworkspace, r+1 # [hidden]
|
|
bind = Super+Alt, mouse_down, movetoworkspace, -1 # [hidden]
|
|
bind = Super+Alt, mouse_up, movetoworkspace, +1 # [hidden]
|
|
#/# bind = Super+Shift, Page_↑/↓,, # Window: move to workspace left/right
|
|
bind = Super+Alt, Page_Down, movetoworkspace, +1 # [hidden]
|
|
bind = Super+Alt, Page_Up, movetoworkspace, -1 # [hidden]
|
|
bind = Super+Shift, Page_Down, movetoworkspace, r+1 # [hidden]
|
|
bind = Super+Shift, Page_Up, movetoworkspace, r-1 # [hidden]
|
|
bind = Super+Alt, S, movetoworkspacesilent, special
|
|
bind = Super, P, pin
|
|
|
|
bind = Ctrl+Super, S, togglespecialworkspace, # [hidden]
|
|
bind = Alt, Tab, cyclenext # [hidden] sus keybind
|
|
bind = Alt, Tab, bringactivetotop, # [hidden] bring it to the top
|
|
|
|
#!
|
|
##! Widgets
|
|
bindr = Ctrl+Super, R, exec, killall ags agsv1 gjs ydotool; agsv1 & # Restart widgets
|
|
bindr = Ctrl+Super+Alt, R, exec, hyprctl reload; killall agsv1 ydotool; agsv1 & # [hidden]
|
|
bind = Ctrl+Alt, Slash, exec, agsv1 run-js 'cycleMode();' # Cycle bar mode (normal, focus)
|
|
bindir = Super, Super_L, exec, agsv1 -t 'overview' # Toggle overview/launcher
|
|
bind = Super, Tab, exec, agsv1 -t 'overview' # [hidden]
|
|
bind = Super, Slash, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do agsv1 -t "cheatsheet""$i"; done # Show cheatsheet
|
|
bind = Super, B, exec, agsv1 -t 'sideleft' # Toggle left sidebar
|
|
bind = Super, A, exec, qs ipc call sidebarLeft toggle || agsv1 -t 'sideleft' # [hidden]
|
|
bind = Super, O, exec, qs ipc call sidebarLeft toggle || agsv1 -t 'sideleft' # [hidden]
|
|
bind = Super, N, exec, qs ipc call sidebarRight toggle || agsv1 -t 'sideright' # Toggle right sidebar
|
|
bind = Super, M, exec, agsv1 run-js 'openMusicControls.value = (!mpris.getPlayer() ? false : !openMusicControls.value);' # Toggle music controls
|
|
bind = Super, Comma, exec, agsv1 run-js 'openColorScheme.value = true; Utils.timeout(2000, () => openColorScheme.value = false);' # View color scheme and options
|
|
bind = Super, K, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do agsv1 -t "osk""$i"; done # Toggle on-screen keyboard
|
|
bind = Ctrl+Alt, Delete, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do agsv1 -t "session""$i"; done # Toggle power menu
|
|
bind = Ctrl+Super, G, exec, for ((i=0; i<$(hyprctl monitors -j | jq length); i++)); do agsv1 -t "crosshair""$i"; done # Toggle crosshair
|
|
bindle=, XF86MonBrightnessUp, exec, agsv1 run-js 'brightness.screen_value += 0.05; indicator.popup(1);' # [hidden]
|
|
bindle=, XF86MonBrightnessDown, exec, agsv1 run-js 'brightness.screen_value -= 0.05; indicator.popup(1);' # [hidden]
|
|
bindl = , XF86AudioMute, exec, agsv1 run-js 'indicator.popup(1);' # [hidden]
|
|
bindl = Super+Shift,M, exec, agsv1 run-js 'indicator.popup(1);' # [hidden]
|
|
|
|
# Testing
|
|
bind = Super+Alt, f12, exec, bash -c 'ACTION=$(notify-send "Test notification" "The quick shill fox jumps over the crazy dog. Anyway, this notification should contain your profile image (like on the login screen) (can be created with GNOME Control center)" -p -h "string:image-path:/var/lib/AccountsService/icons/$USER" -t 3000 -i "discord" -A "openImage=Open Image" -A "action2=Intentionally useless button" -A "action3=yes its intentional"); [[ $ACTION == *openImage ]] && xdg-open "/var/lib/AccountsService/icons/$USER"' # [hidden]
|
|
bind = Super+Alt, Equal, exec, notify-send "Urgent notification" "Ah hell no" -u critical -a 'Hyprland keybind' # [hidden]
|
|
|
|
##! Media
|
|
bindl= Super+Shift, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # Next track
|
|
bindl= ,XF86AudioNext, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
|
|
bindl= ,XF86AudioPrev, exec, playerctl previous # [hidden]
|
|
bindel = Super+Shift, Comma, exec, ~/.config/ags/scripts/music/adjust-volume.sh -0.03 # Raise music volume
|
|
bindel = Super+Shift, Period, exec, ~/.config/ags/scripts/music/adjust-volume.sh 0.03 # Lower music volume
|
|
bind = Super+Shift+Alt, mouse:275, exec, playerctl previous # [hidden]
|
|
bind = Super+Shift+Alt, mouse:276, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"` # [hidden]
|
|
bindl= Super+Shift, B, exec, playerctl previous # Previous track
|
|
bindl= Super+Shift, P, exec, playerctl play-pause # Play/pause media
|
|
bindl= ,XF86AudioPlay, exec, playerctl play-pause # [hidden]
|
|
bindl= ,XF86AudioPause, exec, playerctl play-pause # [hidden]
|
|
|
|
#!
|
|
##! Apps
|
|
bind = Super, T, exec, # Launch foot (terminal)
|
|
bind = Super, Z, exec, Zed # Launch Zed (editor)
|
|
bind = Super, C, exec, code # Launch VSCode (editor)
|
|
bind = Super, E, exec, nautilus --new-window # Launch Nautilus (file manager)
|
|
bind = Super+Alt, E, exec, thunar # [hidden]
|
|
bind = Super, W, exec, google-chrome-stable || firefox # [hidden] Let's not give people (more) reason to shit on my rice
|
|
bind = Ctrl+Super, W, exec, firefox # Launch Firefox (browser)
|
|
bind = Super, X, exec, gnome-text-editor --new-window # Launch GNOME Text Editor
|
|
bind = Super+Shift, W, exec, wps # Launch WPS Office
|
|
bind = Super, I, exec, XDG_CURRENT_DESKTOP="gnome" gnome-control-center # Launch GNOME Settings
|
|
bind = Ctrl+Super, V, exec, pavucontrol # Launch pavucontrol (volume mixer)
|
|
bind = Ctrl+Super+Shift, V, exec, easyeffects # Launch EasyEffects (equalizer & other audio effects)
|
|
bind = Ctrl+Shift, Escape, exec, gnome-system-monitor # Launch GNOME System monitor
|
|
bind = Ctrl+Super, Slash, exec, pkill anyrun || anyrun # Toggle fallback launcher: anyrun
|
|
bind = Super+Alt, Slash, exec, pkill fuzzel || fuzzel # Toggle fallback launcher: fuzzel
|
|
|
|
# Cursed stuff
|
|
## Make window not amogus large
|
|
bind = Ctrl+Super, Backslash, resizeactive, exact 640 480 # [hidden]
|
|
|
|
|