Rust / build (macos-latest, stable) (push) Waiting to run
Rust / build (ubuntu-latest, stable) (push) Waiting to run
Rust / build (windows-latest, stable) (push) Waiting to run
Rust / build (macos-latest, stable) (pull_request) Waiting to run
Rust / build (ubuntu-latest, stable) (pull_request) Waiting to run
Rust / build (windows-latest, stable) (pull_request) Waiting to run
40 lines
2.3 KiB
Markdown
40 lines
2.3 KiB
Markdown
# gpui-native-kit gaps
|
|
|
|
Known Signed features the kit does not currently support. Recorded instead of
|
|
modifying the kit or reimplementing a parallel mechanism.
|
|
|
|
1. **Custom themes.** `Signed Light`/`Signed Dark`, theme registry names, font
|
|
sizes, radii, focus ring, and shadows are removed. The kit derives colors,
|
|
radii, fonts, and chrome from the OS; `AppearanceMode` is preserved through
|
|
`set_mode_override`/`follow_system`.
|
|
2. **Tab bar navigation.** The previous/next tab buttons and
|
|
`tab_bar.hide_navigation_buttons` are removed; the kit tab strip has none.
|
|
3. **Traffic-light placement.** Custom macOS traffic-light position and the 44px
|
|
tab bar are removed. The kit uses `theme.titlebar_height` and a fixed 78px
|
|
traffic-light pad.
|
|
4. **Virtual list.** The kit has no data-driven virtual list. Screens keep
|
|
`gpui::uniform_list` for fixed-height lists and `ScrollArea` for the Inbox.
|
|
5. **Editable code field.** The kit code view is read-only and supports four
|
|
grammars. Signed only previews files read-only; other extensions render as
|
|
plain text.
|
|
6. **Hunk-only diffs.** Kit `DiffViewState` needs the full old and new texts;
|
|
`CommitDiff` carries hunks only. The custom hunk rows are retained.
|
|
7. **Tree data.** The kit tree is flat with caller-managed expansion, and has no
|
|
file glyph; folders use the folder role.
|
|
8. **Dynamic dock panels.** `DockState` has no unregister or `open_view` API.
|
|
Per-repository/per-entity panels register a builder keyed by a unique id and
|
|
stay in the builder map. No dock persistence, zoom, or bottom/right
|
|
placement; splits only.
|
|
9. **Dialogs.** Dialogs are elements mounted at the window root; there is no
|
|
`window.open_dialog`, dialog stack, or non-dismissible option. A single-slot
|
|
`DialogHost` is used, and the passphrase dialog ignores dismiss requests.
|
|
10. **Notifications.** The kit toast shows one toast at a time; backend errors
|
|
queue but only the current toast is visible.
|
|
11. **Segmented badges.** `Segmented` has no badge slot; filter counts fold
|
|
into labels.
|
|
12. **Combobox trigger.** `Combobox` has no custom trigger renderer; branch/tag
|
|
selectors lose the leading git icon and custom caret.
|
|
13. **Icons.** The built-in role set is limited. App-specific glyphs remain in
|
|
`assets::CustomIconName` through `IconNamed`; kit icons are unpainted
|
|
unless given a color.
|