Implement battery status icon for taskbar with Battery Status API #87
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements a battery status icon for the MainOS taskbar that displays the current battery level and charging status using the Battery Status API. The implementation follows the existing taskbar architecture and provides graceful degradation for unsupported browsers.
Features
Battery Status Display
Browser Compatibility
Design Integration
Implementation Details
New Components
system/modules/battery-status.js) - Standalone module managing battery detection and icon updatesTechnical Features
levelchangeandchargingchangeeventsshowBatteryStatustoggle optionAPI Usage
The implementation uses the Battery Status API following best practices:
Screenshots
The battery icon is now visible in the taskbar, positioned between the WiFi indicator and language/time display:
The icon shows appropriate battery states and provides detailed tooltips when hovered. In this example, it displays "Battery: 100% (Charging)" with a charging icon.
Browser Support
This feature uses the Battery Status API which has limited browser support (primarily Chromium-based browsers). The implementation gracefully handles unsupported browsers by:
References: Battery Status API compatibility
This pull request was created as a result of the following prompt from Copilot chat.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.