Rename 'XGrabControl' script to 'noxg'
[XGrabControl.git] / noxg
diff --git a/noxg b/noxg
new file mode 100755 (executable)
index 0000000..ddc64b1
--- /dev/null
+++ b/noxg
@@ -0,0 +1,46 @@
+#!/bin/sh
+#
+# XGrabControl, part of XGrabControl.
+# (c) 2011, en passant development.
+#
+# This is a simple wrapper script for XGrabControl.
+# Either source it or use it:
+#   source XGrabControl
+# or use it as a program running helper:
+#   XGrabControl program arg1 arg2 ...
+
+MYNAME="XGrabControl"
+SONAME=libXGrabControl.so
+
+
+# Try to find $SONAME
+for n in $PWD "${0%/*}" /usr/lib /usr/local/lib
+do
+  if [ -e "$n/$SONAME" ]
+  then
+    SOPATH="$n/$SONAME"
+    break
+  fi
+done
+
+if [ -z "$SOPATH" ]
+then
+  echo "$MYNAME: Could not find $SONAME. Aborting."
+  exit 1
+fi
+
+
+# Insert ourselves into LD_PRELOAD if we are not there yet.
+if echo $LD_PRELOAD | grep -q "$SONAME" # $SONAME is treated as a regexp
+then
+  echo "$MYNAME: $SONAME is already in LD_PRELOAD."
+else
+  echo "$MYNAME: Adding $SOPATH to LD_PRELOAD."
+  export LD_PRELOAD="$SOPATH $LD_PRELOAD"
+fi
+
+# If any arguments were given, pass them on to the shell.
+if [ $# -gt 0 ]
+then
+  exec "$@"
+fi