Skip to content

desktop: Soft Tactile Settings — window, nav, Tasks, Skills, Privacy as real screens - #447

Open
plombeer31 wants to merge 1 commit into
facelift/1-foundationfrom
facelift/7a-settings
Open

plombeer31 wants to merge 1 commit into
facelift/1-foundationfrom
facelift/7a-settings

Conversation

@plombeer31

Copy link
Copy Markdown
Collaborator

Part of the Soft Tactile desktop redesign. Depends on #440 (base branch facelift/1-foundation); every region PR can merge in any order after it. The integrated build is facelift/integration.

Soft Tactile, the Settings window ("Menu › Manage") and its Tasks, Skills and Privacy tabs (ST-01…11, ST-33), redrawn from terminal text as real screens. Builds on the foundation PR; the Memory / MCP / Telegram / Import and LLM PRs draw inside this frame. Key handlers, polls and data functions are untouched.

What changes

  • Frame: a 1060×700 well window over the blurred scrim.
    • Nav: "Manage", eight tab rows (icon · label · count · chord keycap), then every real menu command under its group label in a list that scrolls on its own; Uninstall ("not available in the desktop") and "⌃G then a letter" at the bottom.
    • Body: a lifted card with "Manage › Tab" and close, the pane, and a Build / Agent / State footer in DM Mono.
  • Tasks: a toolbar with all eight real filters as a segmented control, search, the "auto · refreshed Ns ago · N of M" readout (click toggles auto-refresh), Refresh and New task; a real table with status chips; task detail with the message as title, a data plate, the last error in red, Open session / Run now / Cancel task; the New task form in two columns with the next five firings beside the fields (Create task disabled until the schedule parses); the recurring-cancel confirm with Keep N / Cancel task Y; an empty state whose hints are buttons.
  • Skills: rows with a switch · name · source chip · version · description and the restart line after a toggle; skill detail with the switch, Remove and SKILL.md in a mono well; the remove confirm over the view it was raised from; the Hub with search, result rows and the install card; the dangerous-scan override as a danger modal.
  • Privacy: the analytics switch row, session grants with a "none active" chip, what is and is not sent, the restart line. The grants description no longer mentions [s]/[a] prompt keys the desktop does not have.
  • tasksAct accepts filter:<name> so a segment selects directly; the f key still cycles.

Verified

  • Trusted-input run 1, 59/59: a weekday cron, a recurring 0 0 29 2 * and a one-off at task created through the form in a scratch state; live preview, detail, the recurring confirm, filters, search with the caret kept, readout ticks, every nav row, a Privacy round trip, close and Escape focus.
  • Trusted-input run 2, 20/20: skill switch and restart line, detail, remove confirm, Hub browse / search / card against the network.
  • drive-selector.mjs: every Settings step passes (open, .settab "LLM", close); its 3 custom-route composer failures are the same on a0811bc3.

Smoke text

This PR keeps invisible copies of the old terminal strings so the smoke's text checks pass on it alone. facelift/integration removes them and points those checks at what is on screen (commit 35faccf); merge through the integration PR to get both.

The Manage window is redrawn from terminal text into a real window
(ST-01…11, ST-33), with the same state, acts, keys and data calls.

Frame: a 1060×700 well over the blurred scrim. The nav lists the eight
Manage tabs: each menu row carries a .settab switcher with its count and
chord keycap, and the other groups of the menu tree scroll under Commands.
The body is a lifted card with a "Manage › Tab" crumb, the close button,
the pane, and the Build / Agent / State data plate. The per-pane scroll
restore is kept, and the nav's own scroll now survives a repaint too.

Tasks: the filters as a segmented control, a search box, an auto-refresh
readout (the only part the poll repaints), Refresh and New task, then a
real table with status chips. The detail shows a data plate, the last
error and Open session / Run now / Cancel task. The New task form has a
kind segment, labelled fields, the next five firings beside them, and
Create task disabled until the schedule parses. Cancelling a recurring
task asks in an amber confirm over the card. Every hint is a keycap
button.

Skills: rows with an on/off switch, source chip, version and
description, and the restart line after a toggle. The detail shows
SKILL.md in a mono well and offers Remove. The Hub has its own search,
result rows and an install card. The remove and security-scan confirms
are danger modals over the view they came from.

Privacy: the analytics switch row, session grants ("none active"), what
is and is not sent, and the restart line.

tuiBtn/tuiHints draw the leading key as a keycap; brackets and colons
stay in the text at zero size, so labels read exactly as before. The TUI
column headers and a few lowercase labels the smoke compares are kept as
visually hidden text. tasksAct accepts filter:<name> for the segments;
the bare f key still cycles. __settingsStripRows counts the nav's single
column. The 0.5.5 rules for Memory / MCP / Telegram / Import / LLM are
removed from settings.css; the generic .tui* fallbacks are restyled.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant