burnbar 0.0.0-dev.37.1 → 0.0.0-dev.41.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 +68 -84
- package/npm/bin/burnbar.cjs +1 -1
- package/{install.ps1 → npm/windows/install.ps1} +2 -4
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -10,17 +10,16 @@
|
|
|
10
10
|
[](#installation)
|
|
11
11
|
[](LICENSE)
|
|
12
12
|
|
|
13
|
-
**Claude and Codex usage
|
|
13
|
+
**Claude and Codex usage at a glance, beside your Windows tray.**<br>
|
|
14
14
|
See how fast you're burning through your plan limits without leaving what you're doing.
|
|
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="
|
|
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
|
|
23
|
-
taskbar, 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
|
|
24
23
|
window allows. Use both together, or select one from **Usage providers** in the right-click menu.
|
|
25
24
|
Codex window lengths come from your account rather than assuming every plan uses the same limits.
|
|
26
25
|
|
|
@@ -30,38 +29,60 @@ Codex window lengths come from your account rather than assuming every plan uses
|
|
|
30
29
|
|
|
31
30
|
## Features
|
|
32
31
|
|
|
33
|
-
- **
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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 **6 seconds**.
|
|
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 to keep it open and show details. Right-click → **Milestone popups (10% steps,
|
|
43
|
+
6 sec)** disables automatic cards for click-only use. **Always show popup (optional)**
|
|
44
|
+
restores a persistent overview if preferred. Esc or clicking elsewhere closes
|
|
45
|
+
manual views unless always-show is enabled.
|
|
46
|
+
- **Fullscreen-aware**: no automatic popup appears over a fullscreen app, and missed
|
|
47
|
+
milestones are not queued to interrupt you afterwards. Cards follow light/dark
|
|
48
|
+
theme, DPI and the notification icon, and remain inside the monitor's work area.
|
|
49
|
+
- **Optional taskbar meter**: enable **Show taskbar meter (optional)** for the rotating
|
|
50
|
+
compact bars. Existing taskbar preferences are preserved when updating; new profiles
|
|
51
|
+
use the tray and brief notices instead. Bars turn red at 90%.
|
|
52
|
+
- **Pace marker**: a tick on each bar shows how much of the window's time has passed.
|
|
53
|
+
A bar past its tick means you'll hit the limit before it resets.
|
|
45
54
|
- **Details panel**: separate provider panels, reported quota windows, reset times, and independent
|
|
46
55
|
24-hour and 7-day history charts. Claude also shows this week's usage by product when available.
|
|
47
56
|
- **Alerts**: Windows notifications at 80% and 95%, and when a limit you'd been close to resets.
|
|
48
57
|
- **Fresh numbers**: refreshes on a schedule, within a minute of Claude Code or Codex activity, and right after
|
|
49
58
|
a limit resets, backing off automatically if the API rate-limits.
|
|
50
|
-
- **Multi-monitor**:
|
|
51
|
-
- **Lightweight**:
|
|
59
|
+
- **Multi-monitor**: the popup follows the primary notification icon; optional meters can appear on every taskbar.
|
|
60
|
+
- **Lightweight**: one native executable, installed or updated with npx. Codex usage uses your existing Codex CLI.
|
|
52
61
|
- **Start with Windows**: enabled on first launch for new users; turn it off from the
|
|
53
62
|
right-click menu at any time. Existing startup preferences are preserved.
|
|
54
63
|
- **About**: right-click the meter or tray icon for the app version, developer credits,
|
|
55
64
|
and a link to this repository.
|
|
56
65
|
|
|
66
|
+
Existing installations using the previous always-visible default switch to the
|
|
67
|
+
quieter milestone mode once on upgrade. You can opt back into always-show after
|
|
68
|
+
updating; that explicit choice is retained. See [popup behavior](docs/POPUP_BEHAVIOR.md).
|
|
69
|
+
|
|
57
70
|
## See it in action
|
|
58
71
|
|
|
59
72
|
<div align="center">
|
|
60
|
-
<img src="docs/images/
|
|
73
|
+
<img src="docs/images/milestone-popup-light.png" alt="BurnBar milestone popup, light theme" width="400">
|
|
74
|
+
<img src="docs/images/milestone-popup-dark.png" alt="BurnBar milestone popup, dark theme" width="400">
|
|
61
75
|
<br>
|
|
62
|
-
<sub>
|
|
76
|
+
<sub>Rendered demo previews: a milestone notice that closes automatically. Click to inspect details.</sub>
|
|
63
77
|
</div>
|
|
64
78
|
|
|
79
|
+
<details>
|
|
80
|
+
<summary>Optional taskbar meter demo</summary>
|
|
81
|
+
|
|
82
|
+
<img src="docs/images/burnbar-demo.gif" alt="The optional rotating taskbar meter and usage details" width="848">
|
|
83
|
+
|
|
84
|
+
</details>
|
|
85
|
+
|
|
65
86
|
## Installation
|
|
66
87
|
|
|
67
88
|
You need Windows 10 or 11 and a signed-in provider:
|
|
@@ -71,89 +92,52 @@ You need Windows 10 or 11 and a signed-in provider:
|
|
|
71
92
|
(`codex login`). API-key-only accounts do not provide these subscription usage limits.
|
|
72
93
|
BurnBar also detects the CLI bundled with the Windows Codex desktop app when available.
|
|
73
94
|
|
|
74
|
-
Both providers
|
|
95
|
+
Both providers are available from the tray; automatic notices show the affected provider. A missing login affects only that provider. Select
|
|
75
96
|
**Usage providers** from the right-click menu to hide a provider you don't use.
|
|
76
97
|
|
|
77
98
|
### Install or update with npx
|
|
78
99
|
|
|
79
|
-
Requires
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
Install or update using these npm channels (the stable `latest` tag is created
|
|
83
|
-
by the first stable release after this workflow reaches main):
|
|
100
|
+
Requires [Node.js 22+](https://nodejs.org/) (includes npm/npx) and Windows PowerShell
|
|
101
|
+
5.1. BurnBar itself does not need Node.js after installation. No administrator
|
|
102
|
+
access or npm login is required.
|
|
84
103
|
|
|
85
104
|
```powershell
|
|
86
|
-
#
|
|
87
|
-
npx --yes burnbar@latest install
|
|
88
|
-
|
|
89
|
-
# Latest development build (may contain bugs)
|
|
105
|
+
# Install or update to the latest development build
|
|
90
106
|
npx --yes burnbar@development install
|
|
91
107
|
|
|
92
|
-
#
|
|
93
|
-
npx --yes burnbar@latest update --channel stable
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`latest` and `development` are **npm installer channels**. The installer selects
|
|
97
|
-
the matching **GitHub binary channel** by default; `--channel` overrides it.
|
|
98
|
-
The installer package version is not a pin to a particular executable version:
|
|
99
|
-
each invocation checks GitHub for the latest published build of that channel.
|
|
100
|
-
Updates are explicit, not an always-running automatic updater.
|
|
101
|
-
|
|
102
|
-
**Before the first stable npm publish**, use the development installer to install
|
|
103
|
-
the stable executable:
|
|
104
|
-
|
|
105
|
-
```powershell
|
|
108
|
+
# Install or update to the latest stable executable
|
|
106
109
|
npx --yes burnbar@development install --channel stable
|
|
107
110
|
```
|
|
108
111
|
|
|
109
|
-
|
|
110
|
-
|
|
112
|
+
`burnbar@development` is published and verified. Use the explicit stable-channel
|
|
113
|
+
command above until the first stable npm package is released from main. npm's
|
|
114
|
+
initial `latest` alias currently also points to a development installer; do not
|
|
115
|
+
use that alias to select stable software yet.
|
|
111
116
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
npx --yes github:nooblk-98/burnbar#development install --channel development
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Both channels use `%LOCALAPPDATA%\Programs\BurnBar` and preserve existing settings,
|
|
118
|
-
history and startup preferences when switching. The CLI delegates to its bundled
|
|
119
|
-
PowerShell installer, verifies SHA-256 before replacing anything, and creates a
|
|
120
|
-
Start menu shortcut. A development push publishes an immutable prerelease build;
|
|
121
|
-
stable installs never select those prereleases.
|
|
117
|
+
After the first stable version tag publishes the stable npm channel, this will
|
|
118
|
+
become the stable shortcut:
|
|
122
119
|
|
|
123
120
|
```powershell
|
|
124
|
-
|
|
125
|
-
npx --yes burnbar@latest update --install-dir 'D:\Apps\BurnBar' --no-start
|
|
126
|
-
npx --yes burnbar@development install --dry-run
|
|
121
|
+
npx --yes burnbar@latest install
|
|
127
122
|
```
|
|
128
123
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
### Install or update with PowerShell (no Node.js required)
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
Run this in a regular PowerShell window; administrator access is not needed:
|
|
124
|
+
`install` and `update` perform the same verified process. Running the command
|
|
125
|
+
again updates the executable; there is no background auto-updater. Switching
|
|
126
|
+
channels preserves settings, history and startup preferences.
|
|
136
127
|
|
|
137
128
|
```powershell
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
The same command installs or updates the **latest stable release** in
|
|
142
|
-
`%LOCALAPPDATA%\Programs\BurnBar`, verifies its SHA-256 checksum, adds a Start menu
|
|
143
|
-
shortcut, and launches BurnBar. Existing settings and history are kept. A running
|
|
144
|
-
BurnBar instance in your session is closed after the download is verified.
|
|
129
|
+
# Optional: another folder, without launching
|
|
130
|
+
npx --yes burnbar@development update --channel stable --install-dir 'D:\Apps\BurnBar' --no-start
|
|
145
131
|
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
```powershell
|
|
150
|
-
$installer = irm https://raw.githubusercontent.com/nooblk-98/burnbar/main/install.ps1
|
|
151
|
-
& ([scriptblock]::Create($installer)) -InstallDir 'D:\Apps\BurnBar' -NoStart
|
|
132
|
+
# Check release metadata without installing
|
|
133
|
+
npx --yes burnbar@development install --dry-run
|
|
152
134
|
```
|
|
153
135
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
and
|
|
136
|
+
Both channels install into `%LOCALAPPDATA%\Programs\BurnBar` by default, verify
|
|
137
|
+
SHA-256 before replacement, and create a Start menu shortcut. The reviewed Windows
|
|
138
|
+
helper is bundled inside the npm package; no remote script is fetched and executed.
|
|
139
|
+
`--dry-run` changes no files or running processes. Development builds may contain
|
|
140
|
+
bugs; stable installs exclude prereleases. See [release setup](docs/RELEASING.md).
|
|
157
141
|
|
|
158
142
|
On its first normal launch, BurnBar enables **Start with Windows** for a new profile.
|
|
159
143
|
You can disable it from the right-click menu. Demo and diagnostic modes do not enable it.
|
|
@@ -174,8 +158,7 @@ You can disable it from the right-click menu. Demo and diagnostic modes do not e
|
|
|
174
158
|
2. Open **Windows Security > App & browser control > Smart App Control settings**.
|
|
175
159
|
3. If you trust the download and choose to proceed, select **Off** before running
|
|
176
160
|
BurnBar. Read the confirmation carefully.
|
|
177
|
-
4.
|
|
178
|
-
folder, and run it. BurnBar is portable and has no installer.
|
|
161
|
+
4. Run the npx install command above again, then launch BurnBar.
|
|
179
162
|
5. Afterwards, return to **Smart App Control settings** and select **On**, if
|
|
180
163
|
available. Restart if Windows asks, and confirm protection is on.
|
|
181
164
|
|
|
@@ -222,6 +205,7 @@ internal/usage/ Claude usage client and Codex app-server account client
|
|
|
222
205
|
internal/render/ drawing the meter, details panel, charts and tray icon
|
|
223
206
|
internal/layout/ choosing a free spot on the taskbar
|
|
224
207
|
internal/config/ settings and alert state
|
|
208
|
+
internal/alerts/ milestone deduplication and popup lifetime
|
|
225
209
|
internal/history/ usage history for the charts
|
|
226
210
|
tools/genres/ icon and Windows resource generator
|
|
227
211
|
assets/ app icon
|
package/npm/bin/burnbar.cjs
CHANGED
|
@@ -59,7 +59,7 @@ function invocation(options, env = process.env) {
|
|
|
59
59
|
// script or interpolate user input into a PowerShell command string.
|
|
60
60
|
const executable = path.win32.join(env.SystemRoot, 'System32', 'WindowsPowerShell', 'v1.0', 'powershell.exe');
|
|
61
61
|
const args = ['-NoLogo', '-NoProfile', '-NonInteractive', '-ExecutionPolicy', 'Bypass',
|
|
62
|
-
'-File', path.resolve(__dirname, '
|
|
62
|
+
'-File', path.resolve(__dirname, '../windows/install.ps1'), '-Channel', options.channel];
|
|
63
63
|
if (options.installDir) args.push('-InstallDir', options.installDir);
|
|
64
64
|
if (options.noStart) args.push('-NoStart');
|
|
65
65
|
if (options.dryRun) args.push('-WhatIf');
|
|
@@ -2,10 +2,8 @@
|
|
|
2
2
|
<#
|
|
3
3
|
.SYNOPSIS
|
|
4
4
|
Installs or updates a stable or development BurnBar release for the current user.
|
|
5
|
-
.
|
|
6
|
-
|
|
7
|
-
.EXAMPLE
|
|
8
|
-
& .\install.ps1 -InstallDir 'D:\Apps\BurnBar' -NoStart
|
|
5
|
+
.NOTES
|
|
6
|
+
Internal npx helper. Run `npx --yes burnbar@development install` instead.
|
|
9
7
|
#>
|
|
10
8
|
[CmdletBinding(SupportsShouldProcess = $true)]
|
|
11
9
|
param(
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "burnbar",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.41.1",
|
|
4
4
|
"description": "Install or update the BurnBar Windows taskbar usage meter",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
},
|
|
17
17
|
"files": [
|
|
18
18
|
"npm/bin/burnbar.cjs",
|
|
19
|
-
"install.ps1"
|
|
19
|
+
"npm/windows/install.ps1"
|
|
20
20
|
],
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=22"
|