feat(config): enhance scratchpad toggles, add workspace rules, adjust opacity and font size

This commit is contained in:
Prad Nukala committed 2026-09-21 16:34:26 -04:00
1 parent 989fac13d1
commit f30eee4215
6 files changed
+88 -25

No files matched your search

+31 -15
View File
@@ -111,18 +111,22 @@ hl.unbind("SUPER + CTRL + K") -- was: Herdr keybindings
o.bind("SUPER + CTRL + J", "Next workspace", hl.dsp.focus({ workspace = "e+1" }))
o.bind("SUPER + CTRL + K", "Previous workspace", hl.dsp.focus({ workspace = "e-1" }))
-- Scratchpad. Omarchy's SUPER + S is taken by the region screenshot below, so
-- the special-workspace toggle lands here. SUPER + ALT + S (send window to
-- the scratchpad) is still the Omarchy default and needs no line.
-- Scratch workspaces. Omarchy's SUPER + S is taken by the region screenshot
-- below, so the main toggle lands on SUPER + CTRL + S, with SUPER + A (free
-- in Omarchy) as the home-row alias. SUPER + ALT + S (send window to the
-- scratchpad) is still the Omarchy default and needs no line.
--
-- All of them go through ~/.local/bin/omarchy-toggle-scratch rather than the
-- raw special-workspace toggle: it opens each workspace on its home monitor
-- (the raw toggle uses the focused one), and on reveal it starts whichever
-- resident is missing instead of sliding an empty workspace into view. The
-- residents are pinned to their workspaces by window rules in
-- hypr/hyprland.lua. Fastmail, Beeper and YouTube have their own scratch
-- workspaces under SUPER + CTRL + ALT + E / M / Y in the Applications block
-- below.
hl.unbind("SUPER + CTRL + S") -- was: share menu
o.bind("SUPER + CTRL + S", "Toggle scratchpad", hl.dsp.workspace.toggle_special("scratchpad"))
-- Mod+A is the scratch terminal: the same scratchpad toggle, except an empty
-- scratchpad starts kitty with ~/.config/kitty/herdr.conf (class kitty-herdr,
-- pinned to the scratchpad by the window rule in hypr/hyprland.lua) instead of
-- sliding an empty workspace into view. SUPER + A is free in Omarchy.
-- Needs ~/.local/bin/omarchy-toggle-scratch.
o.bind("SUPER + A", "Toggle scratch terminal", "omarchy-toggle-scratch")
o.bind("SUPER + CTRL + S", "Toggle scratch workspace", "omarchy-toggle-scratch scratchpad")
o.bind("SUPER + A", "Toggle scratch workspace", "omarchy-toggle-scratch scratchpad")
-- Workspaces 1 to 5 on the home row of the left half: ALT to focus,
-- ALT + SHIFT to send the window there. No Omarchy default uses ALT with a
@@ -179,14 +183,22 @@ o.bind("SUPER + CTRL + ALT + H", "AI apps", "omarchy-cycle ai")
o.bind("SUPER + CTRL + ALT + J", "Terminals", "omarchy-cycle-terminal")
o.bind("SUPER + CTRL + ALT + K", "Browsers", "omarchy-cycle-browser")
o.bind("SUPER + CTRL + ALT + G", "Ghostty", "omarchy-cycle ghostty")
o.bind("SUPER + CTRL + ALT + Y", "Web apps", "omarchy-cycle webapp")
o.bind("SUPER + CTRL + ALT + O", "Obsidian", "omarchy-cycle obsidian")
o.bind("SUPER + CTRL + ALT + F", "File manager", "omarchy-launch-or-focus nautilus \"gtk-launch org.gnome.Nautilus\"")
o.bind("SUPER + CTRL + ALT + E", "Fastmail", "omarchy-launch-or-focus fastmail \"gtk-launch fastmail\"")
o.bind("SUPER + CTRL + ALT + M", "Beeper", "omarchy-launch-or-focus beeper \"gtk-launch beeper\"")
-- Fastmail, Beeper and the YouTube web app each live on their own scratch
-- workspace (window rules in hypr/hyprland.lua); the toggle reveals it on the
-- focused monitor and starts the app only when no window of it exists --
-- the web-app launcher would otherwise open a second window every time.
o.bind("SUPER + CTRL + ALT + E", "Fastmail", "omarchy-toggle-scratch fastmail")
o.bind("SUPER + CTRL + ALT + M", "Beeper", "omarchy-toggle-scratch beeper")
o.bind("SUPER + CTRL + ALT + Y", "YouTube", "omarchy-toggle-scratch youtube") -- was: web apps cycle
hl.unbind("SUPER + SHIFT + Y") -- was: YouTube via the desktop entry (new window every press)
o.bind("SUPER + SHIFT + Y", "YouTube", "omarchy-toggle-scratch youtube")
hl.unbind("SUPER + CTRL + ALT + T") -- was: show time
o.bind("SUPER + CTRL + ALT + T", "Todoist", "omarchy-launch-or-focus todoist \"gtk-launch todoist\"")
-- Pattern is the exact class from `hyprctl clients`; the window rule in
-- hypr/hyprland.lua sends it to workspace 5 on eDP-1 fullscreen.
o.bind("SUPER + CTRL + ALT + T", "tldraw offline", "omarchy-launch-or-focus tldraw-offline \"gtk-launch tldraw-offline\"")
hl.unbind("SUPER + CTRL + ALT + W") -- was: toggle weather
-- gtk-launch takes the desktop-entry id: TLDraw.desktop, not tldraw_offline,
@@ -272,3 +284,7 @@ o.bind("SUPER + SHIFT + F", "File manager", { launch = 'flea --gui' })
hl.unbind("SUPER + ALT + SHIFT + F")
o.bind("SUPER + ALT + SHIFT + F", "File manager (cwd)", { launch = 'flea --gui "$(omarchy-cmd-terminal-cwd)"' })
-- flea --default: end.
-- flea --picker: begin. Written by `flea --picker`; `flea --picker off` removes the block whole.
o.window("com.thisisgm.flea.picker", { tag = "+floating-window" })
-- flea --picker: end.