Skip to content

feat(zbugs-rune): follow zbugs-swift's macOS layout - #169

Merged
tmm merged 1 commit into
mainfrom
zbugs-rune-layout
Nov 11, 2026
Merged

tmm merged 1 commit into
mainfrom
zbugs-rune-layout

Conversation

@tmm

@tmm tmm commented Nov 11, 2026

Copy link
Copy Markdown
Member

The Rune zbugs app now follows zbugs-swift's macOS layout (apps/zbugs-swift/Sources/ZBugsUI), so the Swift, GPUI and Rune apps share one layout. Exact pixels and colours stay Rune-native.

zbugs-swift, Rune before, Rune after

What moved

  • Sidebar: one card of labeled rows, with the label on the left and the value on the right:

    • Status, Sort and Order as borderless pop-ups (Open/Closed/All, Modified/Created, Newest First/Oldest First);
    • Created by Me and Assigned to Me as switches;
    • Creator, Assignee and Labels;
    • Project.

    The connection badge, Log Out and Servers… are no longer in the sidebar.

  • List header, in the titlebar band: "Open Issues", the count, the connection dot and "Connected" (pressing it reconnects now, and its tooltip shows the server or the error), and icon buttons for Select and New Issue. Last comes the account menu: "Logged in as … (role)", Log Out (or Log In…), and Servers….

  • Rows: the open circle (green) or closed check (purple), the title, then "#id · creator · time" and the label chips. The unread dot stays.

  • Detail: close or reopen, edit, and delete are toolbar icons, with search at the right of the band. Below them come the title, "Open by …" (with "· Internal" when internal), and then the assignee, visibility and notifications pickers in one compact row. The labels, body, reactions, comments and comment box follow.

  • The three headers share a 52-point titlebar band (rune::Titlebar) that drags the window. The sidebar's band keeps clear of the traffic lights.

  • New src/icons.rs draws the SF Symbols that Swift uses as SVG icons.

Screenshots

macOS, headless with Rune's renderer at 1180×760, against zbugs' backend, with rocicorp#3005 selected.

zbugs-swift (reference) Rune before Rune after
swift before after
Account menu Order pop-up A closed, internal issue (end of e2e.sh)
account order closed

Checks

  • cargo fmt --check, cargo clippy --all-targets --locked -D warnings and cargo test --locked pass.
  • On a Mac against the backend, e2e.sh passes all 8 checks (comment edited, reaction, labels, closed, internal, unsubscribed, viewed, comment on screen). The keys it taps (toggle-open, labels-trigger, visibility-trigger, notifications-trigger, …) are unchanged.
  • The headless Linux render without a backend still draws all three columns.

No changes to rust/ or apps/zbugs-model.

The sidebar is one card of labeled rows (Status, Sort, Order, the
Created by Me and Assigned to Me switches, Creator, Assignee, Labels,
Project). The connection and the account (Log Out or Log In, Servers)
move to the list header, which shares the titlebar's band with the
detail's toolbar: close or reopen, edit and delete as icons, then the
search. Rows lead with the open or closed circle and read
"#id · creator · time"; the issue's pickers sit in one row under its
status line.

Amp-Thread-ID: https://ampcode.com/threads/T-01a1c85e-fd3c-72ba-98dd-f4767a00e73b
Co-authored-by: tmm <tmm@tmm.dev>
@tmm
tmm merged commit 00fd880 into main Nov 11, 2026
18 checks passed
@tmm
tmm deleted the zbugs-rune-layout branch November 11, 2026 22:36
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.

2 participants