Hello people,
I own a Lenovo x280. It run FreeBSD 14.2-RELEASE-p1. I use i3wm as Window Manager. to make lid close and laptop suspend, I use those configuration and scripts
and the lid.sh script
It works well with 14.1.
Could some one help me to make suspend/ressume work on my laptop?
Thanks in advance,
Regards,
Jacques
Note: those thinks came from: https://hauweele.net/~gawen/blog/?tag=suspend
I own a Lenovo x280. It run FreeBSD 14.2-RELEASE-p1. I use i3wm as Window Manager. to make lid close and laptop suspend, I use those configuration and scripts
Code:
# Notify lid close/open events.
notify 100 {
match "system" "ACPI";
match "subsystem" "Lid";
action "/etc/acpi/lid.sh $notify";
};
Code:
#!/bin/sh
# XScreensaver should be called BEFORE going to sleep to avoid the desktop to be
# shown for a few seconds when the system resumes from sleep.
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
lid="$1" # 0x00 is closed, 0x01 is open (see devd.conf)
acline=$(sysctl -n hw.acpi.acline) # 0 is battery, 1 is online (man acpi)
lock_display() (
socket="$1"
display=$(echo "$socket" | tr "X" ":")
# Temporary pid file for the watching command
tpid=$(mktemp)
# Wait until the display is actually locked.
(timeout 2s xscreensaver-command -display "$display" -watch & echo $! > $tpid) | (
# Issue the lock command only when we know that
# the watching pipe is ready.
xscreensaver-command -display "$display" -lock
while read line
do
line=$(echo $line | cut -d' ' -f 1)
if [ "$line" = LOCK ]
then
# We have to kill the watching command manually before breaking.
kill -TERM $(cat $tpid)
break
fi
done
)
rm $tpid
)
# The X server may not be running
if [ ! -d /tmp/.X11-unix ]
then
exit 0
fi
# Lock each available display
for socket in $(ls /tmp/.X11-unix)
do
# Lock the display
logger "Locking xscreensaver on $socket"
lock_display $socket &
done
# Wait until every displays are locked
wait
# Now we can suspend if needed
if [ \( "$lid" = "0x00" \) -a \( "$acline" -eq 0 \) ]
then
logger "Lid closed on battery. Going to sleep."
acpiconf -s3
fi
It works well with 14.1.
Could some one help me to make suspend/ressume work on my laptop?
Thanks in advance,
Regards,
Jacques
Note: those thinks came from: https://hauweele.net/~gawen/blog/?tag=suspend