burnbar 0.0.0-dev.37.1 → 0.0.0-dev.39.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
@@ -10,17 +10,16 @@
10
10
  [![Platform](https://img.shields.io/badge/platform-Windows%2010%20%7C%2011-0078D4)](#installation)
11
11
  [![License](https://img.shields.io/github/license/nooblk-98/burnbar)](LICENSE)
12
12
 
13
- **Claude and Codex usage meter for the Windows taskbar.**<br>
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="assets/social-preview.png" alt="BurnBar, Claude and Codex on your Windows taskbar, with quotas, history, and alerts" width="848">
18
+ <img src="docs/images/tray-popup-dark.png" alt="BurnBar framed tray popup with Claude and Codex usage" width="410">
19
19
 
20
20
  </div>
21
21
 
22
- Claude and Codex have session and longer-term plan limits. BurnBar keeps both providers on your
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 compact tray-anchored card, 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,25 +29,26 @@ Codex window lengths come from your account rather than assuming every plan uses
30
29
 
31
30
  ## Features
32
31
 
33
- - **Claude + Codex**: one compact meter rotates between providers every 8 seconds with a downward
34
- flip animation. The provider name stays visible above its two quota bars. Rotation pauses on
35
- hover and while details are open, and respects Windows' animation setting.
36
- Select Claude only or Codex only to keep one provider visible. Bars turn red at 90%.
37
- - **Pace marker**: a tick on each bar shows how much of the window's time has passed. A bar past its
38
- tick means you'll hit the limit before it resets.
39
- - **Stays out of the way**: finds free space on the taskbar so it never covers app icons, follows the
40
- light/dark theme and display scaling, and hides during fullscreen apps and games.
41
- The meter narrows when taskbar buttons need more room. If no safe gap fits, it hides
42
- until space opens; the tray icon and details remain available. It never floats over desktop
43
- content. Vertical or too-short taskbars also use the tray icon. Search, Start and ordinary
44
- window clicks keep it visible when space is available.
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%.
43
+ - **Pace marker**: a tick on each bar shows how much of the window's time has passed.
44
+ A bar past its tick means you'll hit the limit before it resets.
45
45
  - **Details panel**: separate provider panels, reported quota windows, reset times, and independent
46
46
  24-hour and 7-day history charts. Claude also shows this week's usage by product when available.
47
47
  - **Alerts**: Windows notifications at 80% and 95%, and when a limit you'd been close to resets.
48
48
  - **Fresh numbers**: refreshes on a schedule, within a minute of Claude Code or Codex activity, and right after
49
49
  a limit resets, backing off automatically if the API rate-limits.
50
- - **Multi-monitor**: a meter on every taskbar, plus a tray icon with tooltip and menu.
51
- - **Lightweight**: a single executable with no installer. Codex usage uses your existing Codex CLI.
50
+ - **Multi-monitor**: the popup follows the primary notification icon; optional meters can appear on every taskbar.
51
+ - **Lightweight**: one native executable, installed or updated with npx. Codex usage uses your existing Codex CLI.
52
52
  - **Start with Windows**: enabled on first launch for new users; turn it off from the
53
53
  right-click menu at any time. Existing startup preferences are preserved.
54
54
  - **About**: right-click the meter or tray icon for the app version, developer credits,
@@ -57,11 +57,19 @@ Codex window lengths come from your account rather than assuming every plan uses
57
57
  ## See it in action
58
58
 
59
59
  <div align="center">
60
- <img src="docs/images/burnbar-demo.gif" alt="BurnBar on Windows, showing the rotating taskbar meter and Claude and Codex usage details" width="848">
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">
61
62
  <br>
62
- <sub>BurnBar in action: Claude and Codex usage on the taskbar, with details a click away.</sub>
63
+ <sub>Rendered demo previews: the always-visible overview. Click for charts and full details.</sub>
63
64
  </div>
64
65
 
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
+
65
73
  ## Installation
66
74
 
67
75
  You need Windows 10 or 11 and a signed-in provider:
@@ -71,89 +79,52 @@ You need Windows 10 or 11 and a signed-in provider:
71
79
  (`codex login`). API-key-only accounts do not provide these subscription usage limits.
72
80
  BurnBar also detects the CLI bundled with the Windows Codex desktop app when available.
73
81
 
74
- Both providers rotate through the meter by default. A missing login affects only that provider. Select
82
+ Both providers appear in the popup by default. A missing login affects only that provider. Select
75
83
  **Usage providers** from the right-click menu to hide a provider you don't use.
76
84
 
77
85
  ### Install or update with npx
78
86
 
79
- Requires Windows, [Node.js 22+](https://nodejs.org/) (includes npm/npx), and
80
- Windows PowerShell 5.1. BurnBar itself does not need Node.js after installation.
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):
87
+ Requires [Node.js 22+](https://nodejs.org/) (includes npm/npx) and Windows PowerShell
88
+ 5.1. BurnBar itself does not need Node.js after installation. No administrator
89
+ access or npm login is required.
84
90
 
85
91
  ```powershell
86
- # Latest stable release (same command for first install and updates)
87
- npx --yes burnbar@latest install
88
-
89
- # Latest development build (may contain bugs)
92
+ # Install or update to the latest development build
90
93
  npx --yes burnbar@development install
91
94
 
92
- # Switch back to stable
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
95
+ # Install or update to the latest stable executable
106
96
  npx --yes burnbar@development install --channel stable
107
97
  ```
108
98
 
109
- Alternatively, use the GitHub-backed package (also
110
- requires Git). These commands do not require an npm account or npm publication:
99
+ `burnbar@development` is published and verified. Use the explicit stable-channel
100
+ command above until the first stable npm package is released from main. npm's
101
+ initial `latest` alias currently also points to a development installer; do not
102
+ use that alias to select stable software yet.
111
103
 
112
- ```powershell
113
- npx --yes github:nooblk-98/burnbar#development install --channel stable
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.
104
+ After the first stable version tag publishes the stable npm channel, this will
105
+ become the stable shortcut:
122
106
 
123
107
  ```powershell
124
- # Optional flags work with either package source
125
- npx --yes burnbar@latest update --install-dir 'D:\Apps\BurnBar' --no-start
126
- npx --yes burnbar@development install --dry-run
108
+ npx --yes burnbar@latest install
127
109
  ```
128
110
 
129
- `--dry-run` reads release metadata only: no binary download, file replacement,
130
- process shutdown or launch. See [release setup](docs/RELEASING.md) for npm publishing.
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:
111
+ `install` and `update` perform the same verified process. Running the command
112
+ again updates the executable; there is no background auto-updater. Switching
113
+ channels preserves settings, history and startup preferences.
136
114
 
137
115
  ```powershell
138
- & ([scriptblock]::Create((irm https://raw.githubusercontent.com/nooblk-98/burnbar/main/install.ps1)))
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.
116
+ # Optional: another folder, without launching
117
+ npx --yes burnbar@development update --channel stable --install-dir 'D:\Apps\BurnBar' --no-start
145
118
 
146
- You can [review the installer](install.ps1) before running it. To choose a folder
147
- or install without launching:
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
119
+ # Check release metadata without installing
120
+ npx --yes burnbar@development install --dry-run
152
121
  ```
153
122
 
154
- For a manual install, download `burnbar.exe` from the
155
- [releases page](https://github.com/nooblk-98/burnbar/releases), put it anywhere,
156
- and run it.
123
+ Both channels install into `%LOCALAPPDATA%\Programs\BurnBar` by default, verify
124
+ SHA-256 before replacement, and create a Start menu shortcut. The reviewed Windows
125
+ helper is bundled inside the npm package; no remote script is fetched and executed.
126
+ `--dry-run` changes no files or running processes. Development builds may contain
127
+ bugs; stable installs exclude prereleases. See [release setup](docs/RELEASING.md).
157
128
 
158
129
  On its first normal launch, BurnBar enables **Start with Windows** for a new profile.
159
130
  You can disable it from the right-click menu. Demo and diagnostic modes do not enable it.
@@ -174,8 +145,7 @@ You can disable it from the right-click menu. Demo and diagnostic modes do not e
174
145
  2. Open **Windows Security > App & browser control > Smart App Control settings**.
175
146
  3. If you trust the download and choose to proceed, select **Off** before running
176
147
  BurnBar. Read the confirmation carefully.
177
- 4. Download `burnbar.exe` from this repository's releases, place it in your preferred
178
- folder, and run it. BurnBar is portable and has no installer.
148
+ 4. Run the npx install command above again, then launch BurnBar.
179
149
  5. Afterwards, return to **Smart App Control settings** and select **On**, if
180
150
  available. Restart if Windows asks, and confirm protection is on.
181
151
 
@@ -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, '../../install.ps1'), '-Channel', options.channel];
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
- .EXAMPLE
6
- & .\install.ps1
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.37.1",
3
+ "version": "0.0.0-dev.39.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"