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

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

# 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} '$1'"' > "$UZBL_FIFO"
  exit
fi

result=$(echo 'script @scripts_dir/follow.js "@{follow_hint_keys} '$1'"' | 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