aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-17 12:13:00 +0200
committerDanilo M. <danix@danix.xyz>2026-10-17 12:13:00 +0200
commit65c664e716a17fa3e200cc86131f514f5a817d60 (patch)
tree2d2dd02fdfcb36c496146af4454873db7d9d8d5a /docs/superpowers/specs
parent662adfe717203fbe5ea8218a190bc39aff897d6e (diff)
downloadquickshell-65c664e716a17fa3e200cc86131f514f5a817d60.tar.gz
quickshell-65c664e716a17fa3e200cc86131f514f5a817d60.zip
docs: the OBS pill opens a controls panel
At rest the pill is a record dot with the elapsed time; a click morphs it into a panel, as the status pill does for sound, with Record/Stop, Pause/Resume, Show/Hide webcam and the scene list. The user preferred it to every control inline: the pill stays small, and scenes are picked by name rather than stepped through, so obsStep is gone. OBS quitting with the panel open clears it, or the island would stay held open. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/superpowers/specs')
-rw-r--r--docs/superpowers/specs/2026-10-17-obs-pill-design.md26
1 files changed, 14 insertions, 12 deletions
diff --git a/docs/superpowers/specs/2026-10-17-obs-pill-design.md b/docs/superpowers/specs/2026-10-17-obs-pill-design.md
index 3331bba..9a3e3f3 100644
--- a/docs/superpowers/specs/2026-10-17-obs-pill-design.md
+++ b/docs/superpowers/specs/2026-10-17-obs-pill-design.md
@@ -88,19 +88,22 @@ password change in OBS fixes it without a restart.
Right of the status pill, slides with the others, exists only while
`Obs.connected`.
-Left to right:
+**At rest**: a record dot, grey when idle, red while recording, dimmed while
+paused, followed by `mm:ss` (`h:mm:ss` past an hour) while recording. A
+click opens the panel.
-- **Record**: idle icon, or a red dot and `mm:ss` (`h:mm:ss` past an hour)
- while recording. Click toggles recording.
-- **Pause**: only while recording. Click toggles pause; the dot dims while
- paused.
-- **Scene**: current scene name. Click steps to the next, wheel steps
- previous (up) and next (down), wrapping. Hidden with fewer than two scenes.
-- **Webcam**: camera icon, struck while hidden. Click toggles. Absent when
- `camId` is -1.
+**Panel** (`win.panel === "obs"`), morphing the capsule as the status pill
+does for sound; Escape and an outside click close it like the others:
-The pill names its own panels (AGENTS.md): it opens none, so it never
-expands.
+- A status line: `Not recording`, `Recording 03:21` or `Paused 03:21`.
+- Buttons (`desktop/Button.qml`): Record/Stop, Pause/Resume (while
+ recording), Show/Hide webcam (absent when `camId` is -1).
+- The scene list in OBS's order, current one highlighted, click to switch.
+ A plain column; about ten scenes fit the island's 480px window.
+
+The pill names its own panel, `obs` (AGENTS.md). OBS quitting with the panel
+open clears `win.panel`, or the island would stay held open by a pill that
+no longer exists.
## Sliver
@@ -115,7 +118,6 @@ colour, is what says "recording". Not recording: the sliver is unchanged.
In `Logic.js`, covered by `test_logic.js`:
- `obsElapsed(ms)`: `0` -> `00:00`, `61000` -> `01:01`, `3661000` -> `1:01:01`
-- `obsStep(list, cur, d)`: next/previous scene with wrap, `cur` missing -> first
## Errors