diff options
author | Silvio Rhatto <rhatto@riseup.net> | 2018-05-27 08:26:37 -0300 |
---|---|---|
committer | Silvio Rhatto <rhatto@riseup.net> | 2018-05-27 08:26:37 -0300 |
commit | b0b13a93f6bac631234abcb00ccea225257cf47b (patch) | |
tree | 7904534b20b22d5d6c81171473b1522178bc582d /xalarm | |
parent | e0b9d93101a679a9eed199d0b266622285013216 (diff) | |
download | utils-x11-b0b13a93f6bac631234abcb00ccea225257cf47b.tar.gz utils-x11-b0b13a93f6bac631234abcb00ccea225257cf47b.tar.bz2 |
Xalarm: refactor cancel, pause and resume
Diffstat (limited to 'xalarm')
-rwxr-xr-x | xalarm | 53 |
1 files changed, 23 insertions, 30 deletions
@@ -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 |