[Haskell-cafe] How to have a managed window unfocusable?

Brandon Allbery allbery.b at gmail.com
Mon Jul 7 02:52:43 UTC 2014

On Sun, Jul 6, 2014 at 10:23 PM, Magicloud Magiclouds <
magicloud.magiclouds at gmail.com> wrote:

>   I'd like to have a transparent clock floating on my desktop.
>   If I made it ignored (unmanaged), it would not be above and would be
> blocked by other windows.
>   If I made it managed and float, when I floated up and down, it would be
> focused and I needed to press hotkey again to move focus to correct window.
>   Anyway I could manage it, but not focusing on it?

This is difficult, because X11 expects that the way you do this is to
unmanage it *and* that a window that is unmanaged knows how to manage
itself. In particular, the X server may well send focus to a managed window
*itself* via its window focus inheritance policy. The best xmonad could do
would be to use a handleEventHook to detect the window being given focus
(this might be rather difficult because focusIn and focusOut events are not
currently delivered by the Haskell X11 bindings, sigh) and send focus
elsewhere --- but in that case the window would still briefly receive focus.

You probably need to find a clock program that knows how to operate as an
unmanaged window.

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/haskell-cafe/attachments/20140706/c67e1f33/attachment.html>

More information about the Haskell-Cafe mailing list