📈 GH Trending Explorer 🎲 Surprise me

← all repos

crmne / fastframe

git clone https://github.com/crmne/fastframe.git v0.14.0 · 2d ago

egui on rails: the shared foundation for native Rust apps built with egui

+2
stars, 24h · #5,601
+~14
stars, 7 days · #6,343
+183
stars, 30 days · #2,740
189
★ total · +8% this week
19
forks · 9 open issues

Star history (as recorded here)

2026-10-20 · 181 ★ 2026-10-22 · 189 ★
LanguageRust
LicenseMIT
Created2026-09-25 (27d ago)
Last push2d ago
Watchers1
OwnerUser

GitHub topics

Links

README excerpt
fastframe 
 egui on rails. The desktop essentials around your app. 
 Documentation ·
 Get started ·
 Releases ·
 Sponsor 
Build your interface with egui. Let fastframe handle the parts a desktop app
needs around it: native text, themes, tray menus, audio, media keys, sleep and
wake, notifications, and updates that can roll back.
Each capability is a small Rust crate. Take the ones you need, keep your own
layout and product decisions, and run on **Linux, macOS, and Windows**.
No telemetry or hosted service is required by the crates.
Extracted from ZapFast,
Spotifast, Solco,
TonePush, and
Chat with Work.
## See it
Real egui windows from the font specimen,
using synthetic text. Interface weights and installed script fallbacks work in
both themes. The light specimen uses a validated local font.
| Default interface font, dark | Local interface font, light |
| --- | --- |
| | |
Run it with `cargo run -p fastframe-fonts --example fonts`, or append
`-- /path/to/font.ttf` to try a local face. Installed fallback faces vary by platform.
## Start with fonts and text
Requires **Rust 1.98+** and **egui 0.36.2**. fastframe is not on crates.io yet;
pin every fastframe crate to the same release tag:
 [code] 
At startup, before the first frame:
 [code] 
Then add only what your app uses. Each crate README has its own setup example.
The getting started guide explains
integration, and the migration guide shows what the existing
apps replaced.
## Crates
| Crate | What it does |
| --- | --- |
| `fastframe-text` | Desktop font rendering settings, text scaling, and pixel snapping. |
| `fastframe-fonts` | Inter, system or validated local interface fonts, with script and regional Han fallbacks. |
| `fastframe-emoji` | Platform colour emoji, drawn off the UI thread, with a bundled fallback. |
| `fastframe-icons` | Embedded SVG icon sets, persistent image loading, and shared Lucide icons. |
| `fastframe-theme` | Editable JSON palettes, system appearance, live Omarchy themes, and colour transitions. |
| `fastframe-i18n` | Bundled gettext catalogs, plural forms, language detection, and translation tooling. |
| `fastframe-log` | Per-run logs for bug reports, private-target rewriting, and safe panic logging. |
| `fastframe-tray` | Native tray icons and menus on Linux, macOS, and Windows. |
| `fastframe-dock` | macOS Dock icons and visibility, plus desktop unread badges. |
| `fastframe-titlebar` | Draggable headers, native button layouts, double-click actions, and resize edges. |
| `fastframe-shell` | Keep running without a window, reopen it, and restore its size, position, and zoom. |
| `fastframe-audio` | Maintained audio input and output, preallocated output conversion, device changes, app and stream names in volume mixers, and rodio mixing. |
| `fastframe-scroll` | Platform wheel steps, touchpad momentum, and axis locking. |
| `fastframe-autostart` | Start at login through each platform, including Flatpak and hidden startup. |
| `fastframe-instance` | One running copy per use