Design and technical reference for ffwebapps — native, chromeless web apps for Linux, built on Firefox's first-party Web Apps. Last updated 2026-06-29.
ffwebapps runs any website as a standalone desktop app: its own window with no tabs or
address bar, its own dock identity, and a system-tray icon with an unread badge. Rather than
patching Firefox's chrome, it drives Firefox's first-party Web Apps (Taskbar Tabs)
feature and configures it through supported extension points — a privileged
_autoconfig.cfg, a profile user.js, and userChrome.css.
There is no ffwebapps daemon: the running app is a Firefox process that serves one
Unix socket, and everything else — the CLI, the tray, the GTK GUI — is a short-lived
client of it. These pages document each part from its real implementation.
_autoconfig.cfg, the taskbartabs registry, profile prefs, and the chromeless titlebar.Run trait, and the three-state update semantics behind site update.ksni StatusNotifierItem, the flock singleton, the menu, and the “tray spawns nothing” invariant.ffwebapps-gtk app: same-crate in-process calls, off-thread workers, the carousel UI, and live socket control..desktop launcher, icons, autostart, the app_id identity chain, and the KWin position rule.
ffwebapps by Jordan Johnston — github.com/nine7nine/ffwebapps
A fork of PWAsForFirefox by Filip Š. — native chromeless web apps for Linux | 2026-06-29