[xmonad] Turning emacs mini-buffer window into a strut
john at yates-sheets.org
Sat May 2 19:43:49 EDT 2009
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
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.
More information about the xmonad