diff options
Diffstat (limited to 'xwindowURI')
| -rwxr-xr-x | xwindowURI | 35 | 
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 | 
