Alternatives to xfce power manager

I've been using i3 for a while now, but the xfce power manager doesn't work outside the desktop environment, is there any alternative you can recommend? It doesn't matter if it is a terminal based or graphical interface program, I just need something that can suspend the computer after a certain time or lock it when the laptop is closed

37 points · 7 comments · view on lemmy.world

7 Comments

dogsnest@lemmy.world · 9 pts · 2y (4 replies)
manito_manopla@lemmy.ml · 4 pts · 2y

Sometimes I forget to connect the charger to the laptop, and it discharges without realizing it. When I used xfce power manager, it warned me when the charger was disconnected, can tlp or acpitool send those types of notifications?

manito_manopla@lemmy.ml · 3 pts · 2y (1 reply)

What are the differences between tlp and acpitool?

dogsnest@lemmy.world · 7 pts · 2y

In a nutshell TLP's default settings are optimized for battery life upon installation, allowing you to further tweak/adjust to your needs. Whereas acpitool analyzes, but doesn't optimize without your input.

As for notifications, I don't believe either package provides them, especially since they're both cli tools (TLP has a gui, TLPUI)

As for notifications, a bash script similar to this would work:

ac_adapter=$(acpi -a | cut -d' ' -f3 | cut -d- -f1) if [ "$ac_adapter" = "on" ]; then notify-send "AC Adapter" "The AC Adapter is on." else notify-send "AC Adapter" "The AC Adapter is off." fi

boredsquirrel@slrpnk.net · 2 pts · 2y

Also adding auto-cpufreq, ryzenadj, tuned.

But this depends on your CPU used.

TLP is good, tuned may be better?

TLP has a common USB lost issue, that is mitigated by disabling USB-autosuspend in the config. TLP config is found here

And if you need a tool for warning about AC disconnect, you can use a systemd service.

cat > /usr/local/bin/check_ac.sh <<EOF
#!/bin/bash

while true; do
    if [[ "$(cat /sys/class/power_supply/AC/online)" -eq 0 ]]; then
        notify-send -t 20 -a "Power" "AC Disconnected"
    fi
		sleep 20
done
EOF
chmod +x /usr/local/bin/check_ac.sh
cat > /etc/systemd/user/ac-warning.service <<EOF
[Unit]
Description=Monitor AC State and Notify

[Service]
ExecStart=/usr/local/bin/check_ac.sh
Restart=always

[Install]
WantedBy=graphical.target
EOF
systemctl --user daemon-reload
systemctl --user enable --now ac-warning.service
gnuhaut@lemmy.ml · 2 pts · 2y

I use tlp.

I also have a battery info using i3status in the status bar, and a script I named battery-check, which warns me via a dunst popup and a beep when the battery gets low:

#!/bin/sh
set -eu

bat=/sys/class/power_supply/BAT0

if [ ! -d "$bat" ]; then
    exit 1;
fi

status=$(cat "$bat/status")
energy_now=$(cat "$bat/energy_now")
energy_full=$(cat "$bat/energy_full")

battery_percent=$(( ${energy_now}00 / ${energy_full} ))

if [ "$status" != "Charging" -a "$battery_percent" -le 15 ]; then
    dunstify -t 8000 -u critical "Battery at ${battery_percent}%"
    play -q -n -c1 synth 2 sine 600
fi

I run this from my ~/.config/sway/config like so:

exec sh -c 'while true; do sleep 180; battery-check || break; done'
Jamecowell@lemmy.dbzer0.com · 1 pts · 2y

use power-profiles-daemon