aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/config/uzbl/config
blob: 71593e08e7b62f070075ef9d40beec12d3d8ddf0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# example uzbl config.
# all settings are optional.  you can use uzbl without any config at all (but it won't do much)

# set some shortcuts
set bind = request BIND
set shell_cmd         = sh -c

# keyboard behavior in this sample config is sort of vimstyle

# Handlers
set download_handler = spawn $XDG_DATA_HOME/uzbl/scripts/download.sh
set cookie_handler   = spawn $XDG_DATA_HOME/uzbl/scripts/cookies.py
#set new_window      = sh 'echo uri "$8" > $4' # open in same window
set new_window       = sh 'uzbl -u $8' # equivalent to the default behaviour
set scheme_handler   = spawn $XDG_DATA_HOME/uzbl/scripts/scheme.py
set load_start_handler = chain 'set keycmd = ' 'set status_message = <span foreground="khaki">wait</span>'
set load_commit_handler = set status_message = <span foreground="green">recv</span>
set load_finish_handler = chain 'set status_message = <span foreground="gold">done</span>' 'spawn $XDG_DATA_HOME/uzbl/scripts/history.sh'



# Behaviour and appearance
set show_status       = 1
set status_background = #303030
set status_format     = <span font_family="monospace"><span background="khaki" foreground="black">[\@[\@MODE]\@]</span> [<span weight="bold" foreground="red">\@[\@keycmd]\@</span>] <span foreground="#606060"> \@[\@LOAD_PROGRESSBAR]\@ </span><span foreground="#99FF66">\@[\@uri]\@</span> <span foreground="khaki">\@[\@NAME]\@</span>   <span foreground="orange">\@status_message</span><span foreground="#606060"> \@[\@SELECTED_URI]\@</span></span>
set status_top        = 0
set insert_indicator = I
set command_indicator = C
set useragent       = Uzbl (Webkit @WEBKIT_MAJOR.@WEBKIT_MINOR.@WEBKIT_MICRO) (@(uname -o)@ @(uname -m)@ [@ARCH_UZBL]) (Commit @COMMIT)

set fifo_dir = /tmp
set socket_dir = /tmp

# Keyboard interface
set modkey = Mod1
# like this you can enter any command at runtime, interactively. prefixed by ':'
@bind    :_        = chain '%s'

@bind    j         = scroll_vert 20
@bind    k         = scroll_vert -20
@bind    h         = scroll_horz -20
@bind    l         = scroll_horz 20
@bind    <<        = scroll_begin
@bind    >>        = scroll_end
@bind    b         = back
@bind    m         = forward
@bind    S         = stop
@bind    r         = reload
@bind    R         = reload_ign_cache
@bind    +         = zoom_in
@bind    -         = zoom_out
@bind    T         = toggle_zoom_type
@bind    1         = sh "echo set zoom_level = 1.0 > $4"
@bind    2         = sh "echo set zoom_level = 2.0 > $4"
@bind    t         = toggle_status
@bind    /*        = search %s
@bind    ?*        = search_reverse %s
#jump to next
@bind    n         = search
@bind    N         = search_reverse
@bind    gh        = uri http://www.uzbl.org
# shortcut to set the uri. TODO: i think we can abandon the uri command in favor of 'set uri = ..'
@bind    o _       = uri %s
# shortcut to set variables
@bind    s _       = set %s
@bind    \wiki _   = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
@bind    gg _      = uri http://www.google.com/search?q=%s
@bind    i         = toggle_insert_mode
# disable insert mode (1 to enable).  note that Esc works to disable, regardless of this setting
@bind    I         = toggle_insert_mode 0
# Enclose the executable in quotes if it has spaces.  Any additional parameters you use will
# appear AFTER the default parameters
@bind    B         = spawn $XDG_DATA_HOME/uzbl/scripts/insert_bookmark.sh
@bind    U         = spawn $XDG_DATA_HOME/uzbl/scripts/load_url_from_history.sh
@bind    u         = spawn $XDG_DATA_HOME/uzbl/scripts/load_url_from_bookmarks.sh
# with the sample yank script, you can yank one of the arguments into clipboard/selection
@bind    yurl      = spawn $XDG_DATA_HOME/uzbl/scripts/yank.sh 6 primary
@bind    ytitle    = spawn $XDG_DATA_HOME/uzbl/scripts/yank.sh 7 clipboard
# does the same as yurl but without needing a script
@bind    y2url     = sh 'echo -n $6 | xclip'
# go the page from primary selection
@bind    p         = sh 'echo "uri `xclip -selection primary -o`" > $4'
# go to the page in clipboard
@bind    P         = sh 'echo "uri `xclip -selection clipboard -o`" > $4'
# start a new uzbl instance from the page in primary selection
@bind    'p        = sh 'exec uzbl --uri $(xclip -o)'
@bind    ZZ        = exit
@bind    Xs         = js alert("hi");
# example showing how to use sh
# it sends a command to the fifo, whose path is told via a positional param
# if fifo_dir is not set, it'll echo to a file named (null) somewhere >:) remember to delete it
# The body of the shell command should be one parameter, so if it has spaces like here,
# you must enclose it in quotes.  Remember to escape (and double-escape) quotes and backslashes
# in the body.  Any additional parameters you use will appear AFTER the default parameters (cfg file
# path, fifo & socket dirs, etc.)
@bind    XS        = sh 'echo "js alert (\\"This is sent by the shell via a fifo\\")" > "$4"'

@bind    !dump     = sh "echo dump_config > $4"
@bind    !reload   = sh 'cat $1 > $4'

# this script allows you to configure (per domain) values to fill in form fields (eg login information) and to fill in these values automatically
@bind za = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh
@bind ze = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh edit
@bind zn = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh new
@bind zl = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh load

# other - more advanced - implementation using perl: (could not get this to run - Dieter )
@bind LL = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl load
@bind LN = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl new
@bind LE = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl edit

# we ship some javascripts to do keyboard based link hinting/following.  (webkit does not have C DOM bindings yet)
# this is similar to how it works in vimperator (and konqueror)
# TODO: did we resolve: "no click() event for hyperlinks so no referrer set" ?
#hit F to toggle the Hints (now in form of link numbering)
@bind    F = script $XDG_DATA_HOME/uzbl/scripts/hint.js
# the most stable version:
@bind    fl* = script $XDG_DATA_HOME/uzbl/scripts/follow_Numbers.js %s
# using strings, not polished yet:
@bind    fL* = script $XDG_DATA_HOME/uzbl/scripts/follow_Numbers_Strings.js %s


# "home" page if you will
set uri = uzbl.org