core: fix some drawing glitches involving the horizontal divider between the tab...
[luccawm.git] / TODO
blob75e35bcec142528a5156a3569dcdb581e9e81f78
1 Major bugs:
2 * Fullscreen support is dodgy.
4 Tasks specified in task plan:
5 * Write an Installation Guide (and probably an installation script).
6 * Write a User Guide.
8 Best-effort requirements:
9 * Respect size hints and try to respond to configure events.
10 * Do testing in common desktop environments: GNOME, KDE, XFCE.
11 * Allow some configuration (border width, focus model?)
12 * Make a package for Ubuntu.
13 * Set up a web site for continued collaboration with users and development. The project web site is not good enough for this.
15 Usability/Attractiveness:
16 * Do some usability testing.
17 * Smoother switching between window managers: --replace, and sessions.
18 * Provide some visual feedback when dragging/dropping windows.
19 * Find a better way for the user to activate the split tile operation.
20 * Add tooltips for the titlebars.
21 * Provide visual feedback of which window is visible in a tile when that window is not focused.
22 * Improve the way transients are handled.
23 * Get some icons for the split/close buttons.
24 * Draw more borders, and make the borders prettier.
25 * Draw a different-colored border around the active tile from the others.
26 * Make the focus model more consistent, motion events on titlebars should activate the tile's visible window.
28 Correctness/Misc.:
29 * 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.
30 * Fix the "FIXME" comments in the code.
31 * Handle changes in screen resolution.
32 * Figure out how to handle weird situations with _NET_WM_STRUT properly
33 * 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?
34 * Run valgrind or something similar to check for memory leaks.
35 * 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.
36 * Check ICCCM/EWMH for correctness/features that should be implemented but aren't.
37 * 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.
38 * Window Lists in GNOME panel should function.
39 * GNOME clock applet should pop out a calendar?
40 * Get someone who knows something about window managers and/or GTK to look at this stuff.
42 After project completion:
43 * Add icons. Seriously. They help a lot.
44 * 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.
45 * 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.
46 * Windows port. It's not clear if this is even possible, but it'd be so cool if it were.
47 * Multiple monitors: find out what happens now and what would be sensible behavior.
48 * Really this depends on what users/potential users want.