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  | 
