← Commit history

0.5.42: about/refresh for the clock; skill 1.4.0 with the hover card

John Lauer ·d31a19575e ·1mo ago ·parent 95e6cca
4 files changed +21−5
hydrogen-widget.json+3−1
@@ -15,5 +15,7 @@     "url": "/",     "timeout_seconds": 60   },-  "docs": "widgets/README.md"+  "docs": "widgets/README.md",+  "about": "A clock: the time and date from the workspace, redrawn every fifteen seconds. Nothing is asked of anyone; it exists to be copied.",+  "refresh": "its own clock every 15 seconds; no network" }
package.json+1−1
@@ -4,7 +4,7 @@   "type": "bootstrap",   "title": "Adom Hydrogen (platform base)",   "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",-  "version": "0.5.41",+  "version": "0.5.42",   "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.",   "org": "adom",   "tags": [
page.json+2−2
@@ -4,7 +4,7 @@   "type": "bootstrap",   "title": "Adom Hydrogen (platform base)",   "brief": "Layer Hydrogen's workspace onto a standard Adom workstation.",-  "version": "0.5.41",+  "version": "0.5.42",   "description": "Hydrogen's PLATFORM-GENERIC workspace layer on top of adom/core. Installs adom/core for the full Adom ecosystem, then adds everything common to running inside Hydrogen on ANY platform: the runtime-neutral hydrogen-* skills and the generic editor configuration (Claude Code CLI + extension, VS Code settings, trusted domains). Platform-specific layers depend on THIS: adom/hydrogen-windows-bootstrap (WSL2), adom/hydrogen-mac-bootstrap, adom/hydrogen-ubuntu-bootstrap. The reference design other orgs copy to build their own bootstrap on adom/core.",   "org": "adom",   "tags": [@@ -49,4 +49,4 @@     "hydrogen editor configuration",     "where do hydrogen skills come from"   ]-}\ No newline at end of file+}
skills/hydrogen-widget/SKILL.md+15−1
@@ -1,7 +1,7 @@ --- name: hydrogen-widget description: "Build, list, open and drive Hydrogen Widgets: small live panels in Hydrogen Desktop's Title Bar (Claude usage, Codex usage, a clock, or your own), each served by a binary inside the workspace and mounted in a sandboxed slot. Covers the hydrogen-widget.json facet a wiki repo carries (alone, or next to its dock manifest and project workspace), the per-widget page the pulldown links to, the launch contract (HYDROGEN_WIDGET_ID / _PORT / _SLOT / HYDROGEN_PROXY_PORT, the health URL, the explicit takeover, stop-first relaunch), the tall and compact layouts, vendor marks, private repos (read with the user's session), the curated list on adom/hydrogen-bootstrap, the Hydrogen Widgets pulldown, and the control API (GET /widgets, POST /widgets/open|close|navigate|refresh|menu, GET /widgets/status) so an AI can do all of it with no mouse. Trigger words: hydrogen widget, hydrogen-widget, title bar widget, widgets pulldown, widget slot, claude usage widget, codex usage widget, tokens left widget, usage meter in the title bar, hydrogen-widget.json, /widgets/open, make a widget, add a widget to hydrogen, private widget, widget SDK."-version: 1.3.0+version: 1.4.0 ---  # hydrogen-widget: small live panels in Hydrogen Desktop's Title Bar@@ -104,6 +104,8 @@ Several in one repo: `{"widgets": [ {...}, {...} ]}`. | `launch.command` | run in the workspace as the workspace user, backgrounded; `launch.stop` optional | | `launch.port` | the port the page listens on, 127.0.0.1 inside the workspace | | `health.url` | path Hydrogen polls until it answers (default `/`); `timeout_seconds` default 60 |+| `about` | one or two sentences on how it works, shown on the hover card ("Reads the Claude Code sign-in ... asks the usage endpoint ... no quota is spent") |+| `refresh` | how often it asks anything, shown on the hover card ("the provider at most once every 3 minutes; pauses while hidden; backs off on errors") | | `docs` | the widget's own page: a repo file path (`widgets/README.md`) or a full URL. The pulldown row links to it. Defaults to `<repo>/files/widgets/README.md` |  ### The widget's own page (what the pulldown row opens)@@ -123,6 +125,18 @@ Size your page by its height, never in fixed px: `@media (min-height: 34px)` sta `clamp()` font sizes. Transparent background, no scrollbars. The shipped helper does this; copy it. +### The hover card (a tooltip that lives outside the iframe)++A tooltip inside your page cannot reach past the slot's edge, so Hydrogen draws the card:+hover the slot and, after a moment, a card appears under it in the host, in the style of the+tab cards. It shows the widget's name and mark, its repo, its live URL or its current status,+`brief`, `about`, `refresh`, the port and the log path, and four links: the widget's page+(`docs`), the wiki repo, this SDK, and Close widget. Moving onto the card keeps it; a click on+the card (or its pin) pins it so the links are live; Escape or a click outside closes a pinned+card. Your page needs nothing for this beyond the manifest fields. An AI shows the same card+with `POST /widgets/card {"id": "...", "pinned": true}` and hides it with `{"id": "...",+"open": false}`.+ ### Resizing: who tells the page  Nobody has to. The slot is an iframe; when the Title Bar goes compact or tall, Hydrogen resizes