aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/scripts/follow.sh
blob: 975477850e8231b28c82267e2573bf44713ed65a (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
#!/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