codeburn/extensions/gnome-shell
AgentSeal 4c5ec0f985 feat(extensions): polish GNOME extension and follow system theme
Expand the popup to show everything the TUI does: period switcher submenu,
top activities with one-shot rate, top models, provider breakdown when more
than one provider has data, optimize findings, and an updated-timestamp row.
Add per-period Open Full Report so the terminal view matches what the popup
was showing.

For theme compatibility, stop hardcoding colors that don't work on both
light and dark GNOME themes. Keep the brand orange (#ff8c42) for the header
and findings, let everything else inherit the shell palette, and express
dimming through opacity instead of rgba so the popup reads correctly on
Yaru Light, Yaru Dark, Adwaita, Adwaita Dark, and any other theme.

Add a listener on org.gnome.desktop.interface color-scheme so the indicator
re-applies its .codeburn-dark / .codeburn-light class when the user flips
the system theme, without waiting for a reload.
2026-04-18 04:20:14 -07:00
..
codeburn@agentseal.org feat(extensions): polish GNOME extension and follow system theme 2026-04-18 04:20:14 -07:00
README.md feat(extensions): add GNOME Shell extension for native panel feel 2026-04-18 04:06:44 -07:00

CodeBurn GNOME Shell extension

Native GNOME panel button that shows today's AI coding spend with a click-to-open popover, matching the feel of Ubuntu's Quick Settings menu.

This is an alternative to the cross-platform Tauri tray app in ../desktop/. Use this on GNOME for the most native UX. The Tauri app stays the right choice for KDE, Unity, wlroots compositors, Windows, and headless systems.

Requirements

  • GNOME Shell 45, 46, 47, or 48 (Ubuntu 22.04 LTS, 24.04 LTS, and Fedora 39+)
  • codeburn CLI on PATH (npm install -g codeburn)

Install (from source, local user)

cp -r extensions/gnome-shell/codeburn@agentseal.org ~/.local/share/gnome-shell/extensions/
gnome-extensions enable codeburn@agentseal.org

Then restart GNOME Shell so the extension loads:

  • X11: press Alt + F2, type r, press Enter.
  • Wayland: log out and log back in (GNOME on Wayland has no in-session shell restart).

What it shows

Panel button:

  • 🔥 icon
  • Today's cost (e.g. $24.73)

Popup menu:

  • Header: period + cost + call count + session count
  • Top 5 activities (Coding, Debugging, Testing, etc.) with per-activity cost and turn count
  • Optimize findings count with potential savings (if any)
  • Refresh and Open Full Report actions

Data refreshes every 60 seconds. Right-click the panel button to open the default panel context menu.

Uninstall

gnome-extensions disable codeburn@agentseal.org
rm -rf ~/.local/share/gnome-shell/extensions/codeburn@agentseal.org

Development

Run a nested shell to iterate without restarting your session (X11 only):

dbus-run-session -- gnome-shell --nested --wayland

Tail the extension log:

journalctl -f -o cat /usr/bin/gnome-shell

The extension uses the GNOME 45+ ESM-based extension API (import + Extension class). It will not load on GNOME 44 or earlier.