2 # this is an example script of how you could manage your cookies..
3 # you probably want your cookies config file in your $XDG_CONFIG_HOME ( eg $HOME/.config/uzbl/cookies)
5 # MAYBE TODO: allow user to edit cookie before saving. this cannot be done with zenity :(
6 # TODO: different cookie paths per config (eg per group of uzbl instances)
8 if [ -f /usr/share/uzbl/examples/configs/cookies ]
10 file=/usr/share/uzbl/examples/configs/cookies
12 file=./examples/configs/cookies #useful when developing
15 if [ -d $XDG_DATA_HOME/uzbl/cookies ]
17 cookie_dir=$XDG_DATA_HOME/uzbl/cookies
19 cookie_dir=./examples/data
22 which zenity &>/dev/null || exit 2
30 # $1 = section (TRUSTED or DENY)
33 sed -n "/$1/,/^\$/p" $file 2>/dev/null | grep -q "^$host"
36 function readcookie () {
45 function fetch_cookie () {
46 cookie=`cat $cookie_dir/$host.cookie`
49 function store_cookie () {
50 echo $cookie > $cookie_dir/$host.cookie
53 if match TRUSTED $host
55 [ $action == PUT ] && readcookie && store_cookie $host
56 [ $action == GET ] && fetch_cookie && echo "$cookie"
57 elif ! match DENY $host
59 [ $action == PUT ] && readcookie && zenity --question --title 'Uzbl Cookie handler' --text "Accept cookie from $host ? Contents:\n$cookie" && store_cookie $host
60 [ $action == GET ] && fetch_cookie && zenity --question --title 'Uzbl Cookie handler' --text "Submit cookie to $host ? Contents:\n$cookie" && echo $cookie