[Debian-eeepc-devel] Temporarily disabling lid-close-suspend

Phil Endecott spam_from_debian_eee at chezphil.org
Mon Sep 15 10:01:50 UTC 2008


Hi everyone,

My Eee suspends when the lid is closed, which is normally what I want.  
But occasionally I want to close the lid and not suspend.  I have tried 
to set it up so that I can press one of the soft buttons and lid 
suspend is disabled for a minute.  Here is my attempt:

in hotkey.sh:

     0000001d)
         touch /var/run/no_lid_suspend
         { sleep 60; rm /var/run/no_lid_suspend; } &
         ;;

in lid.sh:

if [ -f /var/run/no_lid_suspend ]
then
   exit 0
fi

There's just one snag with this: it now suspends when I _open_ the lid! 
(if I've waited for a minute with the lid closed of course).  It seems 
that lid.sh gets run for both lid-close and lid-open events, and the 
call to suspend.sh from lid.sh is not conditional on which it was.

Although this doesn't matter in normal operation (since you'll never 
get a lid-open event if the preceeding lid-close event triggered a 
suspend) I can't imagine that it's what you intended.

For actions other than suspend - for example, screenblank - it would 
make sense to have separate lid-close.sh and lid-open.sh scripts.  
Looking at the output of acpi_listen I see:

button/lid LID 00000080 00000006   <=== lid close
button/lid LID 00000080 00000007   <=== lid open
button/lid LID 00000080 00000008   <=== lid close
button/lid LID 00000080 00000009   <=== lid open
button/lid LID 00000080 0000000a   <=== lid close
button/lid LID 00000080 0000000b   <=== lid open

Hmm.  Does anyone know how I should interpret this?  Is it valid to 
assume that the least significant bit of the last field tells me 
whether it was an open or a close event?  (Is this documented 
somewhere?)  Or maybe there is some other file somewhere to read to 
determine the new state after getting the event.

Regards,  Phil.






More information about the Debian-eeepc-devel mailing list