[xmonad] Use atomic window props in window manage hook

Chris Bell cwbell at mail.usf.edu
Thu Dec 11 17:21:08 UTC 2014


Hi, all

I was wondering, how could I set a window to float based on its atomic
window properties? I'm running Xmonad raw on top of X on Fedora 20; no DE.
According to xprop, the only 'special' property of this window is:

_NET_WM_STATE(ATOM) = _NET_WM_STATE_ABOVE, _NET_WM_STATE_STICKY

particularly the STATE_ABOVE property. So far, I haven't found a reliable
way to extract and check if this property exists is set within a mange
hook. I've tried pulling the entire property as a stringProperty - and
later as an atomic using getAtom - and looking for my string with IsInfixOf
(but I think that was pretty misguided, since it wouldn't compile), and
I've tried checking against:

( isInProperty "_NET_WM_STATE" "_NET_WM_STATE_ABOVE" )

and have also tried it with "_NET_WM_STATE(ATOM)". I don't get any compile
errors, but... it doesn't automatically  float the windows, either. I
apologize if it's something simple I'm overlooking - I've found the Haskell
difficulty curve to be more extreme than any other language I've worked
with. With the possible exception of Matlab.

The window is one of those fancy special new "panel" not-windows that
Chrome is implementing; it's for the Hangouts extension with 'enable
panels' turned on in chrome://flags/#enable-panels. They're frustrating,
because Chrome can actually handle them as dockable internal window,
docking them at the bottom of the browser. Or it can be handled by the OS
WM. All of the window properties are identical to a normal Chrome window,
except the STATE_ABOVE flag, so that's all I can think to use.

Any suggestions are more than welcome.

Regards,

Chris Bell

Ph.D. Candidate, Teaching Assistant, Gentleman, Scholar, Penguin Wrangler
University of South Florida
College of Engineering
Department of Computer Science and Engineering
NarMOS Research Team, Official Daemon Charmer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/xmonad/attachments/20141211/5ee3dc71/attachment.html>


More information about the xmonad mailing list