[xmonad] Visual hints for XMonad actions

Brandon Allbery allbery.b at gmail.com
Sat Dec 15 00:39:57 CET 2012

On Fri, Dec 14, 2012 at 6:21 PM, Mario Pastorelli <
pastorelli.mario at gmail.com> wrote:

> workspace to the previous workspace, then a left arrow appears in the
> centre of the screen. Those hints are very similar to what happen on other
> WMs and personally very useful. With this idea in mind I started to think
> about requirements: they should be always visible (on top of the stack)
> such that the user can see them but they should be not-intrusive so that
> they don't disturb the work of the user. They should be removed
> automatically after sometime. One last thing, I would like to stick to the
> XMonad color configuration.

The place-and-remove stuff you can crib from XMonad.Layout.ShowWName.  What
you would place is a shaped override-redirect window (you may need to find
X11 Shape extension bindings; I think these already exist somewhere but may
not be in the Haskell X11 package) so that *only* the arrow will be drawn;
ideally it would also have an alpha channel so it can be translucent, but
that will only work if the user is also running a compositing manager.

2) how to put the window on top of the stack such that it is always
> visible. For now, for some reason the arrow is

You want an override-redirect window, not a window that goes into the
stack.  Since you're already using mkUnmanagedWindow, this should already
be true; you may also want to explicitly raiseWindow it to put it on top,
and possibly something in the logHook to re-raise it as needed.

3) how to ignore the input such that it pass trough the created window

Set a zero event mask and do-not-propagate mask, so the events are passed

5) an open question: is there any way to use composite such that the
> windows can be transparent? I don't think

You must run a separate compositing manager for this.  compton is the one
that seems to work best for most people.  That said, just using a shaped
window constrained to the arrow might be good enough.

Note that you won't be able to reproduce Compiz's behavior perfectly,
because it relies on OpenGL and there don't seem to be any decent
standalone OpenGL compositing managers.

brandon s allbery kf8nh                               sine nomine associates
allbery.b at gmail.com                                  ballbery at sinenomine.net
unix, openafs, kerberos, infrastructure, xmonad        http://sinenomine.net
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/xmonad/attachments/20121214/4c802c72/attachment.htm>

More information about the xmonad mailing list