[xmonad] Turning emacs mini-buffer window into a strut

John Yates john at yates-sheets.org
Sat May 2 19:43:49 EDT 2009


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


More information about the xmonad mailing list