added code for modifying saver_xscreensaver dev
authorFred Hamster <fred@gruntose.com>
Thu, 27 Nov 2025 18:36:54 +0000 (13:36 -0500)
committerFred Hamster <fred@gruntose.com>
Thu, 27 Nov 2025 18:36:54 +0000 (13:36 -0500)
to update to latest location of xscreensaver, enabling xsecurelock to use it properly.
this code is not quite right yet.

scripts/core/start_xwin_screensaver.sh

index 55a9cfaf16c26bef4b33771551d21875574f91f4..45a71750f2f029db5bf080e19a0f4b6d8354afec 100644 (file)
@@ -38,14 +38,21 @@ fi
 # need to kill xscreensaver if it's running.
 #  e.g. killall -9 xscreensaver
 
-# need to fix the xsecurelock file for the xscreensaver...
-#  => we have a function that does this kind of replacement editing!
-# in file:
-# /usr/libexec/xsecurelock/saver_xscreensaver
-# modify this line:
-# : ${XSECURELOCK_XSCREENSAVER_PATH:=/usr/lib/xscreensaver}
-# to become this line:
-# : ${XSECURELOCK_XSCREENSAVER_PATH:=/usr/share/xscreensaver}
+# fix the xsecurelock file for the xscreensaver; paths haven't been updated to latest.
+XSECURELOCK_XSCREENSAVER='/usr/libexec/xsecurelock/saver_xscreensaver'
+grep -q '/usr/lib/xscreensaver' $XSECURELOCK_XSCREENSAVER
+#hmmm: also, check that we're using the right path for xscreensaver!  what if old system, where in old place?
+if [ $? -eq 0 ]; then
+  if [ ! -z "$DEBUG_FEISTY_MEOW" ]; then
+    echo "decided that we needed to modify the saver_xscreensaver file for xsecurelock"
+  fi
+  file="$XSECURELOCK_XSCREENSAVER"
+  pattern=': ${XSECURELOCK_XSCREENSAVER_PATH:=/usr/lib/xscreensaver}'
+  replacement=': ${XSECURELOCK_XSCREENSAVER_PATH:=/usr/libexec/xscreensaver}'
+  # code borrowed from replace_pattern_in_file, but we need sudo here.
+  sudo sed -i -e "s%$pattern%$replacement%g" "$file"
+  exit_on_error "editing the xsecurelock saver_xscreensaver file"
+fi
 
 DIMMER="/usr/libexec/xsecurelock/dimmer"
 if [ ! -x "$DIMMER" ]; then