Add proximity lock toggle on the config menu
Signed-off-by: Stacy Harper <contact@stacyharper.net> Signed-off-by: Maarten van Gompel <proycon@anaproy.nl>
This commit is contained in:
parent
f4ee396394
commit
6426a94e46
4 changed files with 40 additions and 4 deletions
|
@ -136,6 +136,10 @@ programchoicesinit() {
|
||||||
pgrep -f "$(command -v sxmo_rotateautotoggle.sh)" > /dev/null &&
|
pgrep -f "$(command -v sxmo_rotateautotoggle.sh)" > /dev/null &&
|
||||||
printf %b "On → Off ^ 0 ^ sxmo_rotateautotoggle.sh &" || printf %b "Off → On ^ 0 ^ sxmo_rotateautotoggle.sh &"
|
printf %b "On → Off ^ 0 ^ sxmo_rotateautotoggle.sh &" || printf %b "Off → On ^ 0 ^ sxmo_rotateautotoggle.sh &"
|
||||||
)
|
)
|
||||||
|
$icon_lck Proximity Lock $(
|
||||||
|
pgrep -f "$(command -v sxmo_proximitylock.sh)" > /dev/null &&
|
||||||
|
printf %b "On → Off ^ 0 ^ sxmo_proximitylocktoggle.sh &" || printf %b "Off → On ^ 0 ^ sxmo_proximitylocktoggle.sh &"
|
||||||
|
)
|
||||||
$icon_ror Rotate ^ 1 ^ sxmo_rotate.sh rotate
|
$icon_ror Rotate ^ 1 ^ sxmo_rotate.sh rotate
|
||||||
$icon_upc Upgrade Pkgs ^ 0 ^ st -e sxmo_upgrade.sh
|
$icon_upc Upgrade Pkgs ^ 0 ^ st -e sxmo_upgrade.sh
|
||||||
$icon_cfg Edit configuration ^ 0 ^ st -e $EDITOR $XDG_CONFIG_HOME/sxmo/xinit
|
$icon_cfg Edit configuration ^ 0 ^ st -e $EDITOR $XDG_CONFIG_HOME/sxmo/xinit
|
||||||
|
|
|
@ -1,7 +1,16 @@
|
||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
islocked() {
|
||||||
|
pgrep -f sxmo_lock.sh > /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
syncstate() {
|
||||||
|
islocked && STATE=locked || STATE=free
|
||||||
|
}
|
||||||
|
|
||||||
finish() {
|
finish() {
|
||||||
kill $(jobs -p)
|
kill $(jobs -p)
|
||||||
|
syncstate
|
||||||
[ free = "$STATE" ] && [ true = "$WASLOCKED" ] && sxmo_lock.sh &
|
[ free = "$STATE" ] && [ true = "$WASLOCKED" ] && sxmo_lock.sh &
|
||||||
exit 0
|
exit 0
|
||||||
}
|
}
|
||||||
|
@ -18,10 +27,12 @@ TARGET=30
|
||||||
mainloop() {
|
mainloop() {
|
||||||
while true; do
|
while true; do
|
||||||
distance="$(distance)"
|
distance="$(distance)"
|
||||||
|
# here we do not syncstate to allow user manual lock
|
||||||
if [ locked = "$STATE" ] && [ "$distance" -lt "$TARGET" ]; then
|
if [ locked = "$STATE" ] && [ "$distance" -lt "$TARGET" ]; then
|
||||||
pkill -f sxmo_lock.sh
|
pkill -f sxmo_lock.sh
|
||||||
STATE=free
|
STATE=free
|
||||||
elif [ free = "$STATE" ] && [ "$distance" -gt "$TARGET" ]; then
|
elif [ free = "$STATE" ] && [ "$distance" -gt "$TARGET" ]; then
|
||||||
|
islocked && pkill -f sxmo_lock.sh # we want screen-off on proximity
|
||||||
sxmo_lock.sh --screen-off &
|
sxmo_lock.sh --screen-off &
|
||||||
STATE=locked
|
STATE=locked
|
||||||
fi
|
fi
|
||||||
|
@ -29,7 +40,7 @@ mainloop() {
|
||||||
done
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
pgrep -f sxmo_lock.sh > /dev/null && STATE=locked || STATE=free
|
syncstate
|
||||||
if [ locked = "$STATE" ]; then
|
if [ locked = "$STATE" ]; then
|
||||||
WASLOCKED=true
|
WASLOCKED=true
|
||||||
|
|
||||||
|
|
18
scripts/core/sxmo_proximitylocktoggle.sh
Normal file
18
scripts/core/sxmo_proximitylocktoggle.sh
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
proximitylockdisable() {
|
||||||
|
notify-send "Proximity Lock Disabled"
|
||||||
|
pkill -f "$(command -v sxmo_proximitylock.sh)"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
proximitylockenable() {
|
||||||
|
notify-send "Proximity Lock Enabled"
|
||||||
|
setsid -f sxmo_proximitylock.sh &
|
||||||
|
}
|
||||||
|
|
||||||
|
if pgrep -f "$(command -v sxmo_proximitylock.sh)"; then
|
||||||
|
proximitylockdisable
|
||||||
|
else
|
||||||
|
proximitylockenable
|
||||||
|
fi
|
|
@ -25,7 +25,7 @@ finish() {
|
||||||
echo "sxmo_modemcall: $1">&2
|
echo "sxmo_modemcall: $1">&2
|
||||||
notify-send "$1"
|
notify-send "$1"
|
||||||
fi
|
fi
|
||||||
kill $LOCKPID
|
[ -n "$LOCKPID" ] && kill $LOCKPID
|
||||||
pkill -9 dmenu
|
pkill -9 dmenu
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
@ -257,8 +257,11 @@ incomingcallmenu() {
|
||||||
|
|
||||||
modem_n || finish "Couldn't determine modem number - is modem online?"
|
modem_n || finish "Couldn't determine modem number - is modem online?"
|
||||||
|
|
||||||
sxmo_proximitylock.sh &
|
# do not duplicate proximity lock if already running
|
||||||
LOCKPID="$!"
|
if ! pgrep -f sxmo_proximitylock.sh > /dev/null; then
|
||||||
|
sxmo_proximitylock.sh &
|
||||||
|
LOCKPID="$!"
|
||||||
|
fi
|
||||||
|
|
||||||
"$@" &
|
"$@" &
|
||||||
MAINPID="$!"
|
MAINPID="$!"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue