core: fix a bug where the titlebar drag and drop code would sometimes fail to release...
[luccawm.git] / TODO
blob5b23e09d1069854b560bd322d16856f9da755d17
1 Tasks specified in task plan:
2 * Write an Installation Guide (and probably an installation script).
3 * Write a User Guide.
5 Best-effort requirements:
6 * Respect size hints and try to respond to configure events.
7 * Do testing in common desktop environments: GNOME, KDE, XFCE.
8 * Allow some configuration (border width, focus model?)
9 * Make a package for Ubuntu.
10 * Set up a web site for continued collaboration with users and development. The project web site is not good enough for this.
12 Usability/Attractiveness:
13 * Do some usability testing.
14 * Improve the way transients are handled.
15 * Get some icons for the split/close buttons.
16 * Draw more borders, and make the borders prettier.
17 * Draw a different-colored border around the active tile from the others.
18 * Make the focus model more consistent, motion events on titlebars should activate the tile's visible window.
20 Correctness/Misc.:
21 * Handle changes in screen resolution.
22 * Very weird things happen with Konqueror, especially in fullscreen mode.
23 * Weird things happen with the Find command in GNOME's Character Map.
24 * We should use GDK_POINTER_MOTION_HINT_MASK when resizing. This is left out currently to work around a bug where the border would lag behind the cursor.
25 * Fix the "FIXME" comments in the code.
26 * Figure out how to handle weird situations with _NET_WM_STRUT properly
27 * LuccaBin seems to be unable to get button press/release and expose events when run in Xorg, but widgets inside a LuccaBin can. Yet it works fine in Xephyr. What gives?
28 * Run valgrind or something similar to check for memory leaks.
29 * Implement all the stuff in the design. Some of it doesn't appear to be needed to meet the requirements, and I've been ignoring them.
30 * Check ICCCM/EWMH for correctness/features that should be implemented but aren't.
31 * The window->ignore_focus work-around will fail if a user calls lucca_window_configure multiple times before we get a focus event from the first time.
32 * Window Lists in GNOME panel should function.
33 * GNOME clock applet should pop out a calendar?
34 * Get someone who knows something about window managers and/or GTK to look at this stuff.
36 After project completion:
37 * Add icons. Seriously. They help a lot.
38 * Possibly revise the design of the window management library to contain some abstract base classes/interfaces. In particular, LuccaWindow would benefit from having separate LuccaXWindow, LuccaInternalWindow, and maybe even LuccaInternalManagedWindow classes.
39 * Set up an interface for MDI. This would test the design in weird situations (the wm root isn't the real root). It probably wouldn't be very useful otherwise.
40 * Windows port. It's not clear if this is even possible, but it'd be so cool if it were.
41 * Multiple monitors: find out what happens now and what would be sensible behavior.
42 * Session management. It should be possible to save the current layout and remember where windows were within that layout.
43 * Compositing. There are cases where it might be useful (like scaling fullscreen windows or other windows that don't want the size they are given).
44 * Really this depends on what users/potential users want.