e75789da57bc44e9cd65408f062424fd9f6b3901
[uzbl-mobile] / examples / config / uzbl / config
1 # example uzbl config.
2 # all settings are optional.  you can use uzbl without any config at all (but it won't do much)
3
4 # keyboard behavior is vimstyle by default, but you can change this
5 # set always_insert_mode to always be in insert mode and disable going out of it.
6 # if you do this, make sure you've set a modkey so you can reach the commands
7 # from insert mode by combining them with the modkey
8
9 # Usually you want to spawn a script to handle things, but any command (such as sh) can be used
10 set history_handler  = spawn $XDG_DATA_HOME/uzbl/scripts/history.sh
11 set download_handler = spawn $XDG_DATA_HOME/uzbl/scripts/download.sh
12 set cookie_handler   = spawn $XDG_DATA_HOME/uzbl/scripts/cookies.py
13
14 # Control how new windows should open
15 #set new_window       = sh 'uzbl -u $8' # equivalent to the default behaviour
16 #set new_window       = sh 'echo uri "$8" > $4' # open in same window
17
18 # You can bind whatever things (spawn <foo>, script <bar>,..) to some events TODO: make events system more generic
19 set load_start_handler = set status_message = <span foreground="khaki">wait</span>
20 set load_commit_handler = set status_message = <span foreground="green">recv</span>
21 set load_finish_handler = set status_message = <span foreground="gold">done</span>
22
23
24 set minimum_font_size = 6
25 set font_size = 11
26 ## monospace_size defaults to font_size, but you can alter it independently
27 #set monospace_size = 10
28
29 ## Display or supress images within html sites
30 #set autoload_images = 0
31
32 ## Shrink images to window size
33 #set autoshrink_images = 0
34
35 ## Spellchecker
36 #set enable_spellcheck = 1
37
38 ## Private browsing
39 #set enable_private = 0
40
41 ## The URI of a stylesheet that is applied to every page
42 #set stylesheet_uri = http://www.user.com/mystylelesheet.css
43
44 ## enable/disable JavaScript
45 #set disable_scripts = 1
46
47 ## Whether text areas are resizable
48 #set resizeable_text_areas = 1
49
50 ## The default encoding used to display text
51 #set default_encoding = iso-8859-1
52
53 ## Whether background images should be printed
54 #set print_background = 0
55
56 ## Enforce a resolution of 96 DPI. This is meant for compatibility with
57 ## web pages which cope badly with different screen resolutions
58 #set enforce_96_dpi = 1
59
60
61 #
62 # use with bind ... = sh <shell-oneliner>
63 set shell_cmd         = sh -c
64
65
66
67 # Behaviour and appearance
68 set show_status       = 1
69 # you can optionally use this setting to override the background color of the statusbar from your GTK theme.
70 set status_background = #303030
71 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>
72 set status_top        = 0
73 # define how your titlebar should look like. (short = statusbar is also shown, long = show everything you must see if statusbar is off)
74 set title_format_short = \@TITLE - Uzbl browser <\@NAME>
75 set title_format_long = \@keycmd \@MODE \@TITLE - Uzbl browser <\@NAME> > \@SELECTED_URI
76 # set the characters to use for, and the width of the progress bar
77 set status_pbar_done  = *
78 set status_pbar_pending = -
79 set status_pbar_width = 12
80 set insert_indicator = I
81 set command_indicator = C
82 set modkey = Mod1
83 # reset to command mode when new page is loaded
84 set reset_command_mode = 1
85 # this var has precedence over reset_command_mode
86 set always_insert_mode = 0
87
88 # to start a local socks server, do : ssh -fND localhost:8118 localhost
89 #set  proxy_url       = http://127.0.0.1:8118
90 #values 0-3
91 #set  http_debug      = 0
92 #set  useragent       = uzbl (Webkit @WEBKIT_MAJOR.@WEBKIT_MINOR.@WEBKIT_MICRO)
93 # Example user agent containing everything:
94 set  useragent       = Uzbl (Webkit @WEBKIT_MAJOR.@WEBKIT_MINOR.@WEBKIT_MICRO) (@(uname -s)@ @(uname -n)@ @(uname -r)@ @(uname -v)@ @(uname -m)@ [@ARCH_UZBL]) (Commit @COMMIT)
95 #set  max_conns       = 0
96 #set  max_conns_host  = 0
97
98 set fifo_dir = /tmp
99 set socket_dir = /tmp
100
101 # Key bindings
102 bind    j         = scroll_vert 20
103 bind    k         = scroll_vert -20
104 bind    h         = scroll_horz -20
105 bind    l         = scroll_horz 20
106 bind    <<        = scroll_begin
107 bind    >>        = scroll_end
108 bind    b         = back
109 bind    m         = forward
110 bind    S         = stop
111 bind    r         = reload
112 bind    R         = reload_ign_cache
113 bind    +         = zoom_in
114 bind    -         = zoom_out
115 bind    T         = toggle_zoom_type
116 bind    1         = sh "echo set zoom_level = 1.0 > $4"
117 bind    2         = sh "echo set zoom_level = 2.0 > $4"
118 bind    t         = toggle_status
119 # Hilight matches. Notice the * after the slash - it makes the command incremental, i.e. gets called
120 # on every character you type.  You can do `bind /_ = search %s' if you want it less interactive.
121 bind    /*        = search %s
122 bind    ?*        = search_reverse %s
123 #jump to next
124 bind    n         = search
125 bind    N         = search_reverse
126 bind    gh        = uri http://www.uzbl.org
127
128 # like this you can enter any command at runtime, interactively. prefixed by ':'
129 bind    :_        = chain '%s'
130
131 # shortcut to set the uri. TODO: i think we can abandon the uri command in favor of 'set uri = ..'
132 bind    o _       = uri %s
133 # shortcut to set variables
134 bind    s _       = set %s
135 bind    \wiki _   = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
136 bind    gg _      = uri http://www.google.com/search?q=%s
137 bind    i         = toggle_insert_mode
138 # disable insert mode (1 to enable).  note that Esc works to disable, regardless of this setting
139 bind    I         = toggle_insert_mode 0
140 # Enclose the executable in quotes if it has spaces.  Any additional parameters you use will
141 # appear AFTER the default parameters
142 bind    B         = spawn $XDG_DATA_HOME/uzbl/scripts/insert_bookmark.sh
143 bind    U         = spawn $XDG_DATA_HOME/uzbl/scripts/load_url_from_history.sh
144 bind    u         = spawn $XDG_DATA_HOME/uzbl/scripts/load_url_from_bookmarks.sh
145 # with the sample yank script, you can yank one of the arguments into clipboard/selection
146 bind    yurl      = spawn $XDG_DATA_HOME/uzbl/scripts/yank.sh 6 primary
147 bind    ytitle    = spawn $XDG_DATA_HOME/uzbl/scripts/yank.sh 7 clipboard
148 # does the same as yurl but without needing a script
149 bind    y2url     = sh 'echo -n $6 | xclip'
150 # go the page from primary selection
151 bind    p         = sh 'echo "uri `xclip -selection primary -o`" > $4'
152 # go to the page in clipboard
153 bind    P         = sh 'echo "uri `xclip -selection clipboard -o`" > $4'
154 # start a new uzbl instance from the page in primary selection
155 bind    'p        = sh 'exec uzbl --uri $(xclip -o)'
156 bind    ZZ        = exit
157 bind    Xs         = js alert("hi");
158 # example showing how to use sh
159 # it sends a command to the fifo, whose path is told via a positional param
160 # if fifo_dir is not set, it'll echo to a file named (null) somewhere >:) remember to delete it
161 # The body of the shell command should be one parameter, so if it has spaces like here,
162 # you must enclose it in quotes.  Remember to escape (and double-escape) quotes and backslashes
163 # in the body.  Any additional parameters you use will appear AFTER the default parameters (cfg file
164 # path, fifo & socket dirs, etc.)
165 bind    XS        = sh 'echo "js alert (\\"This is sent by the shell via a fifo\\")" > "$4"'
166
167 bind    !dump     = sh "echo dump_config > $4"
168 bind    !reload   = sh 'cat $1 > $4'
169
170 # this script allows you to configure (per domain) values to fill in form fields (eg login information) and to fill in these values automatically
171 bind za = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh
172 bind ze = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh edit
173 bind zn = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh new
174 bind zl = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.sh load
175
176 # other - more advanced - implementation using perl: (could not get this to run - Dieter )
177 bind LL = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl load
178 bind LN = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl new
179 bind LE = spawn $XDG_DATA_HOME/uzbl/scripts/formfiller.pl edit
180
181 # we ship some javascripts to do keyboard based link hinting/following.  (webkit does not have C DOM bindings yet)
182 # this is similar to how it works in vimperator (and konqueror)
183 # TODO: did we resolve: "no click() event for hyperlinks so no referrer set" ?
184 #hit F to toggle the Hints (now in form of link numbering)
185 bind    F = script $XDG_DATA_HOME/uzbl/scripts/hint.js
186 # the most stable version:
187 bind    fl* = script $XDG_DATA_HOME/uzbl/scripts/follow_Numbers.js %s
188 # using strings, not polished yet:
189 bind    fL* = script $XDG_DATA_HOME/uzbl/scripts/follow_Numbers_Strings.js %s
190
191 # you can use this to disable all plugins
192 set disable_plugins = 0
193
194 set icon = ./uzbl.png
195
196 # "home" page if you will
197 set uri = uzbl.org