aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-x.local/bin/xblank41
1 files changed, 35 insertions, 6 deletions
diff --git a/.local/bin/xblank b/.local/bin/xblank
index 0165455..9804b97 100755
--- a/.local/bin/xblank
+++ b/.local/bin/xblank
@@ -15,12 +15,15 @@ readonly PROGRAM_NAME="$(basename "$0")"
main()
{
# Handle opts
- while getopts ":C:S:c:ht:v" opt
+ while getopts ":PS:d:hpt:v" opt
do
case "$opt" in
+ P) unpause=1 ;;
S) rundir=$OPTARG ;;
d) command_dir=$OPTARG ;;
h) usage && exit 0 ;;
+ p) pause=1 ;;
+ t) trigger=$OPTARG ;;
v) verbose=1 ;;
*)
printf "Invalid option passed: %s\n" "$OPTARG" >&2
@@ -36,25 +39,51 @@ main()
time_old=0
time_now="$(xprintidle)"
+ # Set some environment variables, for exposing to the scripts ran
+ export XBLANK_STATESD="$rundir/states.d"
+
+ if [ -n "$unpause" ]
+ then
+ printf "0\n" > "$rundir/paused"
+ return 0
+ fi
+
+ if [ -n "$pause" ]
+ then
+ printf "1\n" > "$rundir/paused"
+ return 0
+ fi
+
+ if [ -n "$trigger" ]
+ then
+ cmd=$(get_script "$trigger")
+
+ if [ "$cmd" = "" ]
+ then
+ log "No executable found for activation"
+
+ return 5
+ fi
+
+ $cmd
+ fi
+
# Check availability of dependencies
for i in xprintidle xset
do
command -v "$i" >/dev/null && continue
log "Missing dependency $i"
- exit 3
+ return 3
done
# Ensure $DISPLAY is set
if [ -z "$DISPLAY" ]
then
log "\$DISPLAY is unset"
- exit 4
+ return 4
fi
- # Set some environment variables, for exposing to the scripts ran
- export XBLANK_STATESD="$rundir/states.d"
-
# Initialize the rundir
log "Create rundir ($rundir)"
mkdir -p -- "$rundir"