burnbar 0.0.0-dev.39.1 → 0.0.0-dev.43.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -15,11 +15,11 @@ See how fast you're burning through your plan limits without leaving what you're
15
15
 
16
16
  [Features](#features) • [See it in action](#see-it-in-action) • [Installation](#installation) • [Build from source](#build-from-source)
17
17
 
18
- <img src="docs/images/tray-popup-dark.png" alt="BurnBar framed tray popup with Claude and Codex usage" width="410">
18
+ <img src="docs/images/milestone-popup-dark.png" alt="BurnBar brief usage milestone notification" width="410">
19
19
 
20
20
  </div>
21
21
 
22
- Claude and Codex have session and longer-term plan limits. BurnBar keeps both providers in a compact tray-anchored card, warns you before you run out, and shows whether you're using them faster than the time
22
+ Claude and Codex have session and longer-term plan limits. BurnBar keeps both providers in a tray-anchored card when you need it, warns you before you run out, and shows whether you're using them faster than the time
23
23
  window allows. Use both together, or select one from **Usage providers** in the right-click menu.
24
24
  Codex window lengths come from your account rather than assuming every plan uses the same limits.
25
25
 
@@ -29,17 +29,29 @@ Codex window lengths come from your account rather than assuming every plan uses
29
29
 
30
30
  ## Features
31
31
 
32
- - **Always-visible tray popup**: a rounded, framed card shows both providers above
33
- the notification-area icon by default, with quota bars, pace markers and reset times.
34
- It opens without stealing focus and follows light/dark theme and display scaling.
35
- - **Your choice**: uncheck **Always show popup** in the right-click menu for click-to-open
36
- mode. Click the card for full details. Esc or clicking elsewhere collapses details
37
- back to the persistent card, or closes it in click-only mode. The choice survives restarts.
38
- - **Fullscreen-aware**: the persistent card hides during fullscreen apps and returns
39
- afterwards. It stays inside the monitor's work area and follows the tray icon.
40
- - **Optional taskbar meter**: enable **Show taskbar meter (optional)** for the rotating
41
- compact bars. Existing taskbar preferences are preserved when updating; new profiles
42
- use the popup instead. Bars turn red at 90%.
32
+ - **Brief milestone popups**: by default, a small framed card appears when either
33
+ provider's primary/session or secondary/weekly quota crosses **10%, 20%, … 100%**.
34
+ It shows the affected provider, takes no focus, and closes after the selected delay (**6 seconds** by default).
35
+ More updates do not keep extending it. Jumps show only the highest new milestone,
36
+ not a burst of every skipped threshold.
37
+ - **Quiet by default**: first readings establish a baseline instead of replaying
38
+ old milestones. Saved per-window state avoids duplicates on refresh or restart;
39
+ quota resets rearm the tracker. Crossings are detected on the next successful
40
+ refresh, not continuously between API reads.
41
+ - **Your choice**: click the tray icon any time to inspect usage; click an automatic
42
+ notice for details. Manual popups also close after the selected delay; clicks restart
43
+ their timer. Right-click → **Milestone popups (10% steps)** disables automatic
44
+ cards for click-only use. **Always show popup (optional)**
45
+ restores a persistent overview if preferred. Esc or clicking elsewhere closes
46
+ manual views unless always-show is enabled.
47
+ - **Fullscreen-aware**: no automatic popup appears over a fullscreen app, and missed
48
+ milestones are not queued to interrupt you afterwards. Cards follow light/dark
49
+ theme, DPI and the notification icon, and remain inside the monitor's work area.
50
+ - **Configurable close delay**: **Close popup after** applies to both automatic and
51
+ manually opened views: 3, 5, 6, 10, 15, 30 or 60 seconds. Your selection survives
52
+ restarts. Background usage refreshes do not extend the timer.
53
+ - **No tooltip overlap**: the native tray tooltip is hidden while a popup is visible
54
+ and restored once it closes.
43
55
  - **Pace marker**: a tick on each bar shows how much of the window's time has passed.
44
56
  A bar past its tick means you'll hit the limit before it resets.
45
57
  - **Details panel**: separate provider panels, reported quota windows, reset times, and independent
@@ -47,29 +59,27 @@ Codex window lengths come from your account rather than assuming every plan uses
47
59
  - **Alerts**: Windows notifications at 80% and 95%, and when a limit you'd been close to resets.
48
60
  - **Fresh numbers**: refreshes on a schedule, within a minute of Claude Code or Codex activity, and right after
49
61
  a limit resets, backing off automatically if the API rate-limits.
50
- - **Multi-monitor**: the popup follows the primary notification icon; optional meters can appear on every taskbar.
62
+ - **Tray-only**: no taskbar widget or overlay windows. The popup follows the primary
63
+ notification icon and remains inside that monitor's work area.
51
64
  - **Lightweight**: one native executable, installed or updated with npx. Codex usage uses your existing Codex CLI.
52
65
  - **Start with Windows**: enabled on first launch for new users; turn it off from the
53
66
  right-click menu at any time. Existing startup preferences are preserved.
54
- - **About**: right-click the meter or tray icon for the app version, developer credits,
67
+ - **About**: right-click the popup or tray icon for the app version, developer credits,
55
68
  and a link to this repository.
56
69
 
70
+ Existing installations using the previous always-visible default switch to the
71
+ quieter milestone mode once on upgrade. You can opt back into always-show after
72
+ updating; that explicit choice is retained. See [popup behavior](docs/POPUP_BEHAVIOR.md).
73
+
57
74
  ## See it in action
58
75
 
59
76
  <div align="center">
60
- <img src="docs/images/tray-popup-light.png" alt="BurnBar tray popup, light theme" width="400">
61
- <img src="docs/images/tray-popup-dark.png" alt="BurnBar tray popup, dark theme" width="400">
77
+ <img src="docs/images/milestone-popup-light.png" alt="BurnBar milestone popup, light theme" width="400">
78
+ <img src="docs/images/milestone-popup-dark.png" alt="BurnBar milestone popup, dark theme" width="400">
62
79
  <br>
63
- <sub>Rendered demo previews: the always-visible overview. Click for charts and full details.</sub>
80
+ <sub>Rendered demo previews: a milestone notice that closes automatically. Click to inspect details.</sub>
64
81
  </div>
65
82
 
66
- <details>
67
- <summary>Optional taskbar meter demo</summary>
68
-
69
- <img src="docs/images/burnbar-demo.gif" alt="The optional rotating taskbar meter and usage details" width="848">
70
-
71
- </details>
72
-
73
83
  ## Installation
74
84
 
75
85
  You need Windows 10 or 11 and a signed-in provider:
@@ -79,7 +89,7 @@ You need Windows 10 or 11 and a signed-in provider:
79
89
  (`codex login`). API-key-only accounts do not provide these subscription usage limits.
80
90
  BurnBar also detects the CLI bundled with the Windows Codex desktop app when available.
81
91
 
82
- Both providers appear in the popup by default. A missing login affects only that provider. Select
92
+ Both providers are available from the tray; automatic notices show the affected provider. A missing login affects only that provider. Select
83
93
  **Usage providers** from the right-click menu to hide a provider you don't use.
84
94
 
85
95
  ### Install or update with npx
@@ -174,8 +184,7 @@ The executable also accepts a few flags for development:
174
184
  |---|---|
175
185
  | `-demo` | Show sample numbers and history without calling the API |
176
186
  | `-providers both` | Show Claude and Codex; also accepts `claude` or `codex`. Defaults to the saved menu setting. |
177
- | `-taskbar-layout` | Print measured taskbar spans and the compact meter's available slot, then exit. Useful for diagnosing placement. |
178
- | `-snapshot <dir>` | Render PNG previews and the provider-rotation GIF in both themes, then exit. Combine with `-demo -providers both`. |
187
+ | `-snapshot <dir>` | Render popup PNG previews in both themes, then exit. Combine with `-demo -providers both`. |
179
188
  | `-once` | Print usage summaries for the selected providers, then exit. Needs a console build: `go build -o bin\burnbar-cli.exe ./cmd/burnbar` |
180
189
 
181
190
  > [!WARNING]
@@ -187,11 +196,12 @@ The executable also accepts a few flags for development:
187
196
 
188
197
  ```
189
198
  cmd/burnbar/ entry point, flags, embedded icon and manifest
190
- internal/app/ Windows UI: taskbar meters, tray icon, details panel, menu, Win32 and UI Automation
199
+ internal/app/ Windows UI: tray icon, timed popups, details panel, menus and Win32
191
200
  internal/usage/ Claude usage client and Codex app-server account client
192
201
  internal/render/ drawing the meter, details panel, charts and tray icon
193
- internal/layout/ choosing a free spot on the taskbar
202
+ internal/layout/ popup placement and fullscreen visibility
194
203
  internal/config/ settings and alert state
204
+ internal/alerts/ milestone deduplication and popup lifetime
195
205
  internal/history/ usage history for the charts
196
206
  tools/genres/ icon and Windows resource generator
197
207
  assets/ app icon
@@ -147,7 +147,7 @@ try {
147
147
  $shortcut.TargetPath = $targetExe
148
148
  $shortcut.WorkingDirectory = $installPath
149
149
  $shortcut.IconLocation = "$targetExe,0"
150
- $shortcut.Description = 'Claude and Codex usage monitor for the Windows taskbar'
150
+ $shortcut.Description = 'Claude and Codex usage monitor for the Windows notification area'
151
151
  $shortcut.Save()
152
152
  } catch {
153
153
  Write-Warning "BurnBar is installed, but its Start menu shortcut could not be created: $($_.Exception.Message)"
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "burnbar",
3
- "version": "0.0.0-dev.39.1",
4
- "description": "Install or update the BurnBar Windows taskbar usage meter",
3
+ "version": "0.0.0-dev.43.1",
4
+ "description": "Install or update the BurnBar Windows tray usage monitor",
5
5
  "license": "MIT",
6
6
  "repository": {
7
7
  "type": "git",