uzbl - web interface tools which adhere to the unix...
TRANSCRIPT
Uzbl - web interface tools which adhere to the unixphilosophy
Dieter Plaetinck
23-07-2010
The unix philosophy.
Examples
I mpd
I dmenu
I awesome/xmonad/dwm/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
Uzbl?
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
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..
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..
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..
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..
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..
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..
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..
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..
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..
History
Writing the entries:
s e t on even t = even t ON EVENT@on event LOAD FINISH spawn @ s c r i p t s d i r / h i s t o r y . sh
f i l e=$XDG DATA HOME/ uzb l / h i s t o r yecho ‘ date +’%Y−%m−%d %H:%M:%S ’ ‘ ” $6 $7” >> $ f i l e
Picking an entry:
@cbind U = spawn @ s c r i p t s d i r / l o a d u r l f r om h i s t o r y . sh
f i l e=$XDG DATA HOME/ uzb l / h i s t o r ygoto=‘ tac $ f i l e | dmenu | cut −d ’ ’ −f 3 ‘echo ” u r i $goto ” > $4
History
Writing the entries:
s e t on even t = even t ON EVENT@on event LOAD FINISH spawn @ s c r i p t s d i r / h i s t o r y . sh
f i l e=$XDG DATA HOME/ uzb l / h i s t o r yecho ‘ date +’%Y−%m−%d %H:%M:%S ’ ‘ ” $6 $7” >> $ f i l e
Picking an entry:
@cbind U = spawn @ s c r i p t s d i r / l o a d u r l f r om h i s t o r y . sh
f i l e=$XDG DATA HOME/ uzb l / h i s t o r ygoto=‘ tac $ f i l e | dmenu | cut −d ’ ’ −f 3 ‘echo ” u r i $goto ” > $4
Uzbl-browser history
Uzbl-browser link hinting
@cbind f l ∗ = s c r i p t @ s c r i p t s d i r / f o l l o w . j s ’ @ f o l l ow k e y s %s ’
Uzbl-tabbed
Uzbl-tabbed
Example: Dynamic zooming
Example: Adding a bookmark, external script
@cbind B = spawn @ s c r i p t s d i r / i n s e r t bookma rk . sh
Example: Adding a bookmark, builtin way
@cbind <Ct r l>b<t ag s :> = sh ’ echo −e ”$6 %s ” >> $ f i l e ’
Uzbl related/inspired browsers
I surf
I vimperator
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