Skip to content

System Controls & Hardware Monitor (Integrated Features)#142

Open
scardracs wants to merge 20 commits into
OpenGamingCollective:mainfrom
scardracs:feature/battery-stats
Open

System Controls & Hardware Monitor (Integrated Features)#142
scardracs wants to merge 20 commits into
OpenGamingCollective:mainfrom
scardracs:feature/battery-stats

Conversation

@scardracs

@scardracs scardracs commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Description

This PR introduces and integrates a comprehensive set of system monitoring and control tools into the System Control section of rog-control-center.

These features are built on top of the clean feature/battery-stats branch and have been optimized for stability, code quality, and visual consistency.


Included Features

1. Battery Information & Stats

  • Battery Info: A new section that contains all the info related to battery and Charge limit.
  • Sensor Polling: Background polling for battery capacity health, charge cycles count, and current charging status.
  • Power Draw Tracking: Real-time measurement of instant power draw in Watts.
  • Autonomy Estimations: Dynamic calculations for estimated time remaining or time to full charge.

2. Hardware Monitor

  • CPU Status: Real-time tracking of core temperature (°C), utilization percentage (%), and clock frequency (MHz).
  • GPU Status: Dynamic tracking of temperature (°C) and utilization (%), handling offline/disconnected dGPU states gracefully (showing N/A).
  • RAM Status: Live memory usage tracking.
  • Fan Speeds: Real-time RPM tracking for all system fans (CPU, GPU, and Mid Fan).

3. Agnostic Wayland Display Settings (Refresh Rate)

  • Multi-Compositor Compatibility: Dynamic detection of the Wayland compositor backend at runtime (supporting both KDE Plasma's kscreen-doctor and wlroots-based compositors like Sway/Hyprland via wlr-randr). Degrades gracefully if tools are missing. It can't work for GNOME
  • wlr-randr Parser: Robust text parser to discover the internal screen identifier (eDP-*) and map available resolutions and refresh rates.
  • Auto-Switching: Logic to automatically switch to a power-saving refresh rate when the laptop is disconnected from AC power to maximize battery life.

UI Redesign

  • Card-Based Layout: Complete visual redesign of the System page into clean, responsive cards (Battery Information, Display Settings, Hardware Monitor).
  • Universal Glyphs: Emojis have been removed from text labels to prevent rendering missing glyph fallback boxes ([]) on Linux configurations lacking complete emoji fonts, ensuring a polished and consistent look.

Technical Details & Quality

  • Async Polling: Background monitoring tasks are implemented using non-blocking Tokio tasks, ensuring the UI remains highly responsive.
  • Testing: Compilation successfully verified and all workspace unit tests pass.

End Results

image image image

@scardracs scardracs changed the title Add battery stats feature System Controls & Hardware Monitor (Integrated Features) Jun 29, 2026
Fix Rust 2024 match ergonomics compile error in setup_system.rs
@scardracs scardracs force-pushed the feature/battery-stats branch from dc773d2 to 03e0870 Compare June 29, 2026 08:12
@scardracs scardracs force-pushed the feature/battery-stats branch from 03e0870 to c8443b7 Compare June 29, 2026 08:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant