aboutsummaryrefslogtreecommitdiffhomepage
path: root/README
blob: fe5faac4f0e71c2fe7c117bb54fdebe16b82e980 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
- Uzbl.
  In my opinion, any program can only be really useful if it complies to the unix philosophy.
  Web browsers are frequent violators of this principle.  Time to change that!

Right now uzbl is in a very early state but here are some ideas I would like to (not) implement

- each instance of uzbl renders 1 page (eg it's a small wrapper around webkit), no tabbing, tab previews, or speed dial things. we have window managers for that.
- simple ini config file ("profile") for keyboard, network,.. settings
- implement some basic keyboard shortcuts for going up, down, refresh etc
- listen to signals and do useful stuff when triggered.
-  open up a socket file/fifo/.. so we can easily control each instance by writing things like 'uri <foo>' to /tmp/uzbl-pid
- MAYBE (if needed): 1 control application called uzblctrl or something. use this to modify the behavior of a uzbl instance (change url, refresh).  use xdotool to get the window with focus.  eg uzblctrl -win <id> -url <http://>.
  use xbindkeys to bind keys to call uzblctrl.
- no bookmark management builtin.  make your own solution.  for pulling a bookmark a plaintxt-based program using dmenu would work great here. combine with uzbltcrl and xbindkeys.
  uzblctrl should support an option to query the current page so you can script something to add to your bookmarks.  use zenity or something to add tags.
- similar story for history.
- no ad blocking built in. use the power of /etc/hosts.  though uzblctrl should support an option to list all images on a page, so you can easily pick the links to ads to add them to your /etc/hosts. (dmenu can again be great here to automate this)
- no download manager. allow user to pick wget/curl/a custom script/... 
- no build in command interpreters like ubiquity.  uzbl should be accessible and you should use a shell or similar.

to figure out:
- password management. maybe an encrypted store that unlocks with an ssh key?
- how to handle hyperlinks? number them like konqueror does?


WIDGET ROADMAP:
* statusbar? (the bar you see in pretty much every gtk program at the bottom. eg firefox)
  consumes too much space (if always visible) for the little it is used.  (+ you can put only 1 message in it at a time!)
  -> option 1: no statusbar at all. when hovering over a link (or pressing key to preview the url without changing page) -> show url in tooltip on page.
  -> option 2: toggle visibility of statusbar on/off when hovering over a link. since it's at the bottom I don't think it will disturb too much.
* viewing progress/state of pageload?  most programs use statusbar for this.
  -> option 1: titlebar can show a percentage when it's loading a new page.
  -> option 2: toggle a statusbar everytime we start loading a new page.
* uri bar -> yes, even though we can write stuff to the fifo, it can still be convenient to change the url manually and stuff, so a widget in uzbl itself is good.
* tabs -> yes. you don't have to use them, but you can.
* back/forward/.. buttons? -> no: use keyboard shortcuts.
* searching in a page? not sure.. maybe we can abuse the statusbar for that too.
  eg toggle it on when the user wants to search for something and then do searching in some vim-like fashion.
  we don't need a gtk text entry widget, just a feedback display of what the current command is.

all of the above goes in 1 bar at the top of the program. there should be a key to toggle visibility of it and one to toggle visibilety + focus on the entrybar at once.

input welcome!





NOTE:
- My c skills are very rusty, it will take me a while to get back up to speed
- For more thoughts & ideas see http://bbs.archlinux.org/viewtopic.php?id=67463