documentation overhaul
[uzbl-mobile] / docs / TODO
1 * implement all the ideas from README
2 * implement a more advanced dmenu alike that behaves like FF's awesomebar and where you can search in url + window title, with support for Xorg copy paste
3   ideal uri editor: awesome mode like FF, some keyb shortcuts (erase search string, go to end/begin of string,..), history (if you patch dmenu to be in vertical mode and you order correctly, that's it), support copy paste
4   isolate the search field feature from midori and make into a separate dmenu-like-but-more-powerful program?
5 * recognize -h with GOption?
6 * implement a vimperator-like link following scheme.  but let user pick his favorite characters to construct the "link identifiers" with.
7 * add a keybind to hand the current url to an external scrips, so you can edit it and/or store it in the primary and secondary clipboards
8 * clean up our structures for settings + sane defaults + don't iterate over struct to fill hasthtable. rather fill hashtable directly
9 * implement getting feedback from socket
10 * select/fork based instead of the pthread stuff -> drops dependency, more lightweight.
11 * scrolling: make page up and page down configurable.
12 * show % of location in statusbar/title if page doesn't fit entirely on view.
13 * make default size configurable, and optional
14 * on uzbl.org commits overview: add date+time and repository
15 * how to handle different content types? (text-plain, image/png, application/pdf,... maybe a map of content-type to uzbl/command
16   xdg already has a spec for this i think
17   different "opening" modes (open as configured vs ask before opening)
18   integration with download and new window thingies?
19 * blinking cursor when not in insert mode is confusing.  i suggest dimming it's color if possible
20 * open in new window -> uzbl: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
21 * note about merging better then patches. because commit names, and code can have changed in meanwhile. also github makes the process quite easy
22 * check that in new version pageup etc works also in command
23 * tab key to jump between input fields should probably work in both insert and command mode
24 * allow to name a uzbl instance, name fifo/socket after it. use xorgwindow id as fallback
25 * allow to tag , to group instances together
26 * allow users to customize order, separating, colors,.. of items in statusbar using pango markup thing
27 * mention bugtracker in readme, move tickets from github to new bugtracker
28 * default value for fifo_dir, socket_dir so we don't need to if(fifo_dir). it will always be set to something?
29 * change User-agent to contain uzbl + build date or something. + why is there "Mozilla" in the string
30 * backspace key to pop characters from (multichar) command
31 * optional logging of http requests&responses with ip/hostname and port. -> how to implement? handler? stdout? (through a socket so you know what corresponds to what?)
32 * bench/optimize fifo vs socket performance. measure delays.  minimize forks. does glib use a shell? how does it detect the shebang line?
33 * cookie support.  storing seems to work, but not yet sending
34 * "remember account settings" support. but how? configure post data per site? regex match eg '^bbs.archlinux.org' ?
35 * http_proxy env var not recognized. libproxy (used by libsoup) should handle this http://mail.gnome.org/archives/libsoup-list/2009-February/msg00018.html
36 * support ssl. do ssl certificate & exception management similar to how we do cookies
37 * improve DCOMMIT macro.  what if WC is dirty? what if user downloaded tarball without .git?
38 * DARCH is not correct (should be at runtime)
39 * when loading page foo.com, it can have img src=http://bar/..., uri in uzbl will be set to foo. we must pass bar to cookie handler
40 * set default statusbar. line 1284
41 * keybinds to open "next" or "previous" by looking for next/prev links and/or looking for numbers in the uri we can inc/decrement
42 * variable replacing for title bar in "statusbar_visible" and statusbar_invisible states
43 * get rid of config files -> send everything as commands to stdin on program launch -> you can change config at runtime.  
44   how to handle launching new windows? serialize state with tpl? (can also be useful for session saving), fork()ing? if so, how do we handle Xorg window id's?
45 * handler for (broken) ssl certs.
46 * bring readme up to date and put it on website
47 * handlers for mailto: and maybe other thingies?
48 * only_on_put
49 * configure script
50 * a variable that holds the page state: loading, pending, seen. this can be shown in titlebar/statusbar and used for multiple instances management
51 * proxy_url is not a good var name. it's not a url.
52 * regex style page searching? so you can do 'or' and 'and' things. flags like case sensitive etc.
53 * can we export uri/state/tag/.. as xorg window "properties" or "attributes" or do we need to put them in titlebar and parse that?
54
55 * config: check in the default place (XDG_CONFIG_HOME/..) for a config file, and if needed, do file reading (interpret line by line). not ini-based.
56 * readd the --config flag to allow entering the same commands either through the file/stdin/fifo/socket
57 * check for real command name, not just the first letter.
58 * let users attach handlers to the most common events/signals in uzbl.
59 * write little script to open new urls with the urxvt url thing +document.
60 * add Rob/anydots trees on website
61
62 SOMEDAY:
63 check if we can make the settings loading less hard coded. eg( keep a list of all settings, and for each one, try to load it)
64 figure out caching with webkit and in general how we can speed up everything
65 figure out how webkit intercepts key input
66 make "disable insert mode" (esc key) configurable
67 keywords don't work for external commands. is this a problem?