added future release goals to the TODO
[dana/openbox.git] / TODO
1 Goals for future releases of Openbox (THIS CAN AND WILL CHANGE):
2 2.0:
3 * rewrite of the window manager. complete class reorganization and cleanup.
4   Separate X class layer (XDisplay/XScreen/XWindow/etc)  which does all
5   interation with the X server.
6
7 * using std::string instead of char *'s. bool instead of Bool. proper consting
8   everywhere where appropriate. unsigned ints where appropriate. etc.
9
10 * support for NETWM atoms
11
12 * separate Font class with support for Xfonts, xfontsets, and xft.
13
14 3.0:
15 * key/mouse/action bindings
16
17 * break the themeing into a replaceable plugin/script of some form and possibly
18   also for the bindings.
19
20 4.0:
21 * have plugins/scripts for most everything as deemed appropriate.
22
23 Openbox TODO list:
24 * get translations for new NLS entries
25
26 * make Escape key cancel moving/resizing a window
27
28 * add asserts all throughout the code to catch bugs.
29
30 * convert char *'s to stl's std::string. ?? this is a memory leak like no other!
31
32 * make it possible to cycle workspaces by moving the mouse past the edge of
33   the desktop?
34
35 * make the wheel mouse functionality optional?
36
37 * add a modifer key which will scroll workspaces with the mousewheel even when
38   not on the root window?
39
40 * NETWM support (see http://www.freedesktop.org/standards/wm-spec/).
41
42 * handle keyboard input natively instead of relying on an external program?
43
44 * remappable bindings for keyboard input and for mouse input.
45
46 * snap to edges, all edges, including window edges
47
48 * port bbconf to Openbox.
49
50 * add a close button to root/pinned menus?
51
52 * add atoms for most everything in the window manager
53   e.g. add _BLACKBOX_STYLE and _BLACKBOX_MENU atoms so that bbtools, bbconf,
54   etc. can get the current path to the style in use and menu.
55
56 * when workspace name is greater than the width of its text area the toolbar
57   gets very ugly. I think what's really needed is a new toolbar entirely, which
58   can let apps dock in it (these would, of course then, be very tiny apps).
59
60 * get translations of Openbox into more languages.
61
62 * window stacking layers (i.e. always on top/bottom).
63
64 * draw non-opaque move/resize frames using the style's borderWidth.
65
66 * better support for window groups.
67
68 * support for Xft, to anti-alias text.
69
70 * suppert for XRENDER, and use it for making window decorations/menus/etc
71   translucent.
72
73 * fix any existant memory leaks, this is on-going forever.