# 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
# 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
# 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 = spawn /usr/share/uzbl/examples/scripts/history.sh
set download_handler = spawn /usr/share/uzbl/examples/scripts/download.sh
set cookie_handler = spawn /home/deepspawn/.config/uzbl/cookies.py
set minimum_font_size = 6
set default_font_size = 11
## Whether text areas are resizable
#set resizeable_text_areas = 1
## The default encoding used to display text
set default_encoding = utf-8
## Enforce a resolution
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
# 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
set status_pbar_done = =
set status_pbar_pending = -
set status_pbar_width = 12
# 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 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:8123
#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 fifo_dir = /tmp
set socket_dir = /tmp
# Key bindings
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 J = scroll_vert 200
bind K = scroll_vert -200
bind H = back
bind L = forward
bind s = stop
bind r = reload
bind R = reload_ign_cache
bind + = zoom_in
bind - = zoom_out
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 file:///home/deepspawn/.local/share/uzbl/speeddial.html
#TODO: set uri?
bind o _ = uri %s
bind O = sh 'echo "keycmd o $6" > $4'
bind t _ = spawn uzbl -u %s
bind T = sh 'echo "keycmd t $6" > $4'
bind :wiki _ = uri http://wiki.archlinux.org/index.php/Special:Search?search=%s&go=Go
bind g _ = uri http://www.google.com/search?q=%s
bind G _ = spawn uzbl -u 'http://www.google.com/search?q=%s'
bind ^G = sh 'echo keycmd g `xclip -selection primary -o` > $4'
bind i = toggle_insert_mode 1
bind b = spawn uzbl -u 'http://delicious.com/deepspawn'
bind B = js javascript:(function(){f='http://delicious.com/save?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)+'&v=5&';a=function(){if(!window.open(f+'noui=1&jump=doclose','deliciousuiv5','location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550'))location.href=f+'jump=yes'};if(/Firefox/.test(navigator.userAgent)){setTimeout(a,0)}else{a()}})();
bind ^H = spawn /usr/share/uzbl/examples/scripts/load_url_from_history.sh
# with the sample yank script, you can yank one of the arguments into clipboard/selection
bind y = sh 'echo -n $6 |xclip'
bind p = sh 'echo keycmd o `xclip -selection primary -o` > $4'
bind P = sh 'echo keycmd t `xclip -selection primary -o` > $4'
bind dd = exit
bind :rc_ = sh 'cat $1 > $4 ; echo \"set status_message = config reloaded\" > $4'
# example showing how to use sh
bind gor = js javascript:(function(){readStyle='style-newspaper';readSize='size-large';readMargin='margin-medium';_readability_script=document.createElement('SCRIPT');_readability_script.type='text/javascript';_readability_script.src='http://lab.arc90.com/experiments/readability/js/readability.js?x='+(Math.random());document.getElementsByTagName('head')[0].appendChild(_readability_script);_readability_css=document.createElement('LINK');_readability_css.rel='stylesheet';_readability_css.href='http://lab.arc90.com/experiments/readability/css/readability.css';_readability_css.type='text/css';_readability_css.media='screen';document.getElementsByTagName('head')[0].appendChild(_readability_css);_readability_print_css=document.createElement('LINK');_readability_print_css.rel='stylesheet';_readability_print_css.href='http://lab.arc90.com/experiments/readability/css/readability-print.css';_readability_print_css.media='print';_readability_print_css.type='text/css';document.getElementsByTagName('head')[0].appendChild(_readability_print_css);})();
bind goi = js javascript:void((function(){var%20e=document.createElement('script');e.setAttribute('type','text/javascript');e.setAttribute('src','http://imgfave.com/js/bookmarklet.js');document.body.appendChild(e)})());
bind gos = script javascript:void(location.href='http://tinyarro.ws/api-create.php?host=xn--cwg.ws&url='+location.href);
bind got = uri http://www.google.com/language_tools?hl=en
# 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
# 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...
#hit F to toggle the Hints (now in form of link numbering)
#hit f followed by linknumber and ENTER to follow that link
bind f* = script /usr/share/uzbl/examples/scripts/follow_Numbers.js %s
bind F* = script /home/deepspawn/.config/uzbl/new_follow_Numbers.js %s