From 7563101f66634c77f0d6878473cc6e46a7e3ff59 Mon Sep 17 00:00:00 2001 From: Dieter Plaetinck Date: Sun, 26 Apr 2009 16:02:06 +0200 Subject: [PATCH] better documented how scripts should work + refactored sample implementations --- README | 24 ++++++++++++++++++++++++ extra/download.sh | 3 +-- extra/history.sh | 3 +++ extra/insert_bookmark.sh | 4 +--- extra/load_url_from_bookmarks.sh | 2 +- extra/load_url_from_history.sh | 2 +- sampleconfig | 2 +- 7 files changed, 32 insertions(+), 8 deletions(-) mode change 100644 => 100755 extra/download.sh create mode 100755 extra/history.sh mode change 100644 => 100755 extra/insert_bookmark.sh mode change 100644 => 100755 extra/load_url_from_bookmarks.sh diff --git a/README b/README index e58962d..71cec2d 100644 --- a/README +++ b/README @@ -75,6 +75,30 @@ REPO's: They may be developing specific features, which get merged into Dieters experimental branch +EXTERNAL SCRIPTS +You can use external scripts with uzbl the following ways: +1) let uzbl call them. these scripts are called handlers in the uzbl config. used for handling logging history, handling a new download,.. +2) call them yourself from inside uzbl. you can bind keys for this. examples: add new bookmark, load new url,.. +3) if you want to call scripts that have no option, you can trigger them with something like xbindkeys. example: ? (we try to keep all possibilities inside option 1/2) + +Scripts that are called by uzbl are passed the following arguments: +$1 uzbl-config-file +$2 uzbl-pid +$3 uzbl-x-window-id +$4 uzbl_fifo-filename +.. [ script specific ] (optional) + +The script specific arguments are this: +* history: + $5 page url + $6 page title + $7 date of visit (Y-m-d H:i:s localtime) +* add bookmark: + $5 page url + $6 page title +* download: + $5 url + KNOWN BUGS - Segfault occurs on shutdown, almost definitely FIFO related (I'm not seeing this bug now, but the warning was here when I forked the code and I haven't touched the FIFO bit) - Segfaults when using zoom commands (happens when max zoom already reached?). diff --git a/extra/download.sh b/extra/download.sh old mode 100644 new mode 100755 index 90d0a9f..ff3d8db --- a/extra/download.sh +++ b/extra/download.sh @@ -1,3 +1,2 @@ #!/bin/bash -# $1 = url of file to download -wget $1 +wget $5 diff --git a/extra/history.sh b/extra/history.sh new file mode 100755 index 0000000..4047476 --- /dev/null +++ b/extra/history.sh @@ -0,0 +1,3 @@ +#!/bin/bash + +echo "$7 $5" >> /tmp/uzbl.history diff --git a/extra/insert_bookmark.sh b/extra/insert_bookmark.sh old mode 100644 new mode 100755 index 3df6086..083a4b4 --- a/extra/insert_bookmark.sh +++ b/extra/insert_bookmark.sh @@ -1,11 +1,9 @@ #!/bin/bash -# $1 should be the uri you want to bookmark file=bookmarks -[ -z "$1" ] && exit 1 which zenity &>/dev/null || exit 2 -entry=`zenity --entry --text="Add bookmark. add tags at the end, separated by commas" --entry-text="$1"` +entry=`zenity --entry --text="Add bookmark. add tags at the end, separated by commas" --entry-text="$5"` url=`awk '{print $1}' <<< $entry` # TODO: check if already exists, if so, and tags are different: ask if you want to replace tags echo "$entry" >> $file diff --git a/extra/load_url_from_bookmarks.sh b/extra/load_url_from_bookmarks.sh old mode 100644 new mode 100755 index dfbbf9a..52e14e2 --- a/extra/load_url_from_bookmarks.sh +++ b/extra/load_url_from_bookmarks.sh @@ -1,4 +1,4 @@ #!/bin/bash file=bookmarks goto=`awk '{print $1}' $history_file | dmenu` #NOTE: it's the job of the script that inserts bookmarks to make sure there are no dupes. -[ -n "$goto" ] && echo "uri $goto" > /tmp/uzbl-fifo-name-TODO +[ -n "$goto" ] && echo "uri $goto" > $4 diff --git a/extra/load_url_from_history.sh b/extra/load_url_from_history.sh index bcc2362..559e257 100755 --- a/extra/load_url_from_history.sh +++ b/extra/load_url_from_history.sh @@ -1,4 +1,4 @@ #!/bin/bash history_file=/tmp/uzbl.history goto=`awk '{print $3}' $history_file | sort | uniq | dmenu` -[ -n "$goto" ] && echo "uri $goto" > /tmp/uzbl-fifo-name-TODO +[ -n "$goto" ] && echo "uri $goto" > $4 diff --git a/sampleconfig b/sampleconfig index 3a4bae1..b76030f 100644 --- a/sampleconfig +++ b/sampleconfig @@ -11,7 +11,7 @@ # from insert mode by combining them with the modkey [behavior] -history_file = /tmp/uzbl.history +history_handler = ./extra/history.sh download_handler = ./extra/download.sh fifo_dir = /tmp always_insert_mode = 0 -- 1.7.9.5