Introduction
Introduction Statistics Contact Development Disclaimer Help
index.md - sites - public wiki contents of suckless.org
git clone git://git.suckless.org/sites
Log
Files
Refs
---
index.md (2835B)
---
1 Bookmarks for surf
2 ==================
3
4 Description
5 -----------
6
7 This script enables bookmarks and url handlers for surf.
8
9 Keybindings
10 -----------
11 ^b (bookmark current url with given tags)
12 ^g (open url with bookmark autocompletion)
13 ^G (open url without bookmark autocompletion)
14
15 URL handlers
16 ------------
17 This script implements several url handlers
18 "d " (bookmark current url in delicious)
19 "t " (create tinyurl from current page)
20 "w word .." (lookup word in wikipedia)
21 "g word .." (google for given word)
22 "y word .." (search in youtube)
23
24 Author
25 ------
26
27 * The code was originally from Peter John Hartman, but hardly simplified…
28
29 Installation
30 ------------
31
32 Copy the following code into a shellscript named 'surf.sh' in $PATH. Edi…
33
34 Code
35 ----
36 #!/bin/sh
37 # $1 = $xid
38 # $2 = $p = _SURF_FIND _SURF_BMARK _SURF_URI _SURF_URI_RAW (what…
39 #
40 # // replace default setprop with this one
41 # #define SETPROP(p) { .v = (char *[]){ "/bin/sh", "-c", "surf.s…
42 #
43 # // fix shift+slash keybinding in spanish keyboard (f.example)
44 # { MODKEY, GDK_g, spawn, SETPROP("_SURF…
45 # { MODKEY|GDK_SHIFT_MASK,GDK_g, spawn, SETPROP("_SURF…
46 # { MODKEY, GDK_f, spawn, SETPROP("_SURF…
47 # { MODKEY, GDK_b, spawn, SETPROP("_SURF…
48
49 font='-*-terminus-medium-*-*-*-*-*-*-*-*-*-*-*'
50 normbgcolor='#181818'
51 normfgcolor='#e9e9e9'
52 selbgcolor='#dd6003'
53 selfgcolor='#e9e9e9'
54 bmarks=~/.surf/bookmarks.txt
55
56 xid=$1
57 p=$2
58 uri=`xprop -id $xid _SURF_URI | cut -d '"' -f 2`
59 kw=`xprop -id $xid _SURF_FIND | cut -d '"' -f 2`
60 dmenu="dmenu -fn $font -nb $normbgcolor -nf $normfgcolor \
61 -sb $selbgcolor -sf $selfgcolor"
62
63 s_xprop() {
64 [ -n "$2" ] && xprop -id $xid -f $1 8s -set $1 "$2"
65 }
66
67 case "$p" in
68 "_SURF_FIND")
69 ret="`echo $kw | $dmenu -p find:`"
70 s_xprop _SURF_FIND "$ret"
71 ;;
72 "_SURF_BMARK")
73 grep "$uri" $bmarks >/dev/null 2>&1 || echo "$uri" >> $b…
74 ;;
75 "_SURF_URI_RAW")
76 ret=`echo $uri | $dmenu -p "uri:"`
77 s_xprop _SURF_GO "$ret"
78 ;;
79 "_SURF_URI")
80 sel=`tac $bmarks 2> /dev/null | $dmenu -p "uri [dgtwy*]:…
81 [ -z "$sel" ] && exit
82 opt=$(echo $sel | cut -d ' ' -f 1)
83 arg=$(echo $sel | cut -d ' ' -f 2-)
84 case "$opt" in
85 "d") # del.icio.us
86 ret="http://del.icio.us/save?url=$uri"
87 ;;
88 "g") # google for it
89 ret="http://www.google.com/search?q=$arg"
90 ;;
91 "t") # tinyurl
92 ret="http://tinyurl.com/create.php?url=$uri"
93 ;;
94 "w") # wikipedia
95 ret="http://wikipedia.org/wiki/$arg"
96 ;;
97 "y") # youtube
98 ret="http://www.youtube.com/results?search_query…
99 ;;
100 *)
101 ret="$sel"
102 ;;
103 esac
104 s_xprop _SURF_GO "$ret"
105 ;;
106 *)
107 echo Unknown xprop
108 ;;
109 esac
You are viewing proxied material from suckless.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.