aboutsummaryrefslogtreecommitdiff
path: root/xalarm
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2018-05-27 08:26:37 -0300
committerSilvio Rhatto <rhatto@riseup.net>2018-05-27 08:26:37 -0300
commitb0b13a93f6bac631234abcb00ccea225257cf47b (patch)
tree7904534b20b22d5d6c81171473b1522178bc582d /xalarm
parente0b9d93101a679a9eed199d0b266622285013216 (diff)
downloadutils-x11-b0b13a93f6bac631234abcb00ccea225257cf47b.tar.gz
utils-x11-b0b13a93f6bac631234abcb00ccea225257cf47b.tar.bz2
Xalarm: refactor cancel, pause and resume
Diffstat (limited to 'xalarm')
-rwxr-xr-xxalarm53
1 files changed, 23 insertions, 30 deletions
diff --git a/xalarm b/xalarm
index a694e5a..6a3aab4 100755
--- a/xalarm
+++ b/xalarm
@@ -9,12 +9,6 @@
FULLNAME="$0"
BASENAME="`basename $0`"
-# List alarms
-function xalarm_list {
- ps -U $USER -o pid,lstart,command | grep xalarm | grep -v grep | grep -v list | grep -v cancel | \
- sed -e "s|$FULLNAME||" -e "s|/bin/bash||" | grep -v -- "sed -e"
-}
-
# Set alarm
function xalarm_set {
# Delay
@@ -38,43 +32,42 @@ function xalarm_set {
fi
}
-# Cancel alarms
-function xalarm_cancel {
+# List alarms
+function xalarm_list {
+ ps -U $USER -o pid,state,lstart,command | grep xalarm | grep -v grep | grep -v list | grep -v cancel | grep -v pause | grep -v resume | \
+ sed -e "s|$FULLNAME||" -e "s|/bin/bash||" | grep -v -- "sed -e"
+}
+
+# Return xalarm PIDs
+function xalarm_pids {
if [ ! -z "$1" ]; then
if xalarm_list | awk '{ print $1 }' | grep -q "^$1"; then
- kill $1
+ echo $1
fi
else
- for pid in `xalarm_list | awk '{ print $1 }'`; do
- kill $pid
- done
+ xalarm_list | awk '{ print $1 }'
fi
}
+# Cancel alarms
+function xalarm_cancel {
+ for pid in `xalarm_pids $1`; do
+ kill $pid
+ done
+}
+
# Pause alarms
function xalarm_pause {
- if [ ! -z "$1" ]; then
- if xalarm_list | awk '{ print $1 }' | grep -q "^$1"; then
- kill -CONT $1
- fi
- else
- for pid in `xalarm_list | awk '{ print $1 }'`; do
- kill -CONT $pid
- done
- fi
+ for pid in `xalarm_pids $1`; do
+ kill -STOP $pid
+ done
}
# Resume alarms
function xalarm_resume {
- if [ ! -z "$1" ]; then
- if xalarm_list | awk '{ print $1 }' | grep -q "^$1"; then
- kill -CONT $1
- fi
- else
- for pid in `xalarm_list | awk '{ print $1 }'`; do
- kill -CONT $pid
- done
- fi
+ for pid in `xalarm_pids $1`; do
+ kill -CONT $pid
+ done
}
# Usage