mirror of
https://github.com/celesrenata/end-4-flakes.git
synced 2026-06-05 18:29:26 -05:00
215 lines
9.1 KiB
Plaintext
215 lines
9.1 KiB
Plaintext
# dots-hyprland keybindings adapted for quickshell
|
|
# Based on /home/celes/.config/hypr/custom/keybinds.conf
|
|
|
|
# Key definitions
|
|
$Primary = Super
|
|
$Secondary = Control
|
|
$Tertiary = Shift
|
|
$Alternate = Alt
|
|
$MenuButton = Menu
|
|
|
|
# ################### It just works™ keybinds ###################
|
|
# Volume
|
|
bindl = ,XF86AudioMute, exec, pactl set-sink-mute @DEFAULT_SINK@ toggle
|
|
bindle = , XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
|
|
bindle = , XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
|
|
|
|
# Brightness (adapted for quickshell)
|
|
bindle = , XF86MonBrightnessUp, exec, brightnessctl set '12.75+'
|
|
bindle = , XF86MonBrightnessDown, exec, brightnessctl set '12.75-'
|
|
|
|
# ####################################### Applications ########################################
|
|
# Core applications
|
|
bind = $Primary, Return, exec, foot
|
|
bind = $Primary, E, exec, nautilus
|
|
bind = $Primary, W, exec, firefox
|
|
bind = $Primary, C, exec, code
|
|
|
|
# Music applications
|
|
bind = $Primary$Secondary, M, exec, tidal-hifi
|
|
bind = $Primary$Secondary$Tertiary, M, exec, env -u NIXOS_OZONE_WL cider --use-gl=desktop
|
|
bind = $Primary$Secondary$Alternate, M, exec, spotify
|
|
|
|
# Communication
|
|
bind = $Primary$Secondary, O, exec, vesktop
|
|
|
|
# Terminals
|
|
bind = $Primary$Secondary, H, exec, foot
|
|
bind = $Primary$Secondary$Tertiary, T, exec, foot sleep 0.01 && nmtui
|
|
|
|
# File managers
|
|
bind = $Primary$Secondary, J, exec, thunar
|
|
bind = $Primary$Secondary$Tertiary, J, exec, nautilus
|
|
|
|
# Browsers
|
|
bind = $Primary$Secondary, B, exec, firefox
|
|
bind = $Primary$Secondary$Tertiary, B, exec, chromium
|
|
|
|
# Editors
|
|
bind = $Primary$Secondary, X, exec, subl
|
|
bind = $Primary$Secondary, C, exec, code
|
|
bind = $Primary$Secondary$Tertiary, C, exec, jetbrains-toolbox
|
|
|
|
# Calculator
|
|
bind = $Primary$Secondary, 3, exec, ~/.local/bin/wofi-calc
|
|
bind = ,XF86Calculator, exec, ~/.local/bin/wofi-calc
|
|
|
|
# System settings
|
|
bind = $Primary$Secondary, I, exec, XDG_CURRENT_DESKTOP="gnome" gnome-control-center
|
|
bind = $Primary$Secondary, V, exec, pavucontrol
|
|
bind = $Primary$Tertiary, Home, exec, gnome-system-monitor
|
|
bind = $Primary$Alternate, Insert, exec, foot -F btop
|
|
|
|
# Actions
|
|
bind = $Primary$Secondary, Period, exec, pkill fuzzel || ~/.local/bin/fuzzel-emoji
|
|
bind = $Alternate, F4, killactive,
|
|
bind = $Secondary$Alternate, Space, togglefloating,
|
|
bind = $Secondary$Alternate, Q, exec, hyprctl kill
|
|
bind = $Primary$Tertiary$Alternate, Delete, exec, pkill wlogout || wlogout -p layer-shell
|
|
bind = $Primary$Tertiary$Alternate$Secondary, Delete, exec, systemctl poweroff
|
|
|
|
# Screenshot, Record, OCR, Color picker, Clipboard history
|
|
bind = $Secondary$Tertiary, D, exec, ~/.local/bin/rubyshot | wl-copy
|
|
bindl = ,Print, exec, grim - | wl-copy
|
|
bind = $Secondary$Tertiary, 4, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" - | wl-copy
|
|
bind = $Secondary$Tertiary, 5, exec, ~/.config/ags/scripts/record-script.sh
|
|
bind = $Secondary$Alternate, 5, exec, ~/.config/ags/scripts/record-script.sh --sound
|
|
bind = $Secondary$Tertiary$Alternate, 5, exec, ~/.config/ags/scripts/record-script.sh --fullscreen-sound
|
|
|
|
bind = $Secondary$Alternate, C, exec, hyprpicker -a
|
|
bind = $Primary$Alternate, Space, exec, cliphist list | wofi -Iim --dmenu | cliphist decode | wl-copy && wtype -M ctrl v -M ctrl
|
|
bind = $Secondary$Alternate, V, exec, cliphist list | wofi -Iim --dmenu | cliphist decode | wl-copy && wtype -M ctrl v -M ctrl
|
|
|
|
# Text-to-image OCR
|
|
bind = $Primary$Secondary$Tertiary, S, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract "tmp.png" - | wl-copy && rm "tmp.png"
|
|
bind = $Secondary$Tertiary, T, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract -l eng "tmp.png" - | wl-copy && rm "tmp.png"
|
|
bind = $Secondary$Tertiary, J, exec, grim -g "$(slurp -d -c D1E5F4BB -b 1B232866 -s 00000000)" "tmp.png" && tesseract -l jpn "tmp.png" - | wl-copy && rm "tmp.png"
|
|
|
|
# Media controls
|
|
bind = $Secondary$Tertiary, N, exec, playerctl next || playerctl position `bc <<< "100 * $(playerctl metadata mpris:length) / 1000000 / 100"`
|
|
bindl = , XF86AudioNext, exec, playerctl next
|
|
bindl = , XF86AudioPrev, exec, playerctl previous
|
|
bindl = , XF86AudioPlay, exec, playerctl play-pause
|
|
bind = $Secondary$Tertiary, B, exec, playerctl previous
|
|
bind = $Secondary$Tertiary, P, exec, playerctl play-pause
|
|
|
|
# Lock screen
|
|
bind = $Primary$Secondary, L, exec, hyprlock
|
|
|
|
# App launcher
|
|
bind = $Primary$Secondary, Slash, exec, pkill anyrun || anyrun
|
|
|
|
# ##################################### Quickshell keybinds #####################################
|
|
# Quickshell reload and reset
|
|
bindr = $Primary$Secondary, R, exec, hyprctl reload; pkill quickshell; pkill activewin.sh; pkill activews.sh; pkill gohypr; pkill bash; pkill ydotool; ~/.local/bin/quickshell-reset.sh; qs &
|
|
|
|
# Color generation and theming
|
|
bind = $Primary$Secondary, T, exec, /home/celes/sources/celesrenata/end-4-dev/generate-colors.sh
|
|
|
|
# Quickshell widgets (adapted from AGS)
|
|
bind = $Alternate, Tab, exec, quickshell -c overview
|
|
bind = $Secondary, Space, exec, quickshell -c overview
|
|
bind = $Secondary$Alternate, Slash, exec, quickshell -c cheatsheet
|
|
bind = $Secondary, B, exec, quickshell -c sideleft
|
|
bind = $Secondary, N, exec, quickshell -c sideright
|
|
bind = $Secondary, K, exec, quickshell -c osk
|
|
bind = $Primary$Alternate, Delete, exec, quickshell -c session
|
|
|
|
# Quickshell indicators and popups
|
|
bindle = , XF86AudioRaiseVolume, exec, quickshell -c indicator-volume
|
|
bindle = , XF86AudioLowerVolume, exec, quickshell -c indicator-volume
|
|
bindle = , XF86MonBrightnessUp, exec, quickshell -c indicator-brightness
|
|
bindle = , XF86MonBrightnessDown, exec, quickshell -c indicator-brightness
|
|
|
|
# Close quickshell windows on Super release
|
|
bindr = $Primary, $Primary_R, exec, quickshell -c close-all
|
|
|
|
# ########################### Keybinds for Hyprland ############################
|
|
# Swap windows
|
|
bind = $Secondary$Tertiary, left, movewindow, l
|
|
bind = $Secondary$Tertiary, right, movewindow, r
|
|
bind = $Secondary$Tertiary, up, movewindow, u
|
|
bind = $Secondary$Tertiary, down, movewindow, d
|
|
|
|
# Move focus
|
|
bind = $Secondary, left, movefocus, l
|
|
bind = $Secondary, right, movefocus, r
|
|
bind = $Alternate, up, movefocus, u
|
|
bind = $Alternate, down, movefocus, d
|
|
bind = $Secondary, BracketLeft, movefocus, l
|
|
bind = $Secondary, BracketRight, movefocus, r
|
|
|
|
# Workspace navigation
|
|
bind = $Primary$Secondary, right, workspace, +1
|
|
bind = $Primary$Secondary, left, workspace, -1
|
|
bind = $Primary$Secondary, BracketLeft, workspace, -1
|
|
bind = $Primary$Secondary, BracketRight, workspace, +1
|
|
bind = $Primary$Secondary, up, workspace, -5
|
|
bind = $Primary$Secondary, down, workspace, +5
|
|
bind = $Secondary, Page_Down, workspace, +1
|
|
bind = $Secondary, Page_Up, workspace, -1
|
|
|
|
# Move windows to workspaces
|
|
bind = $Secondary$Alternate, Page_Down, movetoworkspace, +1
|
|
bind = $Secondary$Alternate, Page_Up, movetoworkspace, -1
|
|
bind = $Primary$Secondary$Tertiary, Right, movetoworkspace, +1
|
|
bind = $Primary$Secondary$Tertiary, Left, movetoworkspace, -1
|
|
|
|
# Window split ratio
|
|
binde = $Primary$Secondary, Minus, splitratio, -0.1
|
|
binde = $Primary$Secondary, Equal, splitratio, 0.1
|
|
binde = $Secondary, Semicolon, splitratio, -0.1
|
|
binde = $Secondary, Apostrophe, splitratio, 0.1
|
|
|
|
# Fullscreen
|
|
bind = $Primary$Secondary, F, fullscreen, 0
|
|
bind = $Primary$Secondary, D, fullscreen, 1
|
|
bind = $Secondary$Alternate, F, fullscreenstate, 0
|
|
|
|
# Workspace switching (1-10)
|
|
bind = $Secondary, 1, workspace, 1
|
|
bind = $Secondary, 2, workspace, 2
|
|
bind = $Secondary, 3, workspace, 3
|
|
bind = $Secondary, 4, workspace, 4
|
|
bind = $Secondary, 5, workspace, 5
|
|
bind = $Secondary, 6, workspace, 6
|
|
bind = $Secondary, 7, workspace, 7
|
|
bind = $Secondary, 8, workspace, 8
|
|
bind = $Secondary, 9, workspace, 9
|
|
bind = $Secondary, 0, workspace, 10
|
|
bind = $Primary$Secondary, S, togglespecialworkspace,
|
|
|
|
# Move window to workspace silently
|
|
bind = $Secondary $Alternate, 1, movetoworkspacesilent, 1
|
|
bind = $Secondary $Alternate, 2, movetoworkspacesilent, 2
|
|
bind = $Secondary $Alternate, 3, movetoworkspacesilent, 3
|
|
bind = $Secondary $Alternate, 4, movetoworkspacesilent, 4
|
|
bind = $Secondary $Alternate, 5, movetoworkspacesilent, 5
|
|
bind = $Secondary $Alternate, 6, movetoworkspacesilent, 6
|
|
bind = $Secondary $Alternate, 7, movetoworkspacesilent, 7
|
|
bind = $Secondary $Alternate, 8, movetoworkspacesilent, 8
|
|
bind = $Secondary $Alternate, 9, movetoworkspacesilent, 9
|
|
bind = $Secondary $Alternate, 0, movetoworkspacesilent, 10
|
|
bind = $Secondary$Alternate, S, movetoworkspacesilent, special
|
|
|
|
# Mouse workspace switching
|
|
bind = $Secondary, mouse_up, workspace, +1
|
|
bind = $Secondary, mouse_down, workspace, -1
|
|
bind = $Primary$Secondary, mouse_up, workspace, +1
|
|
bind = $Primary$Secondary, mouse_down, workspace, -1
|
|
|
|
# Mouse window controls
|
|
bindm = $Primary, mouse:273, resizewindow
|
|
bindm = $Primary$Secondary, mouse:273, resizewindow
|
|
bindm = ,mouse:274, movewindow
|
|
bindm = $Secondary, mouse:273, movewindow
|
|
bind = $Primary$Secondary, Backslash, resizeactive, exact 640 480
|
|
|
|
# Alt+Tab window switching
|
|
bind = $Alternate, Tab, cyclenext
|
|
bind = $Alternate, Tab, bringactivetotop
|
|
|
|
# Testing and debugging
|
|
bind = $Secondary$Alternate, f12, exec, notify-send "Millis since epoch" "$(date +%s%N | cut -b1-13)" -a 'Hyprland keybind'
|
|
bind = $Secondary$Alternate, Equal, exec, notify-send "Urgent notification" "Ah hell no" -u critical -a 'Hyprland keybind'
|