aboutsummaryrefslogtreecommitdiffstats
path: root/xwindowURI
diff options
context:
space:
mode:
Diffstat (limited to 'xwindowURI')
-rwxr-xr-xxwindowURI35
1 files changed, 35 insertions, 0 deletions
diff --git a/xwindowURI b/xwindowURI
new file mode 100755
index 0000000..6e9235a
--- /dev/null
+++ b/xwindowURI
@@ -0,0 +1,35 @@
+#!/bin/sh
+if [ ! "$1" ];then
+ id="$(xwinID)"
+else
+ id="$1"
+fi
+
+class=$(xclass -id "$id")
+#echo "$class"
+
+case "$class" in
+mupdf)
+ basename="$(xwintitle "$id" | rev | cut '-d ' -f5- | rev)"
+ echo "b: $basename"
+ page="$(xwintitle "$id" | tr ' ' '\n' | grep '[0-9][0-9]*/[0-9][0-9]*' | cut -d/ -f1)"
+ echo "$page"
+ for PID in $(pgrep mupdf);do
+ argv1="$(cat /proc/$PID/cmdline | tr '\0' '\n' | sed -n 2p)"
+ cd "$(readlink /proc/$PID/cwd)"
+ abspath="$(normalpath "$argv1")"
+ echo "a: $abspath"
+ echo "b: $basename"
+ if [ "$(basename "$abspath")" = "$basename" ];then
+ printf "file://%s#page=%s\n" "$(uriescape "$abspath")" "$page"
+ exit 0
+ fi
+ done
+ ;;
+Navigator)
+ xwintitle "$id" | rev | cut '-d ' -f4 | rev
+ ;;
+*)
+ echo "class: $class"
+ ;;
+esac