06/20/2002 aewm++ 1.0.16/ modifications by DLR: * minor formatting and cosmetic fixes that don't change the code (removal of unnecessary tabs and spaces, indentation fixes, removal of unneeded prototypes, fixing of erroneous comments); rework of a bizarre construction in make_new_client() * resizing fixes: a workaround for invalid window resizing increment hints, a new function is_resizable() to determine whether a given client is resizable or not, and modification of recalc_sweep() to use is_resizable() to prevent the user from moving a non-resizable window in the process of trying to resize it * complete rewrite of the focus handling code; it behaves much better than the old code, but is still subject to two problems: when a transient window is closed, all its parent windows are also closed, and when a keyboard window control is used in click-to-focus mode, if the mouse pointer is over an unfocused window, the keyboard control will affect that window instead of the focused window * tweaked the icon menu and window menu code so a middle- or right-click will hide the menus; also, the window currently under the pointer is focused when a window is sent to another desktop using the window menu * addition of keyboard window controls: ------------------------------------------------------------ Default keybindings (all with Ctrl-Alt prefix): Y*: move window to upper left corner of screen U*: " " " " right " " " B*: " " " lower left " " " N*: " " " " right " " " H*: " " 10 pixels left (respecting screen boundaries) J*: " " " " down " " " K*: " " " " up " " " L*: " " " " right " " " Escape*: close window Tab: focus next window A : iconify window F*: make window sticky/unsticky Z : maximize/unmaximize window horizontally X*: " " " fully C : " " " vertically O : pop up icon menu M : " " window " Space : shade/unshade window Enter*: spawn new terminal window *: same keybinding as evilwm ------------------------------------------------------------ aewm++ issues: * the icon and window menus can be popped up with the keyboard controls, but can't be navigated with them yet; if the right mouse button is held down on the window control button in the titlebar, nothing happens until that button is released, but if the same is done with the left mouse button, the effect occurs instantly; this has a side effect of allowing the window menu to be popped up outside the window (hold down the right mouse button on the titlebar, move it off the window, and release the button) * window snapping should be to struts and not to screen edges * only the program-spawning control (Ctrl-Alt-Enter) is mentioned in the manual page right now; the other controls should be put in there too * the DEBUG code should not be compiled in in a production release, and should probably be removed eventually after I'm sure everything works properly aewm++/goodies/[appbar|setrootimage] modifications by DLR: * fixed the rare color-distorting error in the image code's hyperbolic gradient, removed an unneeded preprocessor section and header file, and added a comment aewm++/goodies/appbar/ modifications by DLR: * added more NET_WM hint support (I believe it now has full support) and updated its changelog accordingly aewm++/goodies/fspanel/ modifications by DLR: * added more NET_WM hint support (I believe it now has full support) and updated its changelog accordingly * made the command line options more user-friendly; "-placement (top|bottom)" and "-usage" are now used instead of "-placement (0|1)" aewm++/goodies/ issues: * fspanel and appbar shouldn't be movable via the keyboard; there's a Gnome hint for this but no NET_WM hint (maybe NET_WM_TYPE_TOOLBAR should be used to indicate an immovable window in this case?) * fspanel's clock isn't updated until either it or a different (non-root) window is focused