11916265456b6839f0a5bfb57e1f06ff184de97c
[uzbl-mobile] / TODO
1 * implement all the ideas from README
2 * get a logo
3 * when launching new instance, don't just try 'uzbl' and then './uzbl', rather launch a new uzbl in the same way the current uzbl instance was started. (same command, same arguments, except --uri)
4 * 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
5   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
6   isolate the search field feature from midori and make into a separate dmenu-like-but-more-powerful program?
7 * recognize -h with GOption?
8 * implement a vimperator-like link following scheme.  but let user pick his favorite characters to construct the "link identifiers" with.
9 * 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
10 * clean up our structures for settings + sane defaults + don't iterate over struct to fill hasthtable. rather fill hashtable directly
11 * implement getting feedback from socket
12 * select/fork based instead of the pthread stuff -> drops dependency, more lightweight.
13 * scrolling: make page up and page down configurable.
14 * show % of location in statusbar/title if page doesn't fit entirely on view.
15 * make default size configurable, and optional
16 * on uzbl.org commits overview: add date+time and repository
17 * how to handle different content types? (text-plain, image/png, application/pdf,... maybe a map of content-type to uzbl/command
18   xdg already has a spec for this i think
19   different "opening" modes (open as configured vs ask before opening)
20   integration with download and new window thingies?
21 * blinking cursor when not in insert mode is confusing.  i suggest dimming it's color if possible
22 * open in new window -> uzbl: Fatal IO error 11 (Resource temporarily unavailable) on X server :0.0.
23 * note about merging better then patches. because commit names, and code can have changed in meanwhile. also github makes the process quite easy
24 * check that in new version pageup etc works also in command
25 * tab key to jump between input fields should probably work in both insert and command mode
26 * allow to name a uzbl instance, name fifo/socket after it. use xorgwindow id as fallback
27 * allow to tag , to group instances together
28 * allow users to customize order, separating, colors,.. of items in statusbar using pango markup thing
29 * mention bugtracker in readme, move tickets from github to new bugtracker
30 * default value for fifo_dir, socket_dir so we don't need to if(fifo_dir). it will always be set to something?
31 * change User-agent to contain uzbl + build date or something. + why is there "Mozilla" in the string
32 * backspace key to pop characters from (multichar) command
33 * 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?)
34 * bench/optimize fifo vs socket performance. measure delays.  minimize forks. does glib use a shell? how does it detect the shebang line?
35 * cookie support.  storing seems to work, but not yet sending
36 * "remember account settings" support. but how? configure post data per site? regex match eg '^bbs.archlinux.org' ?
37 * http_proxy env var not recognized. libproxy (used by libsoup) should handle this http://mail.gnome.org/archives/libsoup-list/2009-February/msg00018.html
38 * support ssl. do ssl certificate & exception management similar to how we do cookies
39 * improve DCOMMIT macro.  what if WC is dirty? what if user downloaded tarball without .git?
40 * DARCH is not correct (should be at runtime)
41 * 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
42 * set default statusbar. line 1284
43 * keybinds to open "next" or "previous" by looking for next/prev links and/or looking for numbers in the uri we can inc/decrement
44 * variable replacing:
45 user agent -> str_replace(all vars) DONE
46 title bar -> str_replace(all vars)
47 status bar ->  str_replace(all vars) -> pango markup thingie
48 * get rid of config files -> send everything as commands to stdin on program launch -> you can change config at runtime.  
49   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?
50
51
52
53 SOMEDAY:
54 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)
55 figure out caching with webkit and in general how we can speed up everything
56 figure out how webkit intercepts key input
57 make "disable insert mode" (esc key) configurable
58 keywords don't work for external commands. is this a problem?