codeburn/gnome
Resham Joshi f5cbfe28bb
Some checks are pending
CI / semgrep (push) Waiting to run
Overhaul GNOME Shell extension with full-featured UI (#222)
* Rewrite GNOME extension UI with branded popover matching macOS menubar

Combines PR #212's modular architecture (DataClient, GSettings, Libadwaita
prefs) with the custom St widget UI from feat/tauri-menubar-win-linux.

Adds: branded header, horizontal agent tabs, hero typography, period/insight
pills, 19-day token histogram, 6 content views (Activity, Trend, Forecast,
Pulse, Stats, Plan), currency switcher with FX conversion, findings CTA,
budget alerts, theme detection, payload caching with TTL.

* Add Main.panel.addToStatusArea call to extension entry point

* Align activity/model rows as table with separators, gear icon for prefs

* Add table column headers, oneshot placeholder, currency picker dropdown

* Enhance GNOME extension with scrollable UI, dark mode, charts, and performance fixes

- Add vertical scroll for popup content and horizontal scroll for 6+ provider tabs
- Add token histogram chart with hover tooltips showing date, in/out tokens, cost
- Add skeleton loading animation with stale-while-revalidate caching (5min TTL)
- Add dark/light theme support with force-dark-mode setting
- Add exact costs toggle for full decimal values
- Add right-aligned columns for cost, turns, oneshot, and model data
- Remove unsupported St CSS properties (text-align, letter-spacing)
- Fix post-destroy crash: guard async callbacks, abort Soup session on teardown
- Fix dataClient double-resolve race with settled guard
- Expand PATH resolution for volta, bun, cargo, asdf, fnm, pnpm
- Reduce CLI timeout from 45s to 15s and cache augmented PATH
- Remove unused imports (Pango, Main) and dead constants
- Show 10 top activities, remove Plan pill
2026-05-04 18:05:59 -07:00
..
icons feat: add GNOME Shell extension for Linux panel indicator 2026-05-04 09:44:35 -04:00
schemas Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
dataClient.js Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
extension.js Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
indicator.js Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
install.sh feat: add GNOME Shell extension for Linux panel indicator 2026-05-04 09:44:35 -04:00
metadata.json Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
prefs.js Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00
README.md feat: add GNOME Shell extension for Linux panel indicator 2026-05-04 09:44:35 -04:00
stylesheet.css Overhaul GNOME Shell extension with full-featured UI (#222) 2026-05-04 18:05:59 -07:00

CodeBurn GNOME Extension

Monitor AI coding assistant token usage and costs from your GNOME desktop panel.

Requirements

  • GNOME Shell 45 or later
  • CodeBurn CLI installed (npm i -g codeburn)
  • glib-compile-schemas (usually part of glib2-devel or libglib2.0-dev)

Install

cd gnome
chmod +x install.sh
./install.sh

Then restart GNOME Shell:

  • Wayland: Log out and back in
  • X11: Press Alt+F2, type r, press Enter

Enable the extension:

gnome-extensions enable codeburn@codeburn.dev

Configure

Open preferences:

gnome-extensions prefs codeburn@codeburn.dev

Or use the GNOME Extensions app.

Settings

Setting Default Description
Refresh Interval 30s How often to poll CodeBurn CLI
Default Period Today Period shown on open
Compact Mode Off Hide cost label, show icon only
Budget Threshold $0 Daily budget alert (0 = disabled)
Budget Alerts Off Show warning when budget exceeded
CLI Path (auto) Custom path to codeburn binary

Uninstall

gnome-extensions disable codeburn@codeburn.dev
rm -r ~/.local/share/gnome-shell/extensions/codeburn@codeburn.dev

Development

Test changes without installing:

# Compile schemas locally
glib-compile-schemas schemas/

# Symlink for development
ln -sf "$(pwd)" ~/.local/share/gnome-shell/extensions/codeburn@codeburn.dev

# Watch logs
journalctl -f -o cat /usr/bin/gnome-shell