Skip to content

feat(ui): floating menu scrollbars, Linux CSD window chrome, and stacked error notices. Just some UI/UX improvements here and there - #364

Open
rabden wants to merge 1 commit into
zeronsh:mainfrom
rabden:ui-scrollbars-csd-chrome
Open

rabden wants to merge 1 commit into
zeronsh:mainfrom
rabden:ui-scrollbars-csd-chrome

Conversation

@rabden

@rabden rabden commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

added scrollbars in Settings screens and popups and file tree list

Screencast.From.2026-09-14.21-06-16.mp4
Screencast.From.2026-09-14.21-04-53.mp4
Screenshot From 2026-09-14 21-04-03

improved and streamlined project popover

Screenshot From 2026-09-14 21-04-18

fixed layout for error message

before
image
after
Screenshot From 2026-09-14 21-03-33


Previously in linux it was impossible to resize window and window corners were unrounded, fixed that

Screencast.From.2026-09-14.21-06-53.mp4

Summary

Three related UI workstreams:

Floating menu scrollbars everywhere

Spreads the model-picker's floating scrollbar treatment across every scrolling surface:

  • All eight settings pages (via a shared PageScroll container), the appearance font chooser, the composer mention/slash popups, the branch/space/device pickers, the sidebar spaces menu, the terminal panel, and the sidebar file tree (bridged off ListState, which exposes no scroll handle — prepaint-measured viewport + set_scroll_handler activity).
  • Behavior: the rail appears on scroll motion or drag (hover alone shows nothing), freezes open while the track is hovered, then lingers 1400ms and fades over 260ms. Track clicks center the thumb; thumb drags scroll proportionally.

Linux CSD window chrome

  • Invisible resize edge/corner strips over the window edges (start_window_resize), gated per-edge on compositor tiling like GTK — a maximized/snapped window only exposes its free edges. This fixes the "can only minimize/maximize" regression on X11/Wayland CSD.
  • Rounded window corners when floating: the window composites with alpha (WindowBackgroundAppearance::Transparent on Linux), and since gpui's content masks are rectangular, every full-bleed layer paints its own rounded corners — the shell frost, the sidebar tone, the right pane panel, the terminal dock, and a corner-trimmed collapsed-sidebar hairline (the same trim macOS's window-server clip applies natively).

Stacked error/warning notices

  • The transcript ErrorChip and the composer failure Notice converge on a shared crate::notice chip: icon + label header row with a copy button at the top-right, and the full message wrapping below (exit statuses and stderr stay pasteable instead of ellipsized).
  • Shortcuts settings: group labels sit tight above their cards (the old double spacing read as detached headers).

Testing

  • Built and manually exercised on Fedora (X11): scrolling on every listed surface, rail linger/fade/drag behavior, window resize from all edges/corners, rounded vs. square corners across maximize/restore/tile, sidebar open/collapsed hairline trim, notice copy button.

🤖 Generated with opencode


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

…ked error notices

Spread the model-picker floating scrollbar across every scrolling
surface: settings pages (PageScroll), the composer mention/slash
popups, the branch/space/device pickers, the sidebar spaces menu, the
terminal panel, the sidebar file tree (bridged off ListState), and the
appearance font chooser. Rails show on scroll motion or drag, freeze
while the track is hovered, and linger 1400ms before a 260ms fade.

Give Linux CSD windows proper chrome: invisible resize edge/corner
strips (start_window_resize, per-edge tiling gated), alpha-composited
rounded corners when floating, and per-layer corner rounding for
full-bleed surfaces (sidebar tone, right pane, terminal dock) plus a
corner-trimmed collapsed-sidebar hairline.

Restack the transcript ErrorChip and composer failure notice into a
shared notice chip (crate::notice): icon + label header, wrapping
message body, and a copy button at the top-right corner. Also tighten
the shortcuts settings group labels to their cards.
@rabden rabden changed the title feat(ui): floating menu scrollbars, Linux CSD window chrome, and stacked error notices feat(ui): floating menu scrollbars, Linux CSD window chrome, and stacked error notices. Just some UI/UX improvements here and there Sep 14, 2026
@rabden

rabden commented Sep 14, 2026

Copy link
Copy Markdown
Contributor Author

@wingleeio quick experiance fixes. upto-date. immediately mergable. necessary to improve the premium aesthetics of zeron

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