Goals for future releases of Openbox (THIS CAN AND WILL CHANGE): 2.0: * rewrite of the window manager. complete class reorganization and cleanup. Separate X class layer (XDisplay/XScreen/XWindow/etc) which does all interaction with the X server. * using std::string instead of char *'s. bool instead of Bool. proper consting everywhere where appropriate. unsigned ints where appropriate. etc. * support for NETWM atoms * separate Font class with support for Xfonts, xfontsets, and xft. 3.0: * key/mouse/action bindings * break the themeing into a replaceable plugin/script of some form and possibly also for the bindings. 4.0: * have plugins/scripts for most everything as deemed appropriate. Openbox TODO list: * get translations for new NLS entries * make Escape key cancel moving/resizing a window * add asserts all throughout the code to catch bugs. * convert char *'s to stl's std::string. ?? this is a memory leak like no other! * make it possible to cycle workspaces by moving the mouse past the edge of the desktop? * make the wheel mouse functionality optional? * add a modifer key which will scroll workspaces with the mousewheel even when not on the root window? * NETWM support (see http://www.freedesktop.org/standards/wm-spec/). * handle keyboard input natively instead of relying on an external program? * remappable bindings for keyboard input and for mouse input. * snap to edges, all edges, including window edges * port bbconf to Openbox. * add a close button to root/pinned menus? * add atoms for most everything in the window manager e.g. add _BLACKBOX_STYLE and _BLACKBOX_MENU atoms so that bbtools, bbconf, etc. can get the current path to the style in use and menu. * when workspace name is greater than the width of its text area the toolbar gets very ugly. I think what's really needed is a new toolbar entirely, which can let apps dock in it (these would, of course then, be very tiny apps). * get translations of Openbox into more languages. * window stacking layers (i.e. always on top/bottom). * draw non-opaque move/resize frames using the style's borderWidth. * better support for window groups. * support for Xft, to anti-alias text. * suppert for XRENDER, and use it for making window decorations/menus/etc translucent. * fix any existant memory leaks, this is on-going forever.