xwm: silently ignore a BadMatch error from XSetInputFocus; this fixes a crash when...
[luccawm.git] / TODO
blobebc083fcec4386ed18e24b3dc4620362ec582ff3
1 Major bugs:
2 * Cannot drag an inactive window to a different tile?
4 Tasks specified in task plan:
5 * Implement EWMH fullscreen hint.
6 * Implement keyboard controls.
7 * Write an Installation Guide (and probably an installation script).
8 * Write a User Guide.
10 Best-effort requirements:
11 * Respect size hints and try to respond to configure events.
12 * Do testing in common desktop environments: GNOME, KDE, XFCE.
13 * Allow some configuration (border width, focus model?)
14 * Make a package for Ubuntu.
15 * Set up a web site for continued collaboration with users and development. The project web site is not good enough for this.
17 Usability/Attractiveness:
18 * Do some usability testing.
19 * Change the cursor to indicate that it's over the resizeable borders.
20 * Smoother switching between window managers: handle crashes, --replace, and sessions.
21 * Provide some visual feedback when dragging/dropping windows.
22 * Change how tiles are chosen to hold new windows and which new windows are visible.
23 * Find a better way for the user to activate the split tile operation.
24 * Add tooltips for the titlebars.
25 * Get some icons for the split/close buttons.
26 * Draw more borders, and make the borders prettier.
27 * Draw a different-colored border around the active tile from the others.
28 * Provide visual feedback of which window is visible in a tile when that window is not focused.
29 * Make the focus model more consistent, motion events on titlebars should activate the tile's visible window.
31 Correctness/Misc.:
32 * Fix the "FIXME" comments in the code.
33 * Handle changes in screen resolution.
34 * Figure out how to handle weird situations with _NET_WM_STRUT properly
35 * LuccaBin seems to be unable to get button press/release events when run in Xorg, but widgets inside a LuccaBin can. Yet it works fine in Xephyr. What gives?
36 * Run valgrind or something similar to check for memory leaks.
37 * 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.
38 * Check ICCCM/EWMH for correctness/features that should be implemented but aren't.
39 * Window Lists in GNOME panel should function.
40 * GNOME clock applet should pop out a calendar?
41 * Get someone who knows something about window managers and/or GTK to look at this stuff.
43 After project completion:
44 * Add icons. Seriously. They help a lot.
45 * 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.
46 * 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.
47 * Windows port. It's not clear if this is even possible, but it'd be so cool if it were.
48 * Multiple monitors: find out what happens now and what would be sensible behavior.
49 * Really this depends on what users/potential users want.