From 9dba194e7d454b1b2ff0a73babfa988a5fdcfc13 Mon Sep 17 00:00:00 2001 From: S4NKALP Date: Thu, 19 Mar 2026 20:36:00 +0545 Subject: [PATCH] feat(root): add native Wayland display refresh rate control MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add native Wayland refresh rate control using zwlr_output_manager_v1, remove reliance on xrandr, and document limitations for GNOME/KDE. This enables on‑the‑fly Hz changes without external tools. - New Feature: Native Wayland refresh rate management - Enhancement: Updated requirements and limitations sections - Enhancement: Improved documentation for refresh rate control --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 142a1b6..00c1e12 100644 --- a/README.md +++ b/README.md @@ -24,7 +24,7 @@ Built with performance and simplicity in mind, it talks directly to your system' - **Battery Health**: Modern batteries hate being at 100% all the time. Set custom charge limits (like 80%) to significantly extend your battery's lifespan. - **Power Tuning**: Switch through performance profiles or set hard CPU power (TDP) limits in Watts to keep things cool or let them loose. - **Intelligent Cooling**: Force your fans into Performance, Balanced, or Quiet modes (supporting ASUS and Lenovo laptops). -- **Display Refresh Rate**: Easily query available refresh rates and change your active display's Hz on-the-fly (Multi-backend natively supports **Hyprland, Sway, KDE Plasma, GNOME, and X11**). +- **Display Refresh Rate**: Easily query available refresh rates and change your active display's Hz on-the-fly (100% native Rust Wayland implementation using `zwlr_output_manager_v1` for wlroots compositors like Sway and Hyprland). - **Touchpad Toggle**: Quickly enable or disable your touchpad from the terminal when using an external mouse. - **Sleep Inhibitor**: Running a long compile or a critical download? Use the inhibitor to stop your laptop from falling asleep mid task. - **Instant Status**: Get a bird's eye view of your hardware state, battery health, and current limits with one simple command. @@ -49,6 +49,10 @@ cargo install --path . #### Requirements - **systemd**: For sleep inhibitor (`systemd-inhibit`) - **X11/NVIDIA Tools**: `xrandr`, `nvidia-settings` for GPU management +- **Wayland Display**: Built entirely natively using `wayland-client` and `wayland-protocols-wlr` (no `wlr-randr` required!) + +#### Limitations +- **GNOME / KDE Plasma (Wayland)**: The display refresh rate feature relies heavily on the `zwlr_output_manager_v1` protocol. This protocol is exclusive to wlroots-based compositors (like Sway and Hyprland). GNOME and KDE use their own disparate internal display protocols, meaning this feature will **not work** out-of-the-box on those Desktop Environments. ---