From e2db5d1581339bf6f891b81879130d5e1f3298fc Mon Sep 17 00:00:00 2001 From: Stefan Huber Date: Wed, 5 Feb 2014 09:45:07 +0100 Subject: [PATCH] Moving X scripts to dedicated dir --- X/getXenv.inc | 44 ++++++ X/tp_alert.sh | 126 ++++++++++++++++++ .../usr/local/bin/getXenv.inc | 1 - .../usr/local/bin/tp_alert.sh | 1 - 4 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 X/getXenv.inc create mode 100755 X/tp_alert.sh delete mode 120000 lenovo-x220-linuxacpi/usr/local/bin/getXenv.inc delete mode 120000 lenovo-x220-linuxacpi/usr/local/bin/tp_alert.sh diff --git a/X/getXenv.inc b/X/getXenv.inc new file mode 100644 index 0000000..4b1c7e3 --- /dev/null +++ b/X/getXenv.inc @@ -0,0 +1,44 @@ +# Extracted from /etc/acpi/powerbtn.sh + + +# Taken from Debian's 2.0.4-1 diff file. This version handles KDE4. +# Power Button event handler. +# Checks to see if gnome or KDE are already handling the power button. +# If not, initiates a plain shutdown. + +# getXuser gets the X user belonging to the display in $displaynum. +# If you want the foreground X user, use getXconsole! +# Input: +# displaynum - X display number +# Output: +# XUSER - the name of the user +# XAUTHORITY - full pathname of the user's .Xauthority file +getXuser() { + user=`pinky -fw | awk '{ if ($2 == ":'$displaynum'" || $(NF) == ":'$displaynum'" ) { print $1; exit; } }'` + if [ x"$user" = x"" ]; then + startx=`pgrep -n startx` + if [ x"$startx" != x"" ]; then + user=`ps -o user --no-headers $startx` + fi + fi + if [ x"$user" != x"" ]; then + userhome=`getent passwd $user | cut -d: -f6` + export XAUTHORITY=$userhome/.Xauthority + else + export XAUTHORITY="" + fi + export XUSER=$user +} + +# Gets the X display number for the active virtual terminal. +# Output: +# DISPLAY - the X display number +# See getXuser()'s output. +getXconsole() { + console=`fgconsole`; + displaynum=`ps t tty$console | sed -n -re 's,.*/X .*:([0-9]+).*,\1,p'` + if [ x"$displaynum" != x"" ]; then + export DISPLAY=":$displaynum" + getXuser + fi +} diff --git a/X/tp_alert.sh b/X/tp_alert.sh new file mode 100755 index 0000000..43109e0 --- /dev/null +++ b/X/tp_alert.sh @@ -0,0 +1,126 @@ +#!/bin/bash +# +# Stefan Huber +# +# ChangeLog: +# * 2009-07-24: Initial version +# * 2010-10-09: Use more shell commands + + +# Wait this amount of time until we activate lock +INITWAIT="0" +# Wait this amount of time after an alert call +ALERTPOSTWAIT="2" +# Busy wait for polling position sensor +BUSYWAIT="0.2" +# Tolerance for sensor differences +TOLERANCE="5" +# Position file +POSFILE="/sys/devices/platform/hdaps/position" + + +#Set the paths +export PATH="/bin:/usr/bin" +export DISPLAY=":0" + +state=0 +alert() { + amixer -q sset Master 100%,100% unmute + echo "Alert $state at time `date`" + + case $state in + 0) + echo "Leave me alone!" | festival --tts + state=1 + ;; + 1) + echo "E-mail sent!" | festival --tts + sendemail + state=2 + ;; + *) + sendemail + while isActive; do + echo "HELP!" | festival --tts + done + return + ;; + esac + sleep $ALERTPOSTWAIT +} + +sendemail() { + /usr/sbin/sendmail $USER <