diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-17 09:44:15 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-17 09:44:15 +0200 |
| commit | ccf7329493788130341c5a6f8223448dc1bb2286 (patch) | |
| tree | f8a75677d5fc5392e5c1055b799ce127e65d702f | |
| parent | fede37b1e1e97127f0b94e964214d3fd5182381e (diff) | |
| download | conky-theme-udt-ccf7329493788130341c5a6f8223448dc1bb2286.tar.gz conky-theme-udt-ccf7329493788130341c5a6f8223448dc1bb2286.zip | |
feat: pin the dashboard's workspace to DP-1
The conky surface is a fixed 2560x1080, because Hyprland's fullscreen
rule resizes the window but not the drawing surface, so on the
1920-wide DP-3 the dashboard would be cropped. A workspace rule keeps it
on the primary monitor.
hl.workspace_rule takes `workspace`, not `match`, and has no `name`
field, unlike hl.window_rule. Both were checked against the runtime,
which rejects an unknown field with "unknown field '<name>'", and
hyprctl workspacerules confirms the rule registers with monitor: DP-1.
NOT fully verified: whether it holds when the toggle is pressed while
DP-3 has focus. One observation suggested the dashboard still followed
focus, but it was taken before the reload had applied the rule, and
focus could not afterwards be moved to DP-3 without a window or the
pointer on it. Every toggle since the reload has opened on DP-1. Worth
confirming after a fresh Hyprland start.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| -rw-r--r-- | hypr/dashboard.lua | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/hypr/dashboard.lua b/hypr/dashboard.lua index 95ce454..1902677 100644 --- a/hypr/dashboard.lua +++ b/hypr/dashboard.lua @@ -10,6 +10,19 @@ -- btop scratchpad. local WS = "special:dash" +-- Pin the workspace itself to the primary monitor, so the dashboard always +-- opens on DP-1 rather than wherever focus happens to be. The conky surface is +-- a fixed 2560x1080 (Hyprland's fullscreen rule resizes the window but not the +-- drawing surface), so on the 1920-wide DP-3 it would be cropped. +-- +-- `hl.workspace_rule` takes `workspace`, not `match`, and unlike +-- `hl.window_rule` it has no `name` field; both were checked against the +-- runtime, which rejects an unknown field with "unknown field '<name>'". +hl.workspace_rule({ + workspace = WS, + monitor = "DP-1", +}) + hl.window_rule({ name = "dash-workspace", match = { class = "conky-dash" }, |
