Merge branch 'experimental' into bf2
[uzbl-mobile] / examples / config / uzbl / config
index bbe3a75..efc4780 100644 (file)
@@ -1,96 +1,38 @@
-
-# example uzbl config. in a real config, we should obey the xdg spec
+# example uzbl config.
 # all settings are optional.  you can use uzbl without any config at all (but it won't do much)
 
-# keyboard behavior is vimstyle by default (all commands -> 1 key). set
-# always_insert_mode to always be in insert mode and disable going out of it.
-# if you do this, make sure you've set a modkey so you can reach the commands
-# from insert mode by combining them with the modkey
+# keyboard behavior in this sample config is sort of vimstyle
 
-# TODO: ability to attach misc things (spawn <foo>, script <bar>,.. to internal events)
-# Usually you want to spawn a script to handle things, but any command (such as sh) can be used
-set history_handler  = spawn $XDG_DATA_HOME/uzbl/scripts/history.sh
+# Handlers
 set download_handler = spawn $XDG_DATA_HOME/uzbl/scripts/download.sh
 set cookie_handler   = spawn $XDG_DATA_HOME/uzbl/scripts/cookies.py
-
-set minimum_font_size = 6
-set font_size = 11
-## monospace_size defaults to font_size, but you can alter it independently
-#set monospace_size = 10
-
-## Display or supress images within html sites
-#set autoload_images = 0
-
-## Shrink images to window size
-#set autoshrink_images = 0
-
-## Spellchecker
-#set enable_spellcheck = 1
-
-## Private browsing
-#set enbale_private = 0
-
-## The URI of a stylesheet that is applied to every page
-#set stylesheet_uri = http://www.user.com/mystylelesheet.css
-
-## enable/disable JavaScript
-#set disbale_scripts = 1
-
-## Whether text areas are resizable
-#set resizeable_text_areas = 1
-
-## The default encoding used to display text
-#set default_encoding = iso-8859-1
-
-## Whether background images should be printed
-#set print_background = 0
-
-## Enforce a resolution of 96 DPI. This is meant for compatibility with
-## web pages which cope badly with different screen resolutions
-#set enforce_96_dpi = 1
-
-
-#
-# use with bind ... = sh <shell-oneliner>
-set shell_cmd         = sh -c
+#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
-# you can optionally use this setting to override the background color of the statusbar from your GTK theme.
 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">MSG</span><span foreground="#606060">SELECTED_URI</span></span>
-set status_top = 0
-# define how your titlebar should look like. (short = statusbar is also shown, long = show everything you must see if statusbar is off)
-set title_format_short = TITLE - Uzbl browser <NAME>
-set title_format_long = KEYCMD MODE TITLE - Uzbl browser <NAME> > SELECTED_URI
-# set the characters to use for, and the width of the progress bar
-set status_pbar_done  = *
-set status_pbar_pending = -
-set status_pbar_width = 12
+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 modkey = Mod1
-# reset to command mode when new page is loaded
-set reset_command_mode = 1
-# this var has precedence over reset_command_mode
-set always_insert_mode = 0
-
-# to start a local socks server, do : ssh -fND localhost:8118 localhost
-#set  proxy_url       = http://127.0.0.1:8118
-#values 0-3
-#set  http_debug      = 0
-#set  useragent       = uzbl (Webkit WEBKIT_MAJOR.WEBKIT_MINOR.WEBKIT_MICRO)
-# Example user agent containing everything:
-set  useragent       = Uzbl (Webkit WEBKIT_MAJOR.WEBKIT_MINOR.WEBKIT_MICRO) (SYSNAME NODENAME KERNREL KERNVER ARCH_SYSTEM [ARCH_UZBL]) (Commit COMMIT)
-#set  max_conns              = 0
-#set  max_conns_host  = 0
+set useragent       = Uzbl (Webkit @WEBKIT_MAJOR.@WEBKIT_MINOR.@WEBKIT_MICRO) (@(uname -s)@ @(uname -n)@ @(uname -r)@ @(uname -v)@ @(uname -m)@ [@ARCH_UZBL]) (Commit @COMMIT)
 
 set fifo_dir = /tmp
 set socket_dir = /tmp
+set shell_cmd         = sh -c
+
+# Keyboard interface
+set modkey = Mod1
+# like this you can enter any command at runtime, interactively. prefixed by ':'
+bind    :_        = chain '%s'
 
-# Key bindings
 bind    j         = scroll_vert 20
 bind    k         = scroll_vert -20
 bind    h         = scroll_horz -20
@@ -99,25 +41,26 @@ bind    <<        = scroll_begin
 bind    >>        = scroll_end
 bind    b         = back
 bind    m         = forward
-bind    s         = stop
+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
-# Hilight matches. Notice the * after the slash - it makes the command incremental, i.e. gets called
-# on every character you type.  You can do `bind /_ = search %s' if you want it less interactive.
 bind    /*        = search %s
 bind    ?*        = search_reverse %s
 #jump to next
 bind    n         = search
 bind    N         = search_reverse
 bind    gh        = uri http://www.uzbl.org
-#TODO: set uri?
+# shortcut to set the uri. TODO: i think we can abandon the uri command in favor of 'set uri = ..'
 bind    o _       = uri %s
-bind    :wiki _   = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
+# 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
@@ -133,11 +76,13 @@ 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"
+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"
+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    S         = js alert("hi");
+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
@@ -146,7 +91,10 @@ bind    S         = js alert("hi");
 # 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    !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
@@ -168,10 +116,6 @@ 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
 
-# you can use this to disable all plugins
-set disable_plugins = 0
-
-set icon = ./uzbl.png
 
 # "home" page if you will
 set uri = uzbl.org