The Bat Tree-Bar Saloon

WORK IN PROGRESS: MANY FEATURES MAY BE BROKEN · version 0.2.0-wip · source-available · non-commercial

Battery percentage and time left at a glance, with a click for the details: charge/discharge current, power, voltage and battery health. In the spirit of BatteryBar, built to run on Windows 11 and Linux (and, experimentally, macOS).

Licence and no warranty. Source-available under the PolyForm Noncommercial License 1.0.0: free to use, change and share for non-commercial purposes; commercial use needs separate permission. Provided as is, with no warranty and no liability. This is not legal advice. Bat Tree-Bar Proe only reads your battery; it never changes a setting.

📘 The whole manual and research notes as one PDF: docs/BatTreeBarProe-manual.pdf · Changelog · Build history · How it works · Design notes

A tribute to BatteryBar

The name is a pun on BatteryBar Pro, the Windows taskbar battery meter made by Osiris Development (osirisdevelopment.com/BatteryBar). It showed the battery level and the time left or time to full right on the taskbar, with a Pro version adding graphs, warnings and more. That is the idea this project follows, rebuilt from scratch for Windows 11 and Linux (the author reports the original does not run there). This project is not affiliated with Osiris Development, shares no code with BatteryBar and is not a substitute for it; if BatteryBar still works for you, please go and use the original.

Project started 2026-11-11 11:01. Renamed from "ChargeGlance" the same day, before any public release.

The bar while charging

What it looks like

A tiny always-on-top bar shows the battery icon, the percentage and the time left (or time until full). Click it and the details open. Drag it anywhere; it remembers where you left it. Right-click for the menu.

On battery Charging
popup on battery popup charging

These screenshots use the built-in **simulated* battery (--demo), because they were taken in a sandbox with no battery. The layout is the real one.*

Using it

You do You get
Look at the bar 73% 4h 24m on battery; 64% 34m (blue icon with a bolt) while charging; 100% full when full; 80% on AC when plugged in but not charging
Click the bar Popup: charge or discharge current, power, voltage, energy now/full, health (full-charge capacity vs new), cycle count, temperature, mains status, a 30-minute power graph. Click again or press Esc to close
Drag the bar Moves it; position is saved
Right-click the bar Details, Start at login, Always on top, Allow over the taskbar (experimental), Move to bottom right, Quit

The popup says in brackets where the time estimate came from: rate (energy left divided by smoothed power), trend (percent slope over the last few minutes) or os (the number your operating system reports).

Command line

python3 src/main.py --version python3 src/main.py --once # one reading as JSON: paste this in bug reports python3 src/main.py --text # no window, one line every 5 s python3 src/main.py --demo # simulated battery (also: --demo charging, --demo full) python3 src/main.py --autostart on|off|status # start at login python3 src/main.py --force # start even if it thinks a copy is running 

Settings and a small log live in ~/.config/bat-tree-bar-proe/ (Linux), %APPDATA%\Bat Tree-Bar Proe\ (Windows) or ~/Library/Application Support/Bat Tree-Bar Proe/ (Mac).

What works, what does not

Linux Windows 11 macOS
Code written yes yes yes
Reading logic unit-tested yes, with fake battery folders parser only, on a hand-written sample parser only, on a hand-written sample
Run on a real battery not yet (built in a sandbox with no battery) not yet not yet
Window runs yes (Xvfb, simulated battery) not run not run
Graphical installer / uninstaller yes (Xvfb, into a temp folder) code written, not run (Start Menu shortcuts, Run key, Apps list entry) code written, not run (LaunchAgent, app folder)
Fuzz and edge-case tests (garbage readings, suspend, clock jumps, corrupt settings, HiDPI) yes parser only parser only

Project layout

src/main.py window and command line · src/battery_source.py Linux, Windows, macOS readers · src/estimator.py time estimates · tests/ unit tests · tools/ screenshot rig, PDF and history scripts.

Run the tests: python3 -m unittest discover -s tests -v

Created by Matthew Armstrong (The-Dorkknight).

Source code: The-Dorkknight/bat-tree-bar-proe on GitHub