530 lines
22 KiB
Text
530 lines
22 KiB
Text
|
# Example uzbl config. All settings are optional. You can use uzbl without
|
||
|
# any config at all (but it won't do much).
|
||
|
|
||
|
# === Core settings ==========================================================
|
||
|
|
||
|
# common directory locations
|
||
|
set prefix @(echo $UZBL_PREFIX)@
|
||
|
set data_home @(echo $XDG_DATA_HOME/uzbl)@
|
||
|
set data_dirs @(echo $(echo ${XDG_DATA_DIRS}|sed 's%:%/uzbl:%g')/uzbl)@
|
||
|
set cache_home @(echo $XDG_CACHE_HOME/uzbl)@
|
||
|
set config_home @(echo $XDG_CONFIG_HOME/uzbl)@
|
||
|
set local_storage_path @data_home/databases/
|
||
|
|
||
|
# Interface paths.
|
||
|
set comm_dir @([ -n "$XDG_RUNTIME_DIR" ] && echo "$XDG_RUNTIME_DIR/uzbl" || echo "/tmp/uzbl-$USER")@
|
||
|
set fifo_dir @comm_dir
|
||
|
set socket_dir @comm_dir
|
||
|
|
||
|
# === General config aliases =================================================
|
||
|
|
||
|
# Config related events (use the event function):
|
||
|
# event MODE_CONFIG <mode> <key> = <value>
|
||
|
set mode_config event MODE_CONFIG
|
||
|
# event ON_EVENT <EVENT_NAME> <command>
|
||
|
set on_event event ON_EVENT
|
||
|
# event ON_SET <key/glob> <command>
|
||
|
set on_set event ON_SET
|
||
|
# event MODMAP <From> <To>
|
||
|
set modmap event MODMAP
|
||
|
# event IGNORE_KEY <glob>
|
||
|
set ignore_key event IGNORE_KEY
|
||
|
|
||
|
set set_mode set mode
|
||
|
set set_status set status_message
|
||
|
|
||
|
# Spawn path shortcuts. In spawn the first dir+path match is used in "dir1:dir2:dir3:executable"
|
||
|
set scripts_dir /usr/share/uzbl/examples/data/scripts
|
||
|
|
||
|
# Search case-insensitive by default
|
||
|
search option case_insensitive
|
||
|
|
||
|
# === Hardcoded handlers =====================================================
|
||
|
|
||
|
set navigation_handler spawn_sync @scripts_dir/scheme.py
|
||
|
#set request_handler spawn_sync @scripts_dir/request.py
|
||
|
set authentication_handler spawn_sync @scripts_dir/auth.py
|
||
|
set download_handler spawn_sync @scripts_dir/download.sh
|
||
|
|
||
|
# === Dynamic event handlers =================================================
|
||
|
|
||
|
# What to do when a website wants to open a new window:
|
||
|
# Open link in new window
|
||
|
@on_event NEW_WINDOW spawn_sh 'uzbl-browser ${0:-"$0"}' %r
|
||
|
# Open in current window (also see the REQ_NEW_WINDOW event handler below)
|
||
|
#@on_event NEW_WINDOW uri %s
|
||
|
# Open in new tab. Other options are NEW_TAB_NEXT, NEW_BG_TAB and NEW_BG_TAB_NEXT.
|
||
|
#@on_event NEW_WINDOW event NEW_TAB %s
|
||
|
|
||
|
# What to do when the user requests a new window:
|
||
|
# If your the NEW_WINDOW handler opens the uri in the current window, you'll
|
||
|
# probably want to change this handler to open a new window or tab.
|
||
|
@on_event REQ_NEW_WINDOW event @- if (@embedded) "NEW_TAB"; else "NEW_WINDOW" -@ %s
|
||
|
|
||
|
# Load start handler
|
||
|
@on_event LOAD_START @set_status '<span foreground="#cb4b16">wait</span>'
|
||
|
# Reset the keycmd on navigation
|
||
|
@on_event LOAD_START @set_mode
|
||
|
|
||
|
# Load commit handlers
|
||
|
@on_event LOAD_COMMIT @set_status '<span foreground="#859900">recv</span>'
|
||
|
|
||
|
# add some javascript to the page for other 'js' commands to access later.
|
||
|
@on_event LOAD_COMMIT js page string 'uzbl = {}'
|
||
|
@on_event LOAD_COMMIT js page file @scripts_dir/formfiller.js
|
||
|
@on_event LOAD_COMMIT js page file @scripts_dir/follow.js
|
||
|
@on_event LOAD_COMMIT js page file @scripts_dir/go_input.js
|
||
|
@on_event LOAD_COMMIT js page file @scripts_dir/navigation.js
|
||
|
|
||
|
# Userscripts/per-site-settings. See the script and the example configuration for details
|
||
|
#@on_event LOAD_COMMIT spawn @scripts_dir/per-site-settings.py @data_home/per-site-settings
|
||
|
|
||
|
# Load finish handlers
|
||
|
@on_event LOAD_FINISH @set_status '<span foreground="#d33682">done</span>'
|
||
|
@on_event LOAD_FINISH spawn @scripts_dir/history.sh
|
||
|
|
||
|
# Switch to insert mode if a (editable) html form is clicked
|
||
|
@on_event FORM_ACTIVE @set_mode insert
|
||
|
# Switch to insert mode if a (editable) html form gains focus
|
||
|
@on_event FOCUS_ELEMENT spawn_sh 'if [ "$0" = INPUT -o "$0" = TEXTAREA -o "$0" = SELECT ]; then echo "@set_mode insert" > $UZBL_FIFO; fi' %s
|
||
|
# Switch to command mode if anything else is clicked
|
||
|
@on_event ROOT_ACTIVE @set_mode command
|
||
|
# Clear input when the page or an element gains focus.
|
||
|
@on_event ROOT_ACTIVE event KEYCMD_CLEAR
|
||
|
@on_event FOCUS_ELEMENT event KEYCMD_CLEAR
|
||
|
|
||
|
# Example CONFIG_CHANGED event handler
|
||
|
#@on_event CONFIG_CHANGED print Config changed: %1 = %2
|
||
|
|
||
|
# Scroll percentage calculation
|
||
|
@on_event VIEWPORT set scroll_message \@<(function(curr, max, size){if(max == size) return '--'; var p=(curr/(max - size)); return Math.round(10000*p)/100;})(%2,%4,%6)>\@%
|
||
|
|
||
|
# === Behaviour and appearance ===============================================
|
||
|
|
||
|
# Custom CSS can be defined here, including link follower hint styles
|
||
|
css add file://@config_home/style.css
|
||
|
|
||
|
set forward_keys 0
|
||
|
|
||
|
set show_status 1
|
||
|
set status_top 0
|
||
|
set status_background #dc322f
|
||
|
|
||
|
set modcmd_style weight="bold" foreground="#dc322f"
|
||
|
set keycmd_style weight="light" foreground="#dc322f"
|
||
|
set prompt_style foreground="grey"
|
||
|
set cursor_style underline="single"
|
||
|
set completion_style foreground="#eee8d5"
|
||
|
set hint_style weight="bold"
|
||
|
|
||
|
set mode_section <span background="#6c71c4" foreground="#eee8d5">[\@[\@mode_indicator]\@]</span>
|
||
|
set keycmd_section <span \@prompt_style>\@[\@keycmd_prompt]\@</span><span \@modcmd_style>\@modcmd</span><span \@keycmd_style>\@keycmd</span><span \@completion_style>\@completion_list</span>
|
||
|
set progress_section <span foreground="#d33682">\@[\@progress.output]\@</span>
|
||
|
set scroll_section <span foreground="#93a1a1">\@[\@scroll_message]\@</span>
|
||
|
set uri_section <span foreground="\@< if(\@frozen) "#268bd2"; else "#859900"; >\@">\@[\@uri]\@</span>
|
||
|
|
||
|
set name_section <span foreground="#b58900"><\@[\@NAME]\@></span>
|
||
|
set status_section <span foreground="#cb4b16">\@status_message</span>
|
||
|
set selected_section <span foreground="#839496">\@[\@SELECTED_URI]\@</span>
|
||
|
|
||
|
set download_section <span foreground="#93a1a1">\@downloads</span>
|
||
|
set proxy_section <span foreground="#2aa198">\@[\@proxy_url]\@</span>
|
||
|
|
||
|
set status_format <span font_family="monospace">@mode_section @indicator_section @keycmd_section @progress_section @status_section @name_section @scroll_section @selected_section @download_section</span>
|
||
|
set status_format_right <span font_family="monospace"><span foreground="#586e75">proxy:</span> @proxy_section <span foreground="#586e75">uri:</span> @uri_section</span>
|
||
|
|
||
|
set title_format_long \@keycmd_prompt \@raw_modcmd \@raw_keycmd \@TITLE - Uzbl browser <\@NAME> \@SELECTED_URI
|
||
|
|
||
|
# Progress bar config
|
||
|
# %d = done, %p = pending %c = percent done, %i = int done, %s = spinner,
|
||
|
# %t = percent pending, %o = int pending, %r = sprite scroll
|
||
|
set progress.width 8
|
||
|
set progress.format [%d>%p]%c
|
||
|
set progress.done =
|
||
|
set progress.pending
|
||
|
|
||
|
# === Configure cookie blacklist =============================================
|
||
|
|
||
|
set cookie_policy always
|
||
|
|
||
|
# Accept 'session cookies' from uzbl.org (when you have a whitelist all other cookies are dropped)
|
||
|
#event WHITELIST_COOKIE domain '(^|\.)uzbl\.org$' expires '^$'
|
||
|
|
||
|
# Drop google analytics tracking cookies (applied after whitelists, if any)
|
||
|
#event BLACKLIST_COOKIE name '^__utm.$'
|
||
|
|
||
|
# === Javascript configuration ==============================================
|
||
|
|
||
|
# Turn off javascript support
|
||
|
# set enable_scripts 0
|
||
|
|
||
|
# === Key binding configuration ==============================================
|
||
|
# --- Internal modmapping and ignoring ---------------------------------------
|
||
|
|
||
|
#modmap <From> <To>
|
||
|
@modmap <Control> <Ctrl>
|
||
|
@modmap <ISO_Left_Tab> <Shift-Tab>
|
||
|
@modmap <KP_Enter> <Enter>
|
||
|
@modmap " " <Space>
|
||
|
|
||
|
#ignore_key <glob>
|
||
|
@ignore_key <ISO_*>
|
||
|
@ignore_key <Shift>
|
||
|
@ignore_key <Multi_key>
|
||
|
@ignore_key <Mod2>
|
||
|
@ignore_key <Mod4>
|
||
|
@ignore_key <Mod5>
|
||
|
|
||
|
# --- Bind aliases -----------------------------------------------------------
|
||
|
|
||
|
# event MODE_BIND <mode> <bind cmd> = <command>
|
||
|
set mode_bind event MODE_BIND
|
||
|
|
||
|
# event BIND <bind cmd> = <command>
|
||
|
set bind @mode_bind global
|
||
|
|
||
|
# Insert mode binding alias
|
||
|
set ibind @mode_bind insert
|
||
|
|
||
|
# Command mode binding alias
|
||
|
set cbind @mode_bind command
|
||
|
|
||
|
# Non-insert mode bindings alias (ebind for edit-bind).
|
||
|
set ebind @mode_bind global,-insert
|
||
|
|
||
|
# --- Global & keycmd editing binds ------------------------------------------
|
||
|
|
||
|
# Resets keycmd and returns to default mode.
|
||
|
@on_event ESCAPE @set_mode
|
||
|
@on_event ESCAPE event KEYCMD_CLEAR
|
||
|
@on_event ESCAPE js page string uzbl.follow.clearHints()
|
||
|
@on_event ESCAPE search clear
|
||
|
@on_event ESCAPE js page string window.getSelection().removeAllRanges()
|
||
|
@bind <Escape> = event ESCAPE
|
||
|
@bind <Ctrl>[ = event ESCAPE
|
||
|
|
||
|
# Commands for editing and traversing the keycmd.
|
||
|
@ebind <Return> = event KEYCMD_EXEC_CURRENT
|
||
|
@ebind <Home> = event SET_CURSOR_POS 0
|
||
|
@ebind <End> = event SET_CURSOR_POS -1
|
||
|
@ebind <Left> = event SET_CURSOR_POS -
|
||
|
@ebind <Right> = event SET_CURSOR_POS +
|
||
|
@ebind <BackSpace> = event KEYCMD_BACKSPACE
|
||
|
@ebind <Delete> = event KEYCMD_DELETE
|
||
|
@ebind <Tab> = event START_COMPLETION
|
||
|
# Readline-ish bindings.
|
||
|
@ebind <Ctrl>w = event KEYCMD_STRIP_WORD \ -./&?=
|
||
|
@ebind <Ctrl>u = event SET_KEYCMD
|
||
|
@ebind <Ctrl>a = event SET_CURSOR_POS 0
|
||
|
@ebind <Ctrl>e = event SET_CURSOR_POS -1
|
||
|
|
||
|
@ebind <Up> = event HISTORY_PREV
|
||
|
@ebind <Down> = event HISTORY_NEXT
|
||
|
@ebind <Ctrl>r<search:>_ = event HISTORY_SEARCH %s
|
||
|
set history_disable_easter_egg 1
|
||
|
# Keycmd injection/append examples.
|
||
|
#@ebind <Ctrl>su = event INJECT_KEYCMD \@uri
|
||
|
#@ebind <Ctrl>st = event INJECT_KEYCMD \@title
|
||
|
#@ebind <Ctrl>du = event APPEND_KEYCMD \@uri
|
||
|
#@ebind <Ctrl>dt = event APPEND_KEYCMD \@title
|
||
|
|
||
|
# --- Mouse bindings ---------------------------------------------------------
|
||
|
|
||
|
# Middle click open in new window
|
||
|
@bind <Button2> = spawn_sh 'if [ "$0" ]; then echo "event REQ_NEW_WINDOW $0" > "$UZBL_FIFO"; else echo "uri $(xclip -o | sed s/\\\@/%40/g)" > "$UZBL_FIFO"; fi' '\@SELECTED_URI'
|
||
|
|
||
|
# --- Keyboard bindings ------------------------------------------------------
|
||
|
|
||
|
# With this command you can enter in any command at runtime when prefixed with
|
||
|
# a colon.
|
||
|
@cbind :_ = %s
|
||
|
|
||
|
# open a new window or a new tab (see the on_event NEW_WINDOW settings above)
|
||
|
@cbind w = event REQ_NEW_WINDOW
|
||
|
|
||
|
# Page movement binds
|
||
|
@cbind j = scroll vertical 100
|
||
|
@cbind k = scroll vertical -100
|
||
|
@cbind h = scroll horizontal -100
|
||
|
@cbind l = scroll horizontal 100
|
||
|
@cbind <Page_Up> = scroll vertical -100%
|
||
|
@cbind <Page_Down> = scroll vertical 100%
|
||
|
@cbind <Ctrl>f = scroll vertical 100%
|
||
|
@cbind <Ctrl>b = scroll vertical -100%
|
||
|
@cbind gg = scroll vertical begin
|
||
|
@cbind G = scroll vertical end
|
||
|
@cbind << = scroll vertical begin
|
||
|
@cbind >> = scroll vertical end
|
||
|
@cbind <Home> = scroll vertical begin
|
||
|
@cbind <End> = scroll vertical end
|
||
|
@cbind ^ = scroll horizontal begin
|
||
|
@cbind $ = scroll horizontal end
|
||
|
@cbind <Shift><Space> = scroll vertical -98%
|
||
|
@cbind <Space> = scroll vertical 98%
|
||
|
@cbind !G<"Go To":>_ = scroll vertical %r!
|
||
|
# The first '_' is literal, so type '_G' to trigger this binding.
|
||
|
@cbind _G<"Go To":>_ = scroll horizontal %r!
|
||
|
|
||
|
# Frozen binding
|
||
|
@cbind <Shift><Ctrl>F = toggle frozen
|
||
|
|
||
|
# Navigation binds
|
||
|
@cbind b = back
|
||
|
@cbind m = forward
|
||
|
@cbind gb = uri \@< encodeURI(uzbl.navigation.prev()) >\@
|
||
|
@cbind gf = uri \@< encodeURI(uzbl.navigation.next()) >\@
|
||
|
@cbind S = stop
|
||
|
@cbind r = reload cached
|
||
|
@cbind R = reload full
|
||
|
|
||
|
# Zoom binds
|
||
|
@cbind + = zoom in
|
||
|
@cbind - = zoom out
|
||
|
@cbind T = toggle zoom_text_only
|
||
|
@cbind 1 = set zoom_level 1.0
|
||
|
@cbind 2 = set zoom_level 2.0
|
||
|
|
||
|
# Appearance binds
|
||
|
@cbind t = toggle show_status
|
||
|
|
||
|
# Page searching binds
|
||
|
@cbind /* = search find %s
|
||
|
@cbind <Ctrl>/<search:>_ = search find %s
|
||
|
@cbind ?* = search rfind %s
|
||
|
@cbind <Ctrl>?<'reverse search':>_ = search rfind %s
|
||
|
# Jump to next and previous items
|
||
|
@cbind n = search next
|
||
|
@cbind N = search prev
|
||
|
|
||
|
# Print pages to a printer
|
||
|
@cbind <Ctrl>p = hardcopy page
|
||
|
|
||
|
# Web searching binds
|
||
|
# NOTE you may search Google by adding "!g" to your DuckDuckGo search string
|
||
|
@cbind ddg<DuckDuckGo:>_ = uri https://duckduckgo.com/?q=\@-encodeURIComponent(%r)-\@
|
||
|
# These bindings should be entered as simply \wiki but due to escaping
|
||
|
# happening in multiple stages it needs to be written like this
|
||
|
@cbind \\\\awiki<Archwiki:>_ = uri https://wiki.archlinux.org/index.php/Special:Search?search=\@-encodeURIComponent(%r)-\@&go=Go
|
||
|
@cbind \\\\wiki<Wikipedia:>_ = uri https://secure.wikimedia.org/wikipedia/en/w/index.php?fulltext=Search&title=Special%3ASearch&search=\@-encodeURIComponent(%r)-\@
|
||
|
|
||
|
# Handy binds
|
||
|
# Set function shortcut
|
||
|
@cbind s<var:>_<value:>_ = set %1 %2
|
||
|
# Exit binding
|
||
|
@cbind ZZ = exit
|
||
|
# Dump config to stdout
|
||
|
@cbind !dump = spawn_sh 'echo dump_config > "$UZBL_FIFO"'
|
||
|
# Reload all variables in the config
|
||
|
@cbind !reload = spawn_sh "sed '/^# === Post-load misc commands/,$d' \"$UZBL_CONFIG\" | grep '^set ' > \"$UZBL_FIFO\""
|
||
|
|
||
|
# Use socat to directly inject commands into uzbl-core and view events
|
||
|
# raised by uzbl-core:
|
||
|
@cbind <Ctrl><Mod1>t = spawn_sh 'xterm -e "socat unix-connect:\"$UZBL_SOCKET\" -"'
|
||
|
#@cbind <Ctrl><Mod1>t = spawn_sh 'urxvt -e socat unix-connect:"$UZBL_SOCKET" -'
|
||
|
|
||
|
# Uri opening prompts
|
||
|
@cbind o<uri:>_ = uri %r
|
||
|
# Or have it load the current uri into the keycmd for editing
|
||
|
@cbind O<uri:\@uri>_ = uri %r
|
||
|
|
||
|
# Mode setting binds
|
||
|
@cbind i = @set_mode insert
|
||
|
@bind <Ctrl>i = @set_mode insert
|
||
|
|
||
|
# Hard-bound bookmarks
|
||
|
@cbind gh = uri https://www.uzbl.org
|
||
|
|
||
|
# New window binds
|
||
|
@cbind gw = event REQ_NEW_WINDOW
|
||
|
|
||
|
# SSL-ify bindings
|
||
|
@cbind zs = uri \@(echo "$UZBL_URI" | sed -e 's/^http:/https:/')\@
|
||
|
@cbind zS = event REQ_NEW_WINDOW \@(echo "$UZBL_URI" | sed -e 's/^http:/https:/')\@
|
||
|
|
||
|
# Yanking & pasting binds
|
||
|
@cbind yu = spawn_sh 'echo -n "$UZBL_URI" | xclip'
|
||
|
@cbind yU = spawn_sh 'echo -n "$0" | xclip' '\@SELECTED_URI'
|
||
|
@cbind yy = spawn_sh 'echo -n "$UZBL_TITLE" | xclip'
|
||
|
@cbind ys = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ clipboard
|
||
|
|
||
|
# Selection bindings
|
||
|
@cbind <Ctrl>a = js page string '(function () { var r = document.createRange(), s = window.getSelection(); r.selectNodeContents(document); s.removeAllRanges(); s.addRange(r); })();'
|
||
|
@cbind <Ctrl>c = spawn_sh 'echo \@< btoa(window.getSelection().toString()) >\@ | base64 -d | xclip -selection clipboard -i'
|
||
|
|
||
|
# Clone current window
|
||
|
@cbind c = event REQ_NEW_WINDOW \@uri
|
||
|
# Go the page from primary selection
|
||
|
@cbind p = spawn_sh 'echo "uri $(xclip -o | sed s/\\\@/%40/g)" > "$UZBL_FIFO"'
|
||
|
# Go to the page in clipboard
|
||
|
@cbind P = spawn_sh 'echo "uri $(xclip -selection clipboard -o | sed s/\\\@/%40/g)" > "$UZBL_FIFO"'
|
||
|
# Start a new uzbl instance from the page in primary selection
|
||
|
@cbind "'p" = spawn_sh 'echo "event REQ_NEW_WINDOW $(xclip -o)" > "$UZBL_FIFO"'
|
||
|
# paste primary selection into keycmd at the cursor position
|
||
|
@bind <Shift><Insert> = spawn_sh 'echo "event INJECT_KEYCMD $(xclip -o | sed s/\\\@/%40/g)" > "$UZBL_FIFO"'
|
||
|
|
||
|
# Bookmark inserting binds
|
||
|
@cbind <Ctrl>m<tags:>_ = spawn_sh 'echo "$UZBL_URI $0" >> "@data_home/bookmarks"' '%s'
|
||
|
# Or use a script to insert a bookmark.
|
||
|
@cbind M = spawn @scripts_dir/insert_bookmark.sh
|
||
|
|
||
|
# Bookmark/history loading
|
||
|
@cbind U = spawn @scripts_dir/load_url_from_history.sh
|
||
|
@cbind u = spawn @scripts_dir/load_url_from_bookmarks.sh
|
||
|
|
||
|
# Temporary bookmarks
|
||
|
@cbind <Ctrl>d = spawn @scripts_dir/insert_temp.sh
|
||
|
@cbind D = spawn @scripts_dir/load_url_from_temps.sh
|
||
|
|
||
|
# Link following (similar to vimperator and konqueror)
|
||
|
# Set custom keys you wish to use for navigation. Some common examples:
|
||
|
set follow_hint_keys 0123456789
|
||
|
#set follow_hint_keys qwerty
|
||
|
#set follow_hint_keys asdfghjkl;
|
||
|
#set follow_hint_keys thsnd-rcgmvwb/;789aefijkopquxyz234
|
||
|
|
||
|
# follow links
|
||
|
# The structure for these calls is to call a shell script (follow.sh) with the
|
||
|
# output of some JavaScript code (follow.js) which gets a URI from the page to
|
||
|
# act on. The first argument to followLinks() is the list of characters to use
|
||
|
# for labelling links, the second is the currently entered keys, and the third
|
||
|
# is the 'mode' to use. The modes are 'click', 'newwindow', and 'returnuri'.
|
||
|
# The 'click' and 'newwindow' modes are handled in follow.js completely. When
|
||
|
# using 'returnuri' the second argument to follow.sh is the action to use for
|
||
|
# the URI. Currently implemented are 'set' (uses the 'uri' command),
|
||
|
# 'newwindow' (uses the REQ_NEW_WINDOW event), and 'clipboard' (copies the URI
|
||
|
# to the clipboard).
|
||
|
|
||
|
# follow hint keys:
|
||
|
# fl -> emulate a click on the link
|
||
|
# Fl -> open in a new window
|
||
|
# fL -> take the url and navigate directly to it
|
||
|
# FL -> copy the url to the clipboard
|
||
|
@cbind fl* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followLinks("\@follow_hint_keys", "%s", 'click') >\@
|
||
|
@cbind Fl* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followLinks("\@follow_hint_keys", "%s", 'newwindow') >\@ newwindow
|
||
|
@cbind fL* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followLinks("\@follow_hint_keys", "%s", 'returnuri') >\@ set
|
||
|
@cbind FL* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followLinks("\@follow_hint_keys", "%s", 'returnuri') >\@ clipboard
|
||
|
@cbind fi = spawn @scripts_dir/go_input.sh
|
||
|
|
||
|
# follow selected link:
|
||
|
# NOTE "selected" refers to marked text (e.g. via mouse or search), not by simply "tabbing" to a certain link.
|
||
|
# fs -> emulate a click on the link
|
||
|
# Fs -> open in a new window
|
||
|
# fS -> take the url and navigate directly to it
|
||
|
# FS -> copy the url to the clipboard
|
||
|
@cbind fs = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('click') >\@
|
||
|
@cbind fS = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('newwindow') >\@ newwindow
|
||
|
@cbind Fs = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ set
|
||
|
@cbind FS = spawn @scripts_dir/follow.sh \@< uzbl.follow.followSelection('returnuri') >\@ clipboard
|
||
|
|
||
|
# follow by link text (i.e., <a>foo</a> is selected with "ftfoo" or "'foo")
|
||
|
# ft -> emulate a click on the link
|
||
|
# Ft -> open in a new window
|
||
|
# fT -> take the url and navigate directly to it
|
||
|
# FT -> copy the url to the clipboard
|
||
|
@cbind ft* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'click') >\@
|
||
|
@cbind fT* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'newwindow') >\@ newwindow
|
||
|
@cbind Ft* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'returnuri') >\@ set
|
||
|
@cbind FT* = spawn @scripts_dir/follow.sh \@< uzbl.follow.followTextContent("%s", 'returnuri') >\@ clipboard
|
||
|
|
||
|
# Form filler binds
|
||
|
# This script allows you to configure (per domain) values to fill in form
|
||
|
# fields (eg login information) and to fill in these values automatically.
|
||
|
# This implementation allows you to save multiple profiles for each form
|
||
|
# (think about multiple accounts on some website).
|
||
|
set formfiller spawn @scripts_dir/formfiller.sh
|
||
|
@cbind ze = @formfiller edit
|
||
|
@cbind zn = @formfiller new
|
||
|
@cbind zl = @formfiller load
|
||
|
@cbind zo = @formfiller once
|
||
|
|
||
|
# --- Uzbl tabbed binds ------------------------------------------------------
|
||
|
|
||
|
# Tab opening
|
||
|
@cbind gn = event NEW_TAB
|
||
|
@cbind gN = event NEW_TAB_NEXT
|
||
|
@cbind go<uri:>_ = event NEW_TAB %s
|
||
|
@cbind gO<uri:>_ = event NEW_TAB_NEXT %s
|
||
|
|
||
|
# Closing / resetting
|
||
|
@cbind gC = exit
|
||
|
@cbind gQ = event CLEAN_TABS
|
||
|
|
||
|
# Tab navigating
|
||
|
@cbind g< = event FIRST_TAB
|
||
|
@cbind g> = event LAST_TAB
|
||
|
@cbind gt = event NEXT_TAB
|
||
|
@cbind gT = event PREV_TAB
|
||
|
@cbind gi<index:>_ = event GOTO_TAB %s
|
||
|
@cbind <Ctrl><Left> = event MOVE_CURRENT_TAB_LEFT
|
||
|
@cbind <Ctrl><Right> = event MOVE_CURRENT_TAB_RIGHT
|
||
|
@cbind gm<index:>_ = event MOVE_CURRENT_TAB %s
|
||
|
|
||
|
# Preset loading
|
||
|
set preset event PRESET_TABS
|
||
|
@cbind gs<"preset save":>_ = @preset save %s
|
||
|
@cbind glo<"preset load":>_ = @preset load %s
|
||
|
@cbind gd<"preset del":>_ = @preset del %s
|
||
|
# This doesn't work right now.
|
||
|
#@cbind gli = @preset list
|
||
|
|
||
|
# === Context menu items =====================================================
|
||
|
|
||
|
# Default context menu
|
||
|
menu add link Google "uri https://google.com"
|
||
|
menu add link "Go Home" "uri https://uzbl.org"
|
||
|
menu add_separator separator_1
|
||
|
menu add link "Quit uzbl" exit
|
||
|
|
||
|
# Link context menu
|
||
|
menu add link "Print Link" "print \@SELECTED_URI"
|
||
|
|
||
|
# === Mode configuration =====================================================
|
||
|
|
||
|
# Define some mode specific uzbl configurations.
|
||
|
set command @mode_config command
|
||
|
set insert @mode_config insert
|
||
|
set stack @mode_config stack
|
||
|
|
||
|
# Command mode config.
|
||
|
@command keycmd_style foreground="#dc322f"
|
||
|
@command status_background #002b36
|
||
|
@command mode_indicator Cmd
|
||
|
@command keycmd_events 1
|
||
|
@command forward_keys 0
|
||
|
@command modcmd_updates 1
|
||
|
|
||
|
# Insert mode config.
|
||
|
@insert status_background #eee8d5
|
||
|
@insert mode_indicator Ins
|
||
|
@insert forward_keys 1
|
||
|
@insert keycmd_events 0
|
||
|
@insert modcmd_updates 0
|
||
|
|
||
|
# Multi-stage-binding mode config.
|
||
|
@stack keycmd_style foreground="#dc322f"
|
||
|
@stack status_background #400040
|
||
|
@stack mode_indicator Bnd
|
||
|
@stack prompt_style foreground="#888" weight="light"
|
||
|
@stack keycmd_events 1
|
||
|
@stack modcmd_updates 1
|
||
|
@stack forward_keys 0
|
||
|
|
||
|
set default_mode command
|
||
|
|
||
|
# === SSL related configuration ==============================================
|
||
|
|
||
|
set ssl_policy fail
|
||
|
# Command to toggle ssl_policy value:
|
||
|
@cbind !ssl = chain 'toggle ssl_policy fail ignore' 'reload'
|
||
|
# Example SSL error handler:
|
||
|
@on_event LOAD_ERROR js page string 'if (/SSL handshake failed/.test("%3")) {alert ("%3");}'
|
||
|
|
||
|
# === Post-load misc commands ================================================
|
||
|
spawn_sync_exec @scripts_dir/load_cookies.sh
|
||
|
spawn_sync_exec @scripts_dir/load_cookies.sh @(echo "${UZBL_SESSION_COOKIE_FILE:-@data_home/session-cookies.txt}")@
|
||
|
|
||
|
# Set the "home" page.
|
||
|
uri uzbl.org/doesitwork/@COMMIT
|
||
|
|
||
|
# vim: set fdm=syntax:
|