Goals for future releases of Openbox (THIS CAN AND WILL CHANGE): 2.0: * 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: * Add XEventHandler class to make event handling better than ever! * Crazy dope support for dockapps. Fully mimic window maker's handling of them. * reorganization of class model. Add XWidget class (contains an X drawable). * 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. * 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? * handle keyboard input natively instead of relying on an external program? * remappable bindings for keyboard input and for mouse input. * 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. * suppert for XRENDER, and use it for making window decorations/menus/etc translucent.