#!/bin/sh # # Sample uzbl key handler # # demonstrating one possible way to access and process # uzbl's event messages # # Usage: uzbl | keyhandler # ALTPRESSED=0 clear_modifiers() { ALT_PRESSED=0 CONTROL_PRESSED=0 #etc. echo 'set status_message = ' > "$FIFO_PATH" } while read EVENT; do # get eventname ENAME=`echo "$EVENT" | sed -ne 's/\([A-Z]*\) .*/\1/p'` if [ x"$ENAME" = x'KEYPRESS' ]; then KEY=$(echo "$EVENT" | sed -ne 's/KEYPRESS \[.*\] \(.*$\)/\1/p') FIFO_PATH='/tmp/uzbl_fifo_'$(echo "$EVENT" | sed -ne 's/KEYPRESS \[\(.*\)\] .*$/\1/p') # Clear mofifiers on Escape # [ "$KEY" = Escape ] && clear_modifiers # Modifier: Alt_L # if [ x"$KEY" = x'Alt_L' ];then clear_modifiers ALT_PRESSED=1 # place an indicator showing the active modifier # on uzbl's statusbar # echo 'set status_message = @status_message Alt' > "$FIFO_PATH" fi if [ "$ALT_PRESSED" = 1 ]; then # Keys # if [ x"$KEY" = x'a' ]; then ALT_PRESSED=0 echo 'set inject_html =