As a result of some backend key bindings changes, what was <Alt> key is now known as <Mod1>.
The easiest way to update your config so that all your old bindings still work is to add this line:
@modmap <Mod1> <Alt>
Uzbl used to expand strings like $FOO in the config file to the value of the environment variable FOO. This has been removed because it had a slow implementation and interfered with using variables like $UZBL_TITLE, $UZBL_URI, etc. in sh lines.
Environment variables can be read in a configuration file by doing:
set foo = @(echo $FOO)@
So to update your configuration, replace lines like
set scripts_dir = $XDG_DATA_HOME/uzbl:@prefix/share/uzbl/examples/data:scripts
with:
set data_home = @(echo $XDG_DATA_HOME)@ set scripts_dir = @data_home/uzbl:@prefix/share/uzbl/examples/data:scripts
The old approach to downloads (passing the URL to an external program to do the download) had problems, e.g. Webkit-GTK doesn't provide any way to look at the request that triggered a download, so downloads triggered by POST requests didn't work. The new approach is to have Webkit perform the download, and use a download_handler script to determine where to save the file.
In your config, replace the line:
@on_event DOWNLOAD_REQUEST spawn @scripts_dir/download.sh %s \@proxy_url
with:
set download_handler = sync_spawn @scripts_dir/download.sh
(where download.sh is the file examples/data/scripts/download.sh from the experimental branch)
The DOWNLOAD_PROGRESS and DOWNLOAD_COMPLETE events can be used to perform actions as the download continues and after it finishes.
It is still possible to have downloads handled entirely by an external script, just make sure your download_handler script doesn't write anything to stdout:
#!/bin/sh wget -q $1 &
Information about the current instance of uzbl is now available to scripts as environment variables instead of as arguments passed to the script.
The example scripts have been changed to reflect this, but in your scripts called by uzbl, and in “sh” commands in your configuration, do the following replacements:
| Replace this… | …with this |
|---|---|
| $1 | $UZBL_CONFIG |
| $2 | $UZBL_PID |
| $3 | $UZBL_XID |
| $4 | $UZBL_FIFO |
| $5 | $UZBL_SOCKET |
| $6 | $UZBL_URI |
| $7 | $UZBL_TITLE |
| $N | $N-7 |
The talk_to_socket/cookie daemon approach to cookie persistence and distribution has been removed. Instead, use the new load_cookies.sh script and cookies.py plugin to the python event manager, or some other system based on the ADD_COOKIE and DELETE_COOKIE events and add_cookie and delete_cookie commands.
Replace:
set cookie_handler = talk_to_socket $XDG_CACHE_HOME/uzbl/cookie_daemon_socket
with:
sync_spawn_exec @scripts_dir/load_cookies.sh sync_spawn_exec @scripts_dir/load_cookies.sh @data_home/uzbl/session-cookies.txt
If you need blacklisting or whitelisting, take a look at the BLACKLIST_COOKIE and WHITELIST_COOKIE events.