70 lines
2.0 KiB
Bash
Executable File
70 lines
2.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# This is a shell script that starts and stops the recollindex daemon
|
|
# depending on whether or not the power supply is plugged in. It should be
|
|
# called from the file ~/.config/autostart/recollindex.desktop.
|
|
#
|
|
# That is: make the script executable (chmod +x) and replace in
|
|
# recollindex.desk the line:
|
|
# Exec=recollindex -w 60 -m
|
|
# With
|
|
# Exec=/path/to/recoll_index_on_ac.sh
|
|
#
|
|
#
|
|
# By: The Doctor (drwho at virtadpt dot net)
|
|
# License: GPLv3
|
|
#
|
|
# Modifications by J.F Dockes
|
|
# - replaced "acpi" usage with "on_ac_power" which seems to be both
|
|
# more common and more universal.
|
|
# - Changed the default to be that we run recollindex if we can't determine
|
|
# power status (ie: on_ac_power not installed or not working: we're most
|
|
# probably not running on a laptop).
|
|
|
|
INDEXER="recollindex -w 60 -m"
|
|
ACPI=`which on_ac_power`
|
|
|
|
# If the on_ac_power script isn't installed, warn, but run anyway. Maybe
|
|
# this is not a laptop or not linux.
|
|
if test "x$ACPI" = "x" ; then
|
|
echo "on_ac_power utility not found. Starting recollindex anyway."
|
|
fi
|
|
|
|
while true; do
|
|
# Determine whether or not the power supply is plugged in.
|
|
if test "x$ACPI" != "x" ; then
|
|
on_ac_power
|
|
STATUS=$?
|
|
else
|
|
STATUS=0
|
|
fi
|
|
|
|
# Get the PID of the indexing daemon.
|
|
if test -f ~/.recoll/index.pid ; then
|
|
PID=`cat ~/.recoll/index.pid`
|
|
# Make sure that this is recollindex running. pid could have
|
|
# been reallocated
|
|
ps ax | egrep "^[ \t]*$PID " | grep -q recollindex || PID=""
|
|
fi
|
|
# echo "Recollindex pid is $PID"
|
|
|
|
if test $STATUS -eq 1 ; then
|
|
# The power supply is not plugged in. See if the indexing daemon is
|
|
# running, and if it is, kill it. The indexing daemon will not be
|
|
# started.
|
|
if test x"$PID" != x; then
|
|
kill $PID
|
|
fi
|
|
else
|
|
# The power supply is plugged in or we just don't know.
|
|
# See if the indexing daemon is running, and if it's not start it.
|
|
if test -z "$PID" ; then
|
|
$INDEXER
|
|
fi
|
|
fi
|
|
|
|
# Go to sleep for a while.
|
|
sleep 120
|
|
continue
|
|
done
|