large windows should be centered in the available area, not the entire screen
[blackbox.git] / TODO
blob711a2862f2a714f9f5ffe08a73a20aba82141e6d
1 -- TODO for Blackbox - an X11 Window manager
3 Before 0.70.0 release:
4 -----------------------------
6 * Documentation updates
8 * i18n/l10n (translations) support
10 netwm:
11 -----------------------------
12 * if we have N workspaces NET_DESKTOP_NAMES could supply us with N+M
13   names.  When we create a new workspace we should consult this list.
15 Stuff TODO or On The Way(tm):
16 -----------------------------
18 * make sure transients are correctly associated at startup
20 * session support via the X session management protocol
22 * re-add support for tear-off menus to bt::Menu
24 * see about supporting specifications at www.freedesktop.org (for
25   example, the xdg-file location spec)
27 bt::i18n is very awkward to use - replace it with something else that
28 can translate into either UTF-8 (needed for NETWM and Xft) or locale
29 (for Xmb).
31 ADD: documentation and examples for Rect, since the implementation seems
32      to confuse people
34 ADD: add _BLACKBOX_STYLE and _BLACKBOX_MENU atoms so that bbtools, bbconf,
35      etc. can get the current path to the style in use and menu.
37 ADD: support user controlled window decoration
39 ADD: subdirs in stylesmenu/dir will create a new submenu
41 CHANGE: rework the .blackboxrc resources so that they give a more
42         uniform behavior across screens. (Still not sure how I want
43         to do this, so it'll have to wait.)
45 ADD: get volunteers to translate blackbox into other languages
47 ADD: a regression test suite
48      items to test:
49        *) toggle decor works
50        *) multihead
52 Code cleanup:
53 -----------------------------
55 CHANGE: look into centering the window when maximizing and the window can not
56         grow to fill the area
58 CHANGE: move all of the fprintf() messages to a message function /
59         class.  Something like message(WARN, "this is broken") and use
60         sprintf() to allow for printf() style replacements.  This can
61         be set to go to stderr, a log file, whatever.  It can also be
62         disabled for final builds.
64 CHANGE: use less pointers and more references