Uzbl - web interface tools which adhere to the unix philosophy

Dieter Plaetinck

23-07-2010 The unix philosophy. Examples

I mpd

I dmenu

I awesome/xmonad//wmii/...

I dzen

I bitlbee

I bashrun Stats

I start april 2k9

I 60 contributors

I 11k LOC

I 13 releases

I 100+ scripts

I less active latest few months, many pending patches ?

I uzbl-core

I uzbl-browser

I uzbl-tabbed

I ... Uzbl-core

Uzbl-core command examples

I uri uri

I reload

I zoom in

I spawn command

I event name args Uzbl-core event examples

I DOWNLOAD REQUEST uri

I LOAD PROGRESS percentage

I FORM ACTIVE

I GEOMETRY CHANGED WxH+Xpos+Ypos

I KEY PRESS key/button Uzbl-browser I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting I page search & zooming

I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor I link hinting

I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming I and more..

Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting Uzbl-browser features

I config file

I event manager

I EM plugins: bind, mode, keycmd, completion, progressbar

I handlers: downloads, authentication, cookies, schemes

I history & bookmarks

I yanking & pasting

I forms: auto filling & editing with external editor

I page search & zooming

I link hinting

I and more.. Picking an entry: @cbind U = spawn @scripts d i r / l o a d u r l f r o m h i s t o r y . sh

f i l e =$XDG DATA HOME/uzbl/history goto=‘tac $file | dmenu | cut −d ’ ’ −f 3 ‘ echo ”uri $goto” > $4

History

Writing the entries: s e t o n event =eventON EVENT @on event LOAD FINISH spawn @scripts dir/history.sh

f i l e =$XDG DATA HOME/uzbl/history echo ‘date +’%Y−%m−%d %H:%M:%S’‘” $6 $7” >> $ f i l e History

Writing the entries: s e t o n event =eventON EVENT @on event LOAD FINISH spawn @scripts dir/history.sh

f i l e =$XDG DATA HOME/uzbl/history echo ‘date +’%Y−%m−%d %H:%M:%S’‘” $6 $7” >> $ f i l e Picking an entry: @cbind U = spawn @scripts d i r / l o a d u r l f r o m h i s t o r y . sh

f i l e =$XDG DATA HOME/uzbl/history goto=‘tac $file | dmenu | cut −d ’ ’ −f 3 ‘ echo ”uri $goto” > $4 Uzbl-browser history Uzbl-browser link hinting

@cbind f l ∗ = script @scripts dir/follow.js ’@follow k e y s %s ’ Uzbl-tabbed Uzbl-tabbed Example: Dynamic zooming Example: Adding a , external script

@cbind B = spawn @scripts d i r / i n s e r t bookmark.sh Example: Adding a bookmark, builtin way

@cbind b = sh ’ echo −e ”$6 %s ” >> $ f i l e ’ Uzbl related/inspired browsers

I

I

I jumanji

I luakit

I vimprobable

I vimpression

I vimnav

I dwb

I pyweb

I ffuzbl

I Ezbl roadmap, current limitations

I less NIH keybindings, config language

I performance?

I isolatedworlds to bring back Uzbl js object www.uzbl.org