--- a
+++ b/src/desktop/recoll_index_on_ac.sh
@@ -0,0 +1,62 @@
+#!/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.
+
+# 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