refactor: migrate the UI to GTK4 with Relm4 and libadwaita

This commit is contained in:
randogoth 2026-10-02 22:32:12 +03:00
parent 517d938c46
commit 7fdcd0d811
11 changed files with 2782 additions and 4765 deletions

View file

@ -1,6 +1,6 @@
# carrier
A minimalist desktop client for [Smol Mail](../smolmail): one compact window — the list above, the article below — built on [fumi-core](../fumi), the reference CLI's own library, with an [Iced](https://iced.rs) UI. One 32-byte seed is the only secret; mail stays sealed at rest and opens on demand.
A minimalist desktop client for [Smol Mail](../smolmail): one compact window — the list above, the article below — built on [fumi-core](../fumi), the reference CLI's own library, with a [Relm4](https://relm4.org) (GTK4) UI built from libadwaita's own widgets, so it follows the user's theme and accent colour. One 32-byte seed is the only secret; mail stays sealed at rest and opens on demand.
## What it does
@ -14,11 +14,10 @@ A minimalist desktop client for [Smol Mail](../smolmail): one compact window —
## Layout
```
src/main.rs config directory, iced launch
src/main.rs config directory, demo seeding, launch
src/app.rs state and update; blocking calls run on the worker pool
src/view.rs the compact split view: tab bar, list, article, status line
src/view.rs the Relm4 component: widgets, the op adapter, the re-render
src/ops.rs fumi-core calls, key/read-mark files, and the offline tests
src/theme.rs the palette: navy surfaces, mint accent, monospace protocol values
```
## State