diff --git a/bin/omarchy-powerprofiles-set b/bin/omarchy-powerprofiles-set new file mode 100755 index 00000000..86c3ac0c --- /dev/null +++ b/bin/omarchy-powerprofiles-set @@ -0,0 +1,22 @@ +#!/bin/bash + +# Set the power profile to the requested level, falling back to balanced +# if the requested profile isn't available on this machine. +# +# Usage: omarchy-powerprofiles-set + +mapfile -t profiles < <(powerprofilesctl list | awk '/^\s*[* ]\s*[a-zA-Z0-9\-]+:$/ { gsub(/^[*[:space:]]+|:$/,""); print }') + +case "$1" in + ac) + # Prefer performance, fall back to balanced + if [[ " ${profiles[*]} " == *" performance "* ]]; then + powerprofilesctl set performance + else + powerprofilesctl set balanced + fi + ;; + battery) + powerprofilesctl set balanced + ;; +esac diff --git a/default/systemd/system-sleep/resume-boost b/default/systemd/system-sleep/resume-boost old mode 100755 new mode 100644 diff --git a/install/config/powerprofilesctl-rules.sh b/install/config/powerprofilesctl-rules.sh index 171f2508..9b5a71a6 100644 --- a/install/config/powerprofilesctl-rules.sh +++ b/install/config/powerprofilesctl-rules.sh @@ -1,22 +1,9 @@ if omarchy-battery-present; then - mapfile -t profiles < <(omarchy-powerprofiles-list) - - if (( ${#profiles[@]} > 1 )); then - - # Default AC profile: - # 3 profiles → performance - # 2 profiles → balanced - ac_profile="${profiles[2]:-${profiles[1]}}" - - # Default Battery profile (balanced) - battery_profile="${profiles[1]}" - - cat </dev/null + sudo udevadm trigger --subsystem-match=power_supply 2>/dev/null fi