diff --git a/guides/manus-ai/waybar_power_profile_integration.md b/guides/manus-ai/waybar_power_profile_integration.md new file mode 100644 index 0000000..92f47d1 --- /dev/null +++ b/guides/manus-ai/waybar_power_profile_integration.md @@ -0,0 +1,114 @@ +# Integrating Power Profiles Daemon into Waybar + +This guide explains how to integrate the `power-profiles-daemon.service` into Waybar, providing a toggleable button to switch between power profiles. + +## Prerequisites + +Ensure you have the following installed: +- `waybar` (version 0.9.22 or later recommended) +- `power-profiles-daemon` + +## 1. Waybar Configuration + +Add the `power-profiles-daemon` module to your Waybar configuration file (typically located at `~/.config/waybar/config`). + +```json +{ + "modules-right": [ + "power-profiles-daemon", + // ... other modules + ], + + "power-profiles-daemon": { + "format": "{icon}", + "tooltip-format": "Power profile: {profile}\nDriver: {driver}", + "tooltip": true, + "format-icons": { + "default": "", + "performance": "⚡", + "balanced": "", + "power-saver": "" + } + } +} +``` + +## 2. Automatic Toggling + +Waybar's built-in `power-profiles-daemon` module automatically cycles through available profiles when clicked. You don't need a separate script for basic toggling. However, if you want a custom script for more complex behavior, you can use a `custom/power_profile` module instead. + +### Using the Built-in Module (Recommended) + +The built-in module is the most efficient way to handle this. It interacts directly with the daemon via D-Bus. + +### Custom Toggle Script (Optional) + +If you prefer a custom script, create a file at `~/.config/waybar/scripts/toggle_power_profile.sh`: + +```bash +#!/bin/bash + +current_profile=$(powerprofilesctl get) + +case $current_profile in + "power-saver") + powerprofilesctl set balanced + ;; + "balanced") + powerprofilesctl set performance + ;; + "performance") + powerprofilesctl set power-saver + ;; + *) + powerprofilesctl set balanced + ;; +esac +``` + +Make it executable: +```bash +chmod +x ~/.config/waybar/scripts/toggle_power_profile.sh +``` + +Then, use a custom module in your Waybar config: + +```json +"custom/power_profile": { + "exec": "powerprofilesctl get", + "interval": 30, + "on-click": "~/.config/waybar/scripts/toggle_power_profile.sh", + "format": "Profile: {}" +} +``` + +## 3. Styling (Optional) + +You can style the module in your `style.css`: + +```css +#power-profiles-daemon { + padding-left: 10px; + padding-right: 10px; +} + +#power-profiles-daemon.performance { + background-color: #f38ba8; + color: #1e1e2e; +} + +#power-profiles-daemon.balanced { + background-color: #a6e3a1; + color: #1e1e2e; +} + +#power-profiles-daemon.power-saver { + background-color: #89b4fa; + color: #1e1e2e; +} +``` + +## References + +[1] [Arch Linux Manual: waybar-power-profiles-daemon(5)](https://man.archlinux.org/man/extra/waybar/waybar-power-profiles-daemon.5.en) +[2] [power-profiles-daemon GitLab](https://gitlab.freedesktop.org/hadess/power-profiles-daemon)