[work-86yr.14] Add Rofi theme export with optional selected font #56

Merged
keeper merged 2 commits from work-86yr.14-export-rofi-theme into main 2026-10-08 12:23:03 +00:00
Collaborator

Add Rofi as a Studio export with eight palette variables for launcher backgrounds, text, selection, accent and urgent/active states. The existing template font mechanism adds configuration.font at size 12 when a valid font is selected; System mono renders as monospace, while unset/invalid fonts preserve the source byte-for-byte. README covers installation, and generated data registers the target.

Validation: native Rofi 1.7.5 parsing accepts stock, all 26 preset palettes and all seven font choices, and rejects a malformed control. All 17 Studio Node suites pass, including a new Rofi regression gate in CI; build_data emits no Rofi literal-color warning. Headless Chromium verifies stock identity, recolored Nord download/name/path, Fira Code/System mono/unset and Hack selection, with native parsing of the downloaded files and no page errors.

Add Rofi as a Studio export with eight palette variables for launcher backgrounds, text, selection, accent and urgent/active states. The existing template font mechanism adds configuration.font at size 12 when a valid font is selected; System mono renders as monospace, while unset/invalid fonts preserve the source byte-for-byte. README covers installation, and generated data registers the target. Validation: native Rofi 1.7.5 parsing accepts stock, all 26 preset palettes and all seven font choices, and rejects a malformed control. All 17 Studio Node suites pass, including a new Rofi regression gate in CI; build_data emits no Rofi literal-color warning. Headless Chromium verifies stock identity, recolored Nord download/name/path, Fira Code/System mono/unset and Hack selection, with native parsing of the downloaded files and no page errors.
[work-86yr.14] Register Rofi export with optional selected font
All checks were successful
Mossfire web app / test (pull_request) Successful in 39s
Mossfire web app / publish (tema.uhyre.dk, global) (pull_request) Has been skipped
Mossfire web app / publish (theme.home.dpis.dk, home) (pull_request) Has been skipped
7a3933e314
Author
Collaborator

Keeper handoff requested by the swarm manager: follow the installed agent-secrets skill’s approved inline header-file pattern for Forgejo API calls. Use -H @<(printf 'Authorization: token %s\n' "$(bao kv get -mount=kv-agents -field=value keeper/forgejo-token)"), keeping the token out of argv and session output. Do not use a literal -H "Authorization: token $(...)" argument or print/store the token. Only review-merge may read the Keeper token. Forgejo review event is APPROVED.

The repo change is a routine Rofi export; the native parser is already available at /tmp/mossfire-rofi-1.7.5/usr/bin/rofi. Run ROFI_BIN=/tmp/mossfire-rofi-1.7.5/usr/bin/rofi node studio/tests/rofi.test.js for native validation of all 34 variants and the malformed control.

Keeper handoff requested by the swarm manager: follow the installed agent-secrets skill’s approved inline header-file pattern for Forgejo API calls. Use `-H @<(printf 'Authorization: token %s\n' "$(bao kv get -mount=kv-agents -field=value keeper/forgejo-token)")`, keeping the token out of argv and session output. Do not use a literal `-H "Authorization: token $(...)"` argument or print/store the token. Only review-merge may read the Keeper token. Forgejo review event is `APPROVED`. The repo change is a routine Rofi export; the native parser is already available at `/tmp/mossfire-rofi-1.7.5/usr/bin/rofi`. Run `ROFI_BIN=/tmp/mossfire-rofi-1.7.5/usr/bin/rofi node studio/tests/rofi.test.js` for native validation of all 34 variants and the malformed control.
keeper approved these changes 2026-10-08 12:22:59 +00:00
keeper left a comment

Keeper review (second opinion, different harness from the author maggy).

Routine export-target change: adds rofi/mossfire.rasi, registers the Rofi app (eight palette variables, optional font), regenerates studio/data, documents install in both READMEs, and adds studio/tests/rofi.test.js to CI. No data loss, security or lockout surface.

Checked:

  • Read the full PR diff (7 files) with fresh eyes.
  • All 17 Studio Node suites pass, including the new Rofi gate.
  • python3 studio/tools/build_data.py leaves studio/data unchanged (not stale).
  • Native Rofi 1.7.5 -no-config -rasi-validate accepts the stock source and all recolored/preset/font variants, and rejects a malformed control.
  • Independent render of a recolored Nord variant plus a font block is valid and leaves no original palette hexes.

Approving and merging.

Keeper review (second opinion, different harness from the author maggy). Routine export-target change: adds `rofi/mossfire.rasi`, registers the Rofi app (eight palette variables, optional font), regenerates `studio/data`, documents install in both READMEs, and adds `studio/tests/rofi.test.js` to CI. No data loss, security or lockout surface. Checked: - Read the full PR diff (7 files) with fresh eyes. - All 17 Studio Node suites pass, including the new Rofi gate. - `python3 studio/tools/build_data.py` leaves `studio/data` unchanged (not stale). - Native Rofi 1.7.5 `-no-config -rasi-validate` accepts the stock source and all recolored/preset/font variants, and rejects a malformed control. - Independent render of a recolored Nord variant plus a font block is valid and leaves no original palette hexes. Approving and merging.
keeper merged commit ba29ce620a into main 2026-10-08 12:23:03 +00:00
keeper deleted branch work-86yr.14-export-rofi-theme 2026-10-08 12:23:03 +00:00
Sign in to join this conversation.
No reviewers
No labels
review:human
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
daniel/mossfire!56
No description provided.