aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--examples/config/config13
-rw-r--r--examples/data/scripts/follow.js16
-rwxr-xr-xexamples/data/scripts/follow.sh5
3 files changed, 33 insertions, 1 deletions
diff --git a/examples/config/config b/examples/config/config
index 77686a0..11f1d82 100644
--- a/examples/config/config
+++ b/examples/config/config
@@ -192,6 +192,8 @@ set ebind = @mode_bind global,-insert
@on_event ESCAPE @set_mode
@on_event ESCAPE event KEYCMD_CLEAR
@on_event ESCAPE js uzbl.follow.clearHints()
+@on_event ESCAPE search_clear
+@on_event ESCAPE js window.getSelection().removeAllRanges()
@bind <Escape> = event ESCAPE
@bind <Ctrl>[ = event ESCAPE
@@ -323,6 +325,7 @@ set ebind = @mode_bind global,-insert
@cbind yu = sh 'echo -n "$UZBL_URI" | xclip'
@cbind yU = sh 'echo -n "$1" | xclip' '\@SELECTED_URI'
@cbind yy = sh 'echo -n "$UZBL_TITLE" | xclip'
+@cbind ys = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ clipboard
# Clone current window
@cbind c = event REQ_NEW_WINDOW \@uri
@@ -360,6 +363,16 @@ set follow_hint_keys = 0123456789
@cbind FL* = spawn @scripts_dir/follow.sh \@< uzbl.follow("\@follow_hint_keys", "%s", 'returnuri') >\@ clipboard
@cbind fi = spawn @scripts_dir/go_input.sh
+@cbind fs = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ set
+@cbind fS = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('click') >\@
+@cbind Fs = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('newwindow') >\@
+@cbind FS = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ clipboard
+
+@cbind ft* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'returnuri') >\@ set
+@cbind fT* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'click') >\@
+@cbind Ft* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'newwindow') >\@
+@cbind FT* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'returnuri') >\@ clipboard
+
@cbind '* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'click') >\@
# Form filler binds
diff --git a/examples/data/scripts/follow.js b/examples/data/scripts/follow.js
index 88f80f2..83bbf55 100644
--- a/examples/data/scripts/follow.js
+++ b/examples/data/scripts/follow.js
@@ -326,3 +326,19 @@ uzbl.follow.followLinks = function(str) {
this.reDrawHints(leftover, len);
}
}
+
+uzbl.follow.followSelection = function(mode) {
+ var selection = window.getSelection()
+ if (!selection)
+ return
+
+ var node = selection.anchorNode
+ if (!node)
+ return
+
+ var el = node.parentElement
+ if (!el)
+ return
+
+ this.elementSelected(el)
+}
diff --git a/examples/data/scripts/follow.sh b/examples/data/scripts/follow.sh
index ca6b7a0..3518059 100755
--- a/examples/data/scripts/follow.sh
+++ b/examples/data/scripts/follow.sh
@@ -22,6 +22,10 @@ event NEW_WINDOW $@" > "$UZBL_FIFO"
uriaction=$1
uri=${result#XXXRETURNED_URIXXX}
+ printf 'set mode=\nevent KEYCMD_CLEAR\n' > "$UZBL_FIFO"
+
+ [ -z "$uri" ] && exit
+
case "$uriaction" in
set)
printf 'uri '"$uri"'\n' | sed -e 's/@/\\@/' > "$UZBL_FIFO"
@@ -30,5 +34,4 @@ event NEW_WINDOW $@" > "$UZBL_FIFO"
printf "$uri" | xclip
;;
esac
- printf 'set mode=\nevent KEYCMD_CLEAR\n' > "$UZBL_FIFO"
esac