aboutsummaryrefslogtreecommitdiffstats
path: root/hypr
diff options
context:
space:
mode:
Diffstat (limited to 'hypr')
-rw-r--r--hypr/README.md25
-rw-r--r--hypr/dashboard.lua12
2 files changed, 26 insertions, 11 deletions
diff --git a/hypr/README.md b/hypr/README.md
index 90a5f4d..8e81bdc 100644
--- a/hypr/README.md
+++ b/hypr/README.md
@@ -32,8 +32,23 @@ other sections.
## Rule keys
`workspace`, `float`, `border_size` and `rounding` are all used by existing
-rules in `sections/look_and_feel.lua` and `sections/workspaces.lua`, so their
-spelling is confirmed. `fullscreen` and `no_focus` are not used anywhere else
-in this config; if the Lua runtime ignores them, the dashboard still lands on
-`special:dash` and can be sized with
-`size = "(monitor_w) (monitor_h)"` instead.
+rules in `sections/look_and_feel.lua` and `sections/workspaces.lua`.
+`fullscreen` and `no_focus` are used nowhere else in this config, so they were
+checked against the runtime instead: `hl.window_rule` rejects an unknown field
+with `unknown field '<name>'`, and neither of these produces that error, so the
+Lua API accepts both.
+
+## Testing the toggle by hand
+
+Under the Lua config, `hyprctl dispatch` evaluates its argument as Lua, so the
+plain Hyprland syntax does not work:
+
+ # wrong: ')' expected near 'dash'
+ hyprctl dispatch togglespecialworkspace dash
+
+ # right
+ hyprctl dispatch 'hl.dsp.workspace.toggle_special("dash")'
+
+Check which special workspace is showing with:
+
+ hyprctl monitors -j | jq -r '.[0].specialWorkspace.name'
diff --git a/hypr/dashboard.lua b/hypr/dashboard.lua
index 344585a..95ce454 100644
--- a/hypr/dashboard.lua
+++ b/hypr/dashboard.lua
@@ -20,10 +20,10 @@ hl.window_rule({
match = { class = "conky-dash" },
float = true,
})
--- `fullscreen` is not used by any other rule in this config, so unlike the
--- keys above it is unverified against real usage here; if Hyprland's Lua
--- runtime ignores it, the dashboard still lands on special:dash and can be
--- sized with `size = "(monitor_w) (monitor_h)"` instead.
+-- `fullscreen` appears in no other rule in this config, so it was checked
+-- against the runtime directly: hl.window_rule rejects an unknown field with
+-- "unknown field '<name>'", and both `fullscreen` and `no_focus` pass that
+-- check, so the Lua API does accept them.
hl.window_rule({
name = "dash-fullscreen",
match = { class = "conky-dash" },
@@ -41,8 +41,8 @@ hl.window_rule({
})
-- It is a dashboard, not a window: never let it take focus or be tabbed to.
-- This matters because it starts with the session, so without it the dashboard
--- would steal focus at login. `no_focus` is also unverified against real usage
--- in this config, same caveat as `fullscreen` above.
+-- would steal focus at login. Validity checked the same way as `fullscreen`
+-- above.
hl.window_rule({
name = "dash-no-focus",
match = { class = "conky-dash" },