aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/scripts/follow.sh
blob: ba1bab45d075fe3ca8772f5e67ce24cd3261ca7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/bin/sh

# This script is just a wrapper around follow.js that lets us change uzbl's mode
# after a link is selected.

keys="$1"
shift

# if socat is installed then we can change Uzbl's input mode once a link is
# selected; otherwise we just select a link.
if ! which socat >/dev/null 2>&1; then
  echo "script @scripts_dir/follow.js \"@{follow_hint_keys} $keys\"" > "$UZBL_FIFO"
  exit
fi

result="$( echo "script @scripts_dir/follow.js \"@{follow_hint_keys} $keys\"" | socat - "unix-connect:$UZBL_SOCKET" )"
case $result in
    *XXXEMIT_FORM_ACTIVEXXX*)
        # a form element was selected
        echo 'event FORM_ACTIVE' > "$UZBL_FIFO"
        ;;
    *XXXRESET_MODEXXX*)
        # a link was selected, reset uzbl's input mode
        echo 'set mode=' > "$UZBL_FIFO"
        ;;
esac