
Bruce, Thanks for the quick reply.
I don't know whether this is the best approach, but it occurs to me that having the mini-buffer frame declare itself as a strut (by setting _NET_WM_STRUT_PARTIAL) might be a good way to do it?
A fully-tiled mini-buffer is amazingly frustrating. It moves around and invariably has a disconcerting aspect ratio. Having an Emacs mini-buffer-only frame declared as some form of strut would seem appropriate. The xmonad FAQ suggests that being able to set override redirect is also important. And for good measure the _NET_WM_WINDOW_TYPE should probably be changed from _NET_WM_WINDOW_TYPE_NORMAL to _NET_WM_WINDOW_TYPE_DOCK.
There's an xmonad extension to handle struts, and presumably other window managers could make use of it, too.
Absolutely. Down the road I would love to have the freedom to experiment easily with various window managers without each time having to contend with a screwy mini-buffer.
(I don't know whether this could be done in elisp. Hmm, I guess it's not, but that feels like a logical thing for Emacs to be able to do, so maybe add a frame parameter to do that?)
Emacs already has a number of frame parameters that seem to exist only to be passed through as window attributes. Similarly window type and override redirect could be exposed as simple pass-throughs. By contrast a strut or strut_partial property probably would have to examine at least the top, left, height, and fullscreen frame parameters. History suggests that getting such changes into an Emacs release could take a while. Near term I will continue to pursue the xmonad manage hook approach of modifying the window's properties. Such a capability might prove useful in making other applications run comfortably under xmonad while remaining tiled. /john