# UZBL Config
# 2009-07-21
########################################
# Appearence
########################################
set show_status = 1
set status_top = 0
set status_background = #303030
#set status_format = [\@MODE] [\@[\@keycmd]\@] \@[\@LOAD_PROGRESSBAR]\@ \@[\@uri]\@ \@[\@NAME]\@ \@status_message\@[\@SELECTED_URI]\@
set status_format = [\@MODE] \@[\@LOAD_PROGRESSBAR]\@ \@[\@NAME]\@ \@status_message \@[\@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 = Ins
set command_indicator = Cmd
########################################
# Behaviour
########################################
# this var has precedence over reset_command_mode
set always_insert_mode = 0
#set modkey = Mod1
# use with bind ... = sh
set shell_cmd = sh -c
# reset to command mode when new page is loaded
set reset_command_mode = 1
# new window is called by webkit when you right-click and select new window
# or when target is set for a anchor etc
#set new_window = sh 'echo $@'
set new_window = sh 'uzbl -u $8' # equivalent to the default behaviour
########################################
# Webkit
########################################
# Display or supress images within html sites
set autoload_images = 1
# Shrink images to window size
set autoshrink_images = 0
# Spellchecker
set enable_spellcheck = 1
# Font
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
# The URI of a stylesheet that is applied to every page
#set stylesheet_uri = http://www.user.com/mystylelesheet.css
# 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/@COMMIT (X11; U; @(uname -s -m)@; en-US) Webkit/@WEBKIT_MAJOR.@WEBKIT_MINOR.@WEBKIT_MICRO (A browser built upon the highly renowned web standards compliant and secure Webkit rendering engine that is the heart of several open source web browsers, including Uzbl, Midori and Android Webbrowser)
########################################
# Handlers
########################################
# 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
set download_handler = spawn $XDG_DATA_HOME/uzbl/scripts/download.sh
#set cookie_handler = spawn $XDG_DATA_HOME/uzbl/scripts/cookies.py
# You can bind whatever things (spawn , script ,..) to some events TODO: make events system more generic
set load_start_handler = set status_message = wait
# scrollpercent.js requires lateish libwebkit (somewhere between 1.1.6 and 1.1.10)
set load_commit_handler = chain 'set status_message = recv' "script $XDG_DATA_HOME/uzbl/scripts/scrollpercent.js"
set load_finish_handler = set status_message = done
########################################
# Interface
########################################
set fifo_dir = /tmp
set socket_dir = /tmp
########################################
# Bindings
########################################
# NOTE: Mouse functionality currectly requires Krayon's branch
# Page navigation
bind j = scroll_vert 20
bind k = scroll_vert -20
bind = scroll_vert 300
bind = scroll_vert -300
bind = scroll_begin
bind = scroll_end
bind << = scroll_begin
bind >> = scroll_end
bind h = scroll_horz -20
bind l = scroll_horz 20
# Increase the amount of page scroll
bind = scroll_vert -100
bind = scroll_vert 100
# wheel-up/down on status bar moves to top and bottom of page
bind = scroll_begin
bind = scroll_end
# Browser control
# , etc require krayon branch
bind x = set uri = http://quadronyx.org/
# Open links in new window when middle-clicked
bind _ = spawn uzbl -u %s
# Open link in clipboard (current window), when middle-clicking any part
# of the page (that isn't a link)
#bind = sh 'echo "uri `xclip -selection clipboard -o`" > $4'
bind = spawn $XDG_DATA_HOME/uzbl/scripts/clipb.sh goto
bind = back
bind = forward
bind b = back
bind m = forward
bind S = stop
bind r = reload
bind R = reload_ign_cache
bind + = chain "zoom_in" "script $XDG_DATA_HOME/uzbl/scripts/scrollpercent.js"
bind - = chain "zoom_out" "script $XDG_DATA_HOME/uzbl/scripts/scrollpercent.js"
bind z = toggle_zoom_type
#bind [[ = script $XDG_DATA_HOME/uzbl/scripts/findfollow_link_prev.js
#bind ]] = script $XDG_DATA_HOME/uzbl/scripts/findfollow_link_next.js
bind 1 = chain "set zoom_level = 1.0" "script $XDG_DATA_HOME/uzbl/scripts/scrollpercent.js"
bind 2 = chain "set zoom_level = 2.0" "script $XDG_DATA_HOME/uzbl/scripts/scrollpercent.js"
#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
# like this you can enter any command at runtime, interactively. prefixed by ':'
bind :_ = chain '%s'
# "o URI" = Open URI
bind o _ = set uri = %s
# "oo URI" = Open URI (for mistakes using "t")
bind oo _ = set uri = %s
# "O" = Edit current URI for opening (in current window)
bind O = set keycmd = o @uri
# "t"* = perform ANY action starting with "o" in a new window
# Makes the keywords below work with "t" for new window such as "tg TERM" for Google search
bind t_ = sh '(cat $XDG_CONFIG_HOME/uzbl/config; echo "keycmd_nl o%s")|uzbl -c -'
# "T" = Edit current URI for opening (in new window)
bind T = set keycmd = t @uri
# Google searches: "ogi boobs" etc
bind og _ = set uri = http://www.google.com.au/search?safe=off&q=%s
bind ogoto _ = set uri = http://www.google.com.au/search?safe=off&btnI=I'm+Feeling+Lucky&q=%s
bind ogc _ = set uri = http://www.google.com.au/search?safe=off&q=cache:%s
bind ogi _ = set uri = http://images.google.com.au/images?safe=off&q=%s
bind ogm _ = set uri = http://maps.google.com.au/maps?f=q&hl=en&q=%s
bind ogv _ = set uri = http://video.google.com.au/videosearch?safe=off&q=%s
bind ogq _ = set uri = http://www.google.com.au/search?q=stocks:%s
# Wikipedia: "ow archlinux"
bind owg _ = set uri = http://www.google.com.au/search?safe=off&q=site:en.wikipedia.org %s
bind ow _ = set uri = http://en.wikipedia.org/wiki/Special:Search?search=%s
# Archive.org
bind oarchive _ = set uri = http://www.archive.org/searchresults.php?mediatype=web&search=%s
# ArchLinux AUR
bind oaur _ = set uri = http://aur.archlinux.org/packages.php?K=%s
# Dictionary
bind odict _ = set uri = http://www.thefreedictionary.com/%s
# eBay
bind oebay _ = set uri = http://search.ebay.com.au/search/search.dll?query=%s
bind oebayfb _ = set uri = http://feedback.ebay.com.au/ws/eBayISAPI.dll?ViewFeedback&userid=%s
bind oebayi _ = set uri = http://cgi.ebay.com.au/ws/eBayISAPI.dll?ViewItem&item=%s
# Currency conversion: "oatou 100"
bind oetoa _ = set uri = http://www.xe.com/ucc/convert.cgi?From=EUR&To=AUD&Amount=%s
bind oatoe _ = set uri = http://www.xe.com/ucc/convert.cgi?From=AUD&To=EUR&Amount=%s
bind outoa _ = set uri = http://www.xe.com/ucc/convert.cgi?From=USD&To=AUD&Amount=%s
bind oatou _ = set uri = http://www.xe.com/ucc/convert.cgi?From=AUD&To=USD&Amount=%s
# IMDB
bind oimdb _ = set uri = http://www.imdb.com/Find?select=All&for=%s
# Koders
bind okoders _ = set uri = http://www.koders.com/?s=%s
# Australian rental properties
bind ore _ = set uri = http://www.realestate.com.au/cgi-bin/rsearch?a=qfp&cu=fn-rea&t=ren&id=%s
# SEEK
bind oseek _ = set uri = http://it.seek.com.au/users/apply/index.ascx?JobID=%s
# Australian post office postcode search
bind opost _ = set uri = http://www1.auspost.com.au/postcodes/index.asp?sub=1&State=&Postcode=&Locality=%s
# StaticIce: "osi price:200 eeepc"
bind osi _ = set uri = http://staticice.com.au/cgi-bin/search.cgi?q=%s
# Bureau Of Meteorology (weather)
bind obom = set uri = http://www.bom.gov.au/cgi-bin/wrap_fwo.pl?IDV10450.txt
# shortcut to set variables
bind s _ = set %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
bind y = chain "spawn $XDG_DATA_HOME/uzbl/scripts/clipb.sh yank" "set status_message = URL Yanked "
# 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
bind U = spawn $XDG_DATA_HOME/uzbl/scripts/dmenuv_history.2.sh
bind u = spawn $XDG_DATA_HOME/uzbl/scripts/dmenuv_history.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'
bind vi = chain "spawn $XDG_DATA_HOME/uzbl/scripts/just_page_images.sh" "scroll_begin"
# go the page from primary selection
bind p = spawn $XDG_DATA_HOME/uzbl/scripts/clipb.sh goto
#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
# cat config > FIFO
bind !reload = sh 'cat $1 > $4'
bind fl* = script $XDG_DATA_HOME/uzbl/scripts/follow_Numbers.js %s
## Private browsing
#set enable_private = 0
## enable/disable JavaScript
set disable_scripts = 0
## 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 = 1
# 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]\@> \@uri
set title_format_long = \@[\@keycmd]\@ \@[\@MODE]\@ \@[\@TITLE]\@ - Uzbl browser <\@[\@NAME]\@> > \@[\@SELECTED_URI]\@
set verbose = 1
# you can use this to disable all plugins
set disable_plugins = 0
# Icon
set icon = /usr/share/uzbl/examples/data/uzbl/uzbl.png