sync with bb-cvs
[mikachu/openbox.git] / TODO
1 Goals for future releases of Openbox (THIS CAN AND WILL CHANGE):
2 2.0:
3 * using std::string instead of char *'s. bool instead of Bool. proper consting
4   everywhere where appropriate. unsigned ints where appropriate. etc.
5
6 * support for NETWM atoms
7
8 * separate Font class with support for Xfonts, xfontsets, and xft.
9
10 3.0:
11 * Add XEventHandler class to make event handling better than ever!
12
13 * Crazy dope support for dockapps. Fully mimic window maker's handling of them.
14
15 * reorganization of class model. Add XWidget class (contains an X drawable).
16
17 * key/mouse/action bindings
18
19 * break the themeing into a replaceable plugin/script of some form and possibly
20   also for the bindings.
21
22 4.0:
23 * have plugins/scripts for most everything as deemed appropriate.
24
25 Openbox TODO list:
26 * get translations for new NLS entries
27
28 * make Escape key cancel moving/resizing a window
29
30 * add asserts all throughout the code to catch bugs.
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 * handle keyboard input natively instead of relying on an external program?
41
42 * remappable bindings for keyboard input and for mouse input.
43
44 * port bbconf to Openbox.
45
46 * add a close button to root/pinned menus?
47
48 * add atoms for most everything in the window manager
49   e.g. add _BLACKBOX_STYLE and _BLACKBOX_MENU atoms so that bbtools, bbconf,
50   etc. can get the current path to the style in use and menu.
51
52 * when workspace name is greater than the width of its text area the toolbar
53   gets very ugly. I think what's really needed is a new toolbar entirely, which
54   can let apps dock in it (these would, of course then, be very tiny apps).
55
56 * get translations of Openbox into more languages.
57
58 * window stacking layers (i.e. always on top/bottom).
59
60 * draw non-opaque move/resize frames using the style's borderWidth.
61
62 * suppert for XRENDER, and use it for making window decorations/menus/etc
63   translucent.