Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
Power panel: percentage text and progress bar disagree on dual-battery systems
Reported by dotgerph · filed Sep 12, 2026Closed upstream on 2026-09-12 by its own reporter dotgerph, as a duplicate of #6885 (R-1856). GitHub close reason: not_planned.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
What happened
On a dual-battery laptop (internal + rear/slice battery, both reported by
UPower as separate BAT0/BAT1 devices), the power panel's battery
percentage text and its visual progress bar disagree — the bar fill and the
number next to it don't match.
Why
The bar's fill (shell/plugins/panels/power/Panel.qml, batteryFraction)
binds to Quickshell's UPower.displayDevice, which is UPower's own
composite device summed across every battery present — the correct
aggregate.
The percentage/rate/time text next to it instead comes from theomarchy-battery-status script, which selects a battery with:
battery=$(upower -e 2>/dev/null | grep BAT | head -n 1)On a dual-battery system this only ever reads the first battery
(BAT0), ignoring the second. The two numbers end up describing different
things: e.g. bar fill ~62% (both batteries combined) next to text reading
~40% (BAT0 alone).
Expected
omarchy-battery-status should read the same UPower DisplayDevice
(/org/freedesktop/UPower/devices/DisplayDevice) the panel's progress bar
already uses, so the percentage text and the bar always agree, on both
single- and multi-battery systems.
Steps to reproduce
- Use a laptop with two batteries visible to UPower (
upower -elists
more than one battery_BAT* device — e.g. a ThinkPad with an internal +
rear/slice battery).
2. Open the power panel in the Omarchy bar.
3. Compare the percentage text to the fill level of the progress bar below
it — they read differently, because the bar aggregates both batteries and
the text only reads the first one.
System
- Omarchy: 4.0.3-1
- Machine: Lenovo 20F90042GE (ThinkPad T460s), Intel i5-6200U / HD Graphics 520
upower -e:battery_BAT0,battery_BAT1,line_power_AC
View raw text
## What happened On a dual-battery laptop (internal + rear/slice battery, both reported by UPower as separate `BAT0`/`BAT1` devices), the power panel's battery percentage text and its visual progress bar disagree — the bar fill and the number next to it don't match. ## Why The bar's fill (`shell/plugins/panels/power/Panel.qml`, `batteryFraction`) binds to Quickshell's `UPower.displayDevice`, which is UPower's own composite device summed across every battery present — the correct aggregate. The percentage/rate/time text next to it instead comes from the `omarchy-battery-status` script, which selects a battery with: ```bash battery=$(upower -e 2>/dev/null | grep BAT | head -n 1) ``` On a dual-battery system this only ever reads the first battery (`BAT0`), ignoring the second. The two numbers end up describing different things: e.g. bar fill ~62% (both batteries combined) next to text reading ~40% (`BAT0` alone). ## Expected `omarchy-battery-status` should read the same UPower `DisplayDevice` (`/org/freedesktop/UPower/devices/DisplayDevice`) the panel's progress bar already uses, so the percentage text and the bar always agree, on both single- and multi-battery systems. ## Steps to reproduce 1. Use a laptop with two batteries visible to UPower (`upower -e` lists more than one `battery_BAT*` device — e.g. a ThinkPad with an internal + rear/slice battery). 2. Open the power panel in the Omarchy bar. 3. Compare the percentage text to the fill level of the progress bar below it — they read differently, because the bar aggregates both batteries and the text only reads the first one. ## System - Omarchy: 4.0.3-1 - Machine: Lenovo 20F90042GE (ThinkPad T460s), Intel i5-6200U / HD Graphics 520 - `upower -e`: `battery_BAT0`, `battery_BAT1`, `line_power_AC`
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.