use stdlib atof() instead of gnu99 strtof() + more sense making example binds for...
[uzbl-mobile] / examples / configs / sampleconfig-dev
index a645d8c..ad6de24 100644 (file)
@@ -2,22 +2,57 @@
 # example uzbl config. in a real config, we should obey the xdg spec
 # 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 actions -> 1 key). set
+# 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 actions
+# 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
 
 # TODO: ability to attach misc things (spawn <foo>, script <bar>,.. to internal events)
-set history_handler  = ./examples/scripts/history.sh
-set download_handler = ./examples/scripts/download.sh
-#set cookie_handler   = ./examples/scripts/cookies.sh not done yet..
+# Usually you want to spawn a script to handle things, but any command (such as sh) can be used
+set history_handler  = spawn ./examples/scripts/history.sh
+set download_handler = spawn ./examples/scripts/download.sh
+set cookie_handler   = spawn ./examples/scripts/cookies.sh
+
 set minimum_font_size = 6
-set default_font_size = 11
+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>
-# notice the '' - it's a spacer to keep bash and sh from shifting the positional parameters
-# by one, so they will appear in the same position as with scripts invoked via spawn
-set shell_cmd         = sh -c %s ''
+set shell_cmd         = sh -c
 
 
 
@@ -25,12 +60,17 @@ set shell_cmd         = sh -c %s ''
 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_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 insert_indicator = I
+set command_indicator = C
 set modkey = Mod1
 # reset to command mode when new page is loaded
 set reset_command_mode = 1
@@ -41,9 +81,9 @@ set always_insert_mode = 0
 #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%)
+#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  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
 
@@ -64,36 +104,72 @@ bind    r         = reload
 bind    R         = reload_ign_cache
 bind    +         = zoom_in
 bind    -         = zoom_out
+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    ;         = search
+bind    n         = search
+bind    N         = search_reverse
 bind    gh        = uri http://www.uzbl.org
 #TODO: set uri?
 bind    o _       = uri %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         = insert_mode
-#TODO: no 'toggle' command?
+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 ./examples/scripts/insert_bookmark.sh
 bind    U         = spawn ./examples/scripts/load_url_from_history.sh
 bind    u         = spawn ./examples/scripts/load_url_from_bookmarks.sh
 # with the sample yank script, you can yank one of the arguments into clipboard/selection
-bind    yurl      = spawn ./examples/scripts/yank.sh 8 primary
-bind    ytitle    = spawn ./examples/scripts/yank.sh 9 clipboard
+bind    yurl      = spawn ./examples/scripts/yank.sh 6 primary
+bind    ytitle    = spawn ./examples/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"
 bind    ZZ        = exit
-bind    S         = script alert("hi");
+bind    S         = 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
-bind    XS        = sh 'echo "act script alert (\"This is sent by the shell via a fifo\")" > "$4"'
-# Keyboard based link following: work in progress! No C DOM bindings yet, no click() event for hyperlinks so no referrer set..Quite basic but does the job for now...
+# 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"'
+
+# 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 ./examples/scripts/formfiller.sh
+bind ze = spawn ./examples/scripts/formfiller.sh edit
+bind zn = spawn ./examples/scripts/formfiller.sh new
+bind zl = spawn ./examples/scripts/formfiller.sh load
+
+# other - more advanced - implementation using perl: (could not get this to run - Dieter )
+bind LL = spawn ./examples/scripts/formfiller.pl load
+bind LN = spawn ./examples/scripts/formfiller.pl new
+bind LE = spawn ./examples/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 for (var i=0; i < document.links.length; i++) {var uzblid = 'uzbl_link_hint_';var li = document.links[i];var pre = document.getElementById(uzblid+i);if (pre) {li.removeChild(pre);} else {var hint = document.createElement('div');hint.setAttribute('id',uzblid+i);hint.innerHTML = i;hint.style.display='inline';hint.style.lineHeight='90%';hint.style.backgroundColor='red';hint.style.color='white';hint.style.fontSize='small-xx';hint.style.fontWeight='light';hint.style.margin='0px';hint.style.padding='2px';hint.style.position='absolute';hint.style.textDecoration='none';hint.style.left=li.style.left;hint.style.top=li.style.top;li.insertAdjacentElement('afterBegin',hint);}}
-#hit f followed by linknumber and ENTER to follow that link
-bind    f_        = script window.location = document.links[%s].href;
+bind    F = script ./examples/scripts/hint.js
+# the most stable version:
+bind    fl* = script ./examples/scripts/follow_Numbers.js %s
+# using strings, not polished yet:
+bind    fL* = script ./examples/scripts/follow_Numbers_Strings.js %s
+
+# you can use this to disable all plugins
+set disable_plugins = 0
 
 # "home" page if you will
 set uri = uzbl.org