ZenBar
Technologies Used
Software Info
Gallery

ZenBar top-edge status bar with system metrics and controls
ZenBar solves a common desktop workflow problem: system status and media controls are buried in taskbar popups that require interrupting focus to access. The goal was a persistent, readable overlay that carries zero interaction cost for typical usage.
The WinUI window is configured as a layered, always-on-top window with WS_EX_TOOLWINDOW to exclude it from Alt+Tab cycling. Its position is anchored to the top edge of the primary display and recalculated on display configuration change events to handle monitor scaling or resolution changes.
System metrics (CPU, GPU, RAM usage and network upload/download speed) are collected on a 1-second polling loop running on a background thread. Results are marshaled to the UI thread via a DispatcherQueue post, keeping the render loop free from any blocking Windows API calls.
SMTC integration uses the Windows.Media.Control API to subscribe to GlobalSystemMediaTransportControlsSessionManager. When the active media session changes, the manager fires an event carrying the current track title, artist, and playback state, which ZenBar reflects in the media section of the bar.
Brightness control uses DDC/CI commands sent over the display's I2C bus via the SetVCPFeature Windows API. This controls the actual monitor brightness in hardware, which is distinct from the software gamma adjustment that most overlay tools implement.
Software Specifications
System Requirements
Supported Formats
Key Features
Always-on-top layered WinUI window anchored to top screen edge (WS_EX_TOOLWINDOW)
Background polling thread for CPU, GPU, RAM, and network metrics
SMTC GlobalSystemMediaTransportControlsSessionManager subscription for live media state
DDC/CI hardware brightness control via SetVCPFeature over monitor I2C bus
DDC/CI monitor support for hardware brightness control
Audio driver switching and volume scroll adjustment
Battery state with charging indicator and progress display
config.ini persistence for startup behavior and appearance
Architectural Implementation
Background Metrics Collection
CPU, GPU, and network counters are read on a dedicated BackgroundWorker thread at 1-second intervals using PerformanceCounter and NetworkInterface APIs. Results are posted to the WinUI DispatcherQueue so the render loop never blocks on I/O or system counter reads. This keeps the overlay responsive even during disk or CPU spikes.
DDC/CI Hardware Brightness
Monitor brightness is adjusted by sending VCP code 0x10 (Luminance) over the display DDC/CI channel using the Windows SetVCPFeature API. This adjusts the physical backlight level in the monitor firmware rather than applying software gamma, which is the correct behavior for users who want consistent brightness across all applications.
Outcomes
Published as open source on GitHub with release installer
Steady 10MB RAM footprint confirmed under continuous operation
SMTC integration working across browsers (Chrome, Edge, Firefox) and media players
Performance Benchmarks
Steady ~10MB RAM footprint under continuous operation
Background polling loop with no UI thread blocking
Minimal CPU overhead during metric collection
Sub-frame latency for media state updates via SMTC events