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

+27 -6
View File
@@ -32,18 +32,39 @@ require("default.hypr.toggles")
-- display so it survives landing on a different DP connector after re-docking.
hl.workspace_rule({ workspace = "3", monitor = "desc:Apple Computer Inc StudioDisplay 0x984262A7" })
hl.workspace_rule({ workspace = "4", monitor = "eDP-1" })
hl.workspace_rule({ workspace = "5", monitor = "eDP-1" })
-- Always open these apps on a fixed workspace and follow them there. Classes
-- come from `hyprctl clients` -- the desktop files' StartupWMClass hints
-- disagree with reality for Beeper (claims BeeperTexts, actually reports
-- Beeper). Add " silent" to a workspace prop to place a window without
-- switching the view to it.
o.window([[^brave-youtube\.com__-Default$]], { workspace = "1" })
o.window([[^brave-www\.tldraw\.com__-Default$]], { workspace = "3" })
o.window([[^com\.fastmail\.Fastmail$]], { workspace = "4" })
o.window([[^Beeper$]], { workspace = "4" })
-- The SUPER + A scratch terminal (kitty --config ~/.config/kitty/herdr.conf).
-- Pinning it here means it lands on the scratchpad no matter who starts it;
-- "silent" leaves the reveal to omarchy-toggle-scratch.
-- tldraw-offline gets workspace 5 to itself on the laptop panel, fullscreen.
o.window([[^tldraw-offline$]], { workspace = "5", fullscreen = true })
-- Scratch workspaces, toggled by ~/.local/bin/omarchy-toggle-scratch, which
-- also starts any resident that is missing and picks the monitor. Pinning
-- the residents here means they land on their workspace no matter who starts
-- them; "silent" leaves the reveal to the script. Under the master layout the
-- first window to appear takes the master slot; the rest stack beside it.
--
-- SUPER + A / SUPER + CTRL + S: Claude Desktop + kitty/herdr, Studio Display.
o.window([[^com\.anthropic\.Claude$]], { workspace = "special:scratchpad silent" })
o.window([[^kitty-herdr$]], { workspace = "special:scratchpad silent" })
-- SUPER + CTRL + ALT + E / M: Fastmail and Beeper, each alone on the
-- focused monitor.
o.window([[^com\.fastmail\.Fastmail$]], { workspace = "special:fastmail silent" })
o.window([[^Beeper$]], { workspace = "special:beeper silent" })
-- SUPER + CTRL + ALT + Y / SUPER + SHIFT + Y: the YouTube web app. Chromium
-- derives the class from the app URL and the host spelling has varied
-- (youtube.com vs www.youtube.com) once a video plays, so match the family.
-- Its picture-in-picture overlay shares the class; the "negative:" title
-- match keeps it out so Omarchy's pip rule (float + pin) still applies.
-- Rule regexes are RE2 full matches: no lookahead, and a pattern must cover
-- the whole string.
o.window(
{ class = [[brave-(www\.)?youtube\.com__.*]], title = [[negative:.*Picture.?in.?[Pp]icture.*]] },
{ workspace = "special:youtube silent" }
)