217 lines
12 KiB
Plaintext
217 lines
12 KiB
Plaintext
# ==========================
|
|
# Media
|
|
# ==========================
|
|
# Only display the OSD on the currently focused monitor
|
|
$osdclient = swayosd-client --monitor "$(hyprctl monitors -j | jq -r '.[] | select(.focused == true).name')"
|
|
|
|
# Laptop multimedia keys for volume and LCD brightness (with OSD)
|
|
bindeld = ,XF86AudioRaiseVolume, Volume up, exec, $osdclient --output-volume raise
|
|
bindeld = ,XF86AudioLowerVolume, Volume down, exec, $osdclient --output-volume lower
|
|
bindeld = ,XF86AudioMute, Mute, exec, $osdclient --output-volume mute-toggle
|
|
bindeld = ,XF86AudioMicMute, Mute microphone, exec, $osdclient --input-volume mute-toggle
|
|
bindeld = ,XF86MonBrightnessUp, Brightness up, exec, station-brightness-display +5%
|
|
bindeld = ,XF86MonBrightnessDown, Brightness down, exec, station-brightness-display 5%-
|
|
bindeld = ,XF86KbdBrightnessUp, Keyboard brightness up, exec, station-brightness-keyboard up
|
|
bindeld = ,XF86KbdBrightnessDown, Keyboard brightness down, exec, station-brightness-keyboard down
|
|
bindld = ,XF86KbdLightOnOff, Keyboard backlight cycle, exec, station-brightness-keyboard cycle
|
|
|
|
# Precise 1% multimedia adjustments with Alt modifier
|
|
bindeld = ALT, XF86AudioRaiseVolume, Volume up precise, exec, $osdclient --output-volume +1
|
|
bindeld = ALT, XF86AudioLowerVolume, Volume down precise, exec, $osdclient --output-volume -1
|
|
bindeld = ALT, XF86MonBrightnessUp, Brightness up precise, exec, station-brightness-display +1%
|
|
bindeld = ALT, XF86MonBrightnessDown, Brightness down precise, exec, station-brightness-display 1%-
|
|
|
|
# Requires playerctl
|
|
bindld = , XF86AudioNext, Next track, exec, $osdclient --playerctl next
|
|
bindld = , XF86AudioPause, Pause, exec, $osdclient --playerctl play-pause
|
|
bindld = , XF86AudioPlay, Play, exec, $osdclient --playerctl play-pause
|
|
bindld = , XF86AudioPrev, Previous track, exec, $osdclient --playerctl previous
|
|
|
|
# Switch audio output with Super + Mute
|
|
bindld = SUPER, XF86AudioMute, Switch audio output, exec, station-cmd-audio-switch
|
|
|
|
# ==========================
|
|
# Copy & Paste
|
|
# ==========================
|
|
bindd = SUPER, C, Universal copy, sendshortcut, CTRL, Insert,
|
|
bindd = SUPER, V, Universal paste, sendshortcut, SHIFT, Insert,
|
|
bindd = SUPER, X, Universal cut, sendshortcut, CTRL, X,
|
|
bindd = SUPER CTRL, V, Clipboard manager, exec, station-launch-walker -m clipboard
|
|
|
|
# Close windows
|
|
bindd = SUPER, Q, Close window, killactive,
|
|
bindd = CTRL ALT, DELETE, Close all windows, exec, station-hyprland-window-close-all
|
|
|
|
# ==========================
|
|
# Tiling
|
|
# ==========================
|
|
bindd = SUPER CTRL, J, Toggle window split, togglesplit, # dwindle
|
|
bindd = SUPER, P, Pseudo window, pseudo, # dwindle
|
|
bindd = SUPER, T, Toggle window floating/tiling, togglefloating,
|
|
bindd = SUPER, F, Full screen, fullscreen, 0
|
|
bindd = SUPER CTRL, F, Tiled full screen, fullscreenstate, 0 2
|
|
bindd = SUPER ALT, F, Full width, fullscreen, 1
|
|
bindd = SUPER, O, Pop window out (float & pin), exec, station-hyprland-window-pop
|
|
# bindd = SUPER CTRL, L, Toggle workspace layout, exec, station-hyprland-workspace-layout-toggle
|
|
|
|
# Move focus with SUPER + arrow keys
|
|
bindd = SUPER, H, Move window focus left, movefocus, l
|
|
bindd = SUPER, L, Move window focus right, movefocus, r
|
|
bindd = SUPER, K, Move window focus up, movefocus, u
|
|
bindd = SUPER, J, Move window focus down, movefocus, d
|
|
|
|
# Control scratchpad
|
|
bindd = SUPER, S, Toggle scratchpad, togglespecialworkspace, scratchpad
|
|
bindd = SUPER ALT, S, Move window to scratchpad, movetoworkspacesilent, special:scratchpad
|
|
|
|
# Swap active window with the one next to it with SUPER + SHIFT + arrow keys
|
|
bindd = SUPER SHIFT, LEFT, Swap window to the left, swapwindow, l
|
|
bindd = SUPER SHIFT, RIGHT, Swap window to the right, swapwindow, r
|
|
bindd = SUPER SHIFT, UP, Swap window up, swapwindow, u
|
|
bindd = SUPER SHIFT, DOWN, Swap window down, swapwindow, d
|
|
|
|
# Cycle through applications on active workspace
|
|
bindd = SUPER, TAB, Cycle to next window, cyclenext, visible
|
|
bindd = SUPER SHIFT, TAB, Cycle to prev window, cyclenext, visible prev
|
|
bindd = SUPER, TAB, Reveal active window on top, bringactivetotop
|
|
bindd = SUPER SHIFT, TAB, Reveal active window on top, bringactivetotop
|
|
|
|
# Resize active window
|
|
bindd = SUPER, code:20, Expand window left, resizeactive, -100 0 # - key
|
|
bindd = SUPER, code:21, Shrink window left, resizeactive, 100 0 # = key
|
|
bindd = SUPER SHIFT, code:20, Shrink window up, resizeactive, 0 -100
|
|
bindd = SUPER SHIFT, code:21, Expand window down, resizeactive, 0 100
|
|
|
|
# Scroll through existing workspaces with SUPER + scroll
|
|
bindd = SUPER, mouse_down, Scroll active workspace forward, workspace, e+1
|
|
bindd = SUPER, mouse_up, Scroll active workspace backward, workspace, e-1
|
|
|
|
# Move/resize windows with mainMod + LMB/RMB and dragging
|
|
bindmd = SUPER, mouse:272, Move window, movewindow
|
|
bindmd = SUPER, mouse:273, Resize window, resizewindow
|
|
|
|
# Toggle groups
|
|
bindd = SUPER, G, Toggle window grouping, togglegroup
|
|
bindd = SUPER ALT, G, Move active window out of group, moveoutofgroup
|
|
|
|
# Join groups
|
|
bindd = SUPER ALT, LEFT, Move window to group on left, moveintogroup, l
|
|
bindd = SUPER ALT, RIGHT, Move window to group on right, moveintogroup, r
|
|
bindd = SUPER ALT, UP, Move window to group on top, moveintogroup, u
|
|
bindd = SUPER ALT, DOWN, Move window to group on bottom, moveintogroup, d
|
|
|
|
# Navigate a single set of grouped windows
|
|
bindd = SUPER ALT, TAB, Next window in group, changegroupactive, f
|
|
bindd = SUPER ALT SHIFT, TAB, Previous window in group, changegroupactive, b
|
|
|
|
# Window navigation for grouped windows
|
|
bindd = SUPER CTRL, LEFT, Move grouped window focus left, changegroupactive, b
|
|
bindd = SUPER CTRL, RIGHT, Move grouped window focus right, changegroupactive, f
|
|
|
|
# Scroll through a set of grouped windows with SUPER + ALT + scroll
|
|
bindd = SUPER ALT, mouse_down, Next window in group, changegroupactive, f
|
|
bindd = SUPER ALT, mouse_up, Previous window in group, changegroupactive, b
|
|
|
|
# Activate window in a group by number
|
|
bindd = SUPER ALT, code:10, Switch to group window 1, changegroupactive, 1
|
|
bindd = SUPER ALT, code:11, Switch to group window 2, changegroupactive, 2
|
|
bindd = SUPER ALT, code:12, Switch to group window 3, changegroupactive, 3
|
|
bindd = SUPER ALT, code:13, Switch to group window 4, changegroupactive, 4
|
|
bindd = SUPER ALT, code:14, Switch to group window 5, changegroupactive, 5
|
|
|
|
# ==========================
|
|
# Utilities
|
|
# ==========================
|
|
bindd = SUPER, Slash, Cycle monitor scaling, exec, station-hyprland-monitor-scaling-cycle
|
|
|
|
# Menus
|
|
bindd = SUPER, SPACE, Launch apps, exec, station-launch-walker
|
|
bindd = SUPER CTRL, E, Emoji picker, exec, station-launch-walker -m symbols
|
|
bindd = SUPER CTRL, C, Capture menu, exec, station-menu capture
|
|
bindd = SUPER CTRL, O, Toggle menu, exec, station-menu toggle
|
|
bindd = SUPER ALT, SPACE, Station menu, exec, station-menu
|
|
bindd = SUPER, ESCAPE, System menu, exec, station-menu system
|
|
bindld = , XF86PowerOff, Power menu, exec, station-menu system
|
|
bindd = SUPER, K, Show key bindings, exec, station-menu-keybindings
|
|
bindd = , XF86Calculator, Calculator, exec, gnome-calculator
|
|
|
|
# Aesthetics
|
|
bindd = SUPER SHIFT, SPACE, Toggle top bar, exec, station-toggle-waybar
|
|
bindd = SUPER CTRL, SPACE, Theme background menu, exec, station-menu background
|
|
# bindd = SUPER SHIFT CTRL, SPACE, Theme menu, exec, station-menu theme
|
|
bindd = SUPER, BACKSPACE, Toggle window transparency, exec, hyprctl dispatch setprop "address:$(hyprctl activewindow -j | jq -r '.address')" opaque toggle
|
|
bindd = SUPER SHIFT, BACKSPACE, Toggle window gaps, exec, station-hyprland-window-gaps-toggle
|
|
bindd = SUPER CTRL, Backspace, Toggle single-window square aspect, exec, station-hyprland-window-single-square-aspect-toggle
|
|
|
|
# Notifications
|
|
bindd = SUPER, COMMA, Dismiss last notification, exec, makoctl dismiss
|
|
bindd = SUPER SHIFT, COMMA, Dismiss all notifications, exec, makoctl dismiss --all
|
|
bindd = SUPER CTRL, COMMA, Toggle silencing notifications, exec, station-toggle-notification-silencing
|
|
bindd = SUPER ALT, COMMA, Invoke last notification, exec, makoctl invoke
|
|
bindd = SUPER SHIFT ALT, COMMA, Restore last notification, exec, makoctl restore
|
|
|
|
# Toggles
|
|
bindd = SUPER CTRL, I, Toggle locking on idle, exec, station-toggle-idle
|
|
bindd = SUPER CTRL, N, Toggle nightlight, exec, station-toggle-nightlight
|
|
|
|
# Captures
|
|
bindd = , PRINT, Screenshot, exec, station-cmd-screenshot
|
|
bindd = ALT, PRINT, Screenrecording, exec, station-menu screenrecord
|
|
bindd = SUPER, PRINT, Color picker, exec, pkill hyprpicker || hyprpicker -a
|
|
|
|
# File sharing
|
|
bindd = SUPER CTRL, S, Share, exec, station-menu share
|
|
|
|
# Waybar-less information
|
|
bindd = SUPER CTRL ALT, T, Show time, exec, notify-send " $(date +"%A %H:%M — %d %B W%V %Y")"
|
|
bindd = SUPER CTRL ALT, B, Show battery remaining, exec, notify-send " Battery is at $(station-battery-remaining)%"
|
|
bindd = SUPER CTRL ALT, W, Show active window name and class, exec, notify-send "$(hyprctl activewindow -j | jq -r '"Window: \(.title)\nClass: \(.class)"')"
|
|
|
|
# Control panels
|
|
bindd = SUPER CTRL, A, Audio controls, exec, station-launch-audio
|
|
bindd = SUPER CTRL, B, Bluetooth controls, exec, station-launch-bluetooth
|
|
bindd = SUPER CTRL, W, Wifi controls, exec, station-launch-wifi
|
|
bindd = SUPER CTRL, T, Activity, exec, station-launch-tui btop
|
|
|
|
# Dictation
|
|
# bindd = SUPER CTRL, X, Toggle dictation, exec, voxtype record toggle
|
|
|
|
# Zoom
|
|
bindd = SUPER CTRL, Z, Zoom in, exec, hyprctl keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor -j | jq '.float + 1')
|
|
bindd = SUPER CTRL ALT, Z, Reset zoom, exec, hyprctl keyword cursor:zoom_factor 1
|
|
|
|
# Lock system
|
|
bindd = SUPER CTRL, L, Lock system, exec, station-lock-screen
|
|
|
|
# ==========================
|
|
# Applications
|
|
# ==========================
|
|
bindd = SUPER, RETURN, Terminal, exec, uwsm-app -- xdg-terminal-exec --dir="$(station-cmd-terminal-cwd)"
|
|
bindd = SUPER ALT, RETURN, Tmux, exec, uwsm-app -- xdg-terminal-exec --dir="$(station-cmd-terminal-cwd)" tmux new
|
|
bindd = SUPER SHIFT, F, File manager, exec, uwsm-app -- nautilus --new-window
|
|
bindd = SUPER ALT SHIFT, F, File manager (cwd), exec, uwsm-app -- nautilus --new-window "$(station-cmd-terminal-cwd)"
|
|
bindd = SUPER SHIFT, B, Browser, exec, /home/chris/.local/bin/station-launch-browser
|
|
bindd = SUPER SHIFT ALT, B, Browser (private), exec, station-launch-browser --private
|
|
bindd = SUPER SHIFT, M, Music, exec, station-launch-or-focus spotify
|
|
bindd = SUPER SHIFT, N, Editor, exec, station-launch-editor
|
|
# bindd = SUPER SHIFT, D, Docker, exec, station-launch-tui lazydocker
|
|
bindd = SUPER SHIFT, G, Signal, exec, station-launch-or-focus ^signal$ "uwsm-app -- signal-desktop"
|
|
bindd = SUPER SHIFT, O, Obsidian, exec, station-launch-or-focus ^obsidian$ "uwsm-app -- obsidian -disable-gpu --enable-wayland-ime"
|
|
# bindd = SUPER SHIFT, W, Typora, exec, uwsm-app -- typora --enable-wayland-ime
|
|
bindd = SUPER SHIFT, SLASH, Passwords, exec, Enpass showassistant
|
|
bindd = SUPER SHIFT, E, Email, exec, station-launch-or-focus mailspring
|
|
|
|
# If your web app url contains #, type it as ## to prevent hyprland treating it as a comment
|
|
bindd = SUPER SHIFT, A, ChatGPT, exec, station-launch-webapp "https://gemini.google.com/app"
|
|
bindd = SUPER SHIFT, C, Calendar, exec, station-launch-webapp "https://tower.scarif.space/apps/calendar"
|
|
bindd = SUPER SHIFT, Y, YouTube, exec, station-launch-or-focus-webapp "YouTube" "https://youtube.com/"
|
|
bindd = SUPER SHIFT ALT, G, WhatsApp, exec, station-launch-or-focus-webapp WhatsApp "https://web.whatsapp.com/"
|
|
bindd = SUPER SHIFT CTRL, G, Google Maps, exec, station-launch-or-focus-webapp "Google Maps" "https://maps.google.com"
|
|
# bindd = SUPER SHIFT, P, Google Photos, exec, station-launch-or-focus-webapp "Google Photos" "https://photos.google.com/"
|
|
# bindd = SUPER SHIFT, X, X, exec, station-launch-webapp "https://x.com/"
|
|
# bindd = SUPER SHIFT ALT, X, X Post, exec, station-launch-webapp "https://x.com/compose/post"
|
|
|
|
# Add extra bindings
|
|
bind = SUPER SHIFT, R, exec, ghostty -e ssh scarif
|
|
|