A GNOME Shell 50 extension that puts your AI coding usage in the top bar, powered by the CodexBar CLI — a Linux-native port of the macOS CodexBar menu bar app, styled to feel like libadwaita.
- Panel gauge — a ring gauge (plus optional percentage label) showing how much of your rate limit remains; turns yellow/red near your thresholds and dims when data is stale.
- Provider cards — 5-hour and weekly rate-limit bars with reset countdowns, pace estimation ("on pace", "runs out in ~2 h"), and Codex reset credits. Providers switch via pill tabs, or use one panel icon per provider.
- Cost dashboard — local token spend for the last 30 days (configurable) with a daily bar chart and per-model breakdown, computed offline by the CLI.
- Notifications — desktop notifications when a window crosses your warning/critical thresholds (once per window), optionally when it resets.
- Incident badges — an orange dot on the gauge and a banner in the menu when a provider reports an incident on its status page.
- GNOME Shell 50
- The
codexbarCLI: download the Linux tarball from CodexBar releases and install the binary to~/.local/bin/codexbar(or set a custom path in the extension settings). Enable providers with e.g.codexbar config enable --provider claude. Providers whose default source needs macOS web scraping can be pointed at OAuth by adding"source": "oauth"to the provider entry in~/.config/codexbar/config.json.
Install the codexbar CLI from the requirements above first, then install the
GNOME Shell extension from a GitLab release:
-
Open the CodexBar releases page.
-
Download the latest extension ZIP:
wget -O /tmp/foxaibar.zip \ https://gitlab.com/MrYacha/codexbarr/-/releases/permalink/latest/downloads/foxaibar.shell-extension.zip
-
Install it with the GNOME Extensions CLI:
gnome-extensions install --force /tmp/foxaibar.zip
-
Log out and back in to reload GNOME Shell (required on Wayland).
-
Enable the extension:
gnome-extensions enable foxaibar@orangefox.tech
See INSTALL.md for the fuller guide and CLI setup notes.
From a git checkout, for development:
make enable # symlinks the repo into ~/.local/share/gnome-shell/extensionsLog out and back in (Wayland), then the indicator appears in the top bar.
make nested # isolated nested shell (headless services, private dconf)
make nested-shot # nested shell that opens the menu and saves a PNG
make logs # follow gnome-shell journal
make pack # build the distributable zipNested runs are fully isolated: a private XDG_RUNTIME_DIR (so the nested
session's portals can't break the host session) and a private dconf profile
(tools/dconf-nested-profile) that enables only this extension and points it
at tools/codexbar-mock, which replays captured fixtures from fixtures/.
fixtures/ is not committed (it contains personal usage data) — capture your
own before the first nested run; the commands are listed in .gitignore.
