Many thanks! Works perfectly. I saw asks and liftX mentioned in other ManageHooks but will need to read up on monads among other things to understand them.<br><br>Mike<br><br><div class="gmail_quote">On Wed, Mar 18, 2009 at 10:08 PM, Daniel Schoepe <span dir="ltr">&lt;<a href="mailto:asgaroth_@gmx.de">asgaroth_@gmx.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">Mike Sampson wrote:<br>
&gt; Hi,<br>
&gt; I&#39;m trying to write my own ManageHook however as I am still trying to<br>
&gt; learn Haskell and don&#39;t have a 100% clear view of the internals of<br>
&gt; XMonad I&#39;m having some trouble.<br>
&gt;<br>
&gt; My goal is to set the transparency of certain windows, matched via class<br>
&gt; name, as they are created. FadeInactive.hs has a setOpacity function<br>
&gt; which does this no problem. FadeInactive is driven from a LogHook<br>
&gt; whereas I want to drive it from a ManageHook. What is the *magic glue*<br>
&gt; needed to do something like:<br>
&gt;<br>
&gt; [ className =? &quot;URxvt&quot; --&gt; setOpacity window 0x99999999]<br>
&gt;<br>
&gt; in my manage hooks. I know that setOpacity is not a ManageHook and that<br>
&gt; i need to wrap it in something however looking at other ManageHooks,<br>
&gt; such as doFloat, has not made things clear to me. Can anyone help with<br>
&gt; this or provide a better way of doing it?<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Mike<br>
<br>
</div></div>If you want to get the window in question, you need to use `ask&#39;:<br>
<br>
.. --&gt; (ask &gt;&gt;= \w -&gt; liftX (setOpacity w 0x99999999) &gt;&gt; idHook)<br>
<br>
One also needs liftX to lift a normal X action into a Query(The type<br>
expected by the `--&gt;&#39; operator). idHook ensures the proper return<br>
type(ManageHooks have to return transformations of the window set, but<br>
since we don&#39;t want to change the window set itself, we use idHook).<br>
_______________________________________________<br>
xmonad mailing list<br>
<a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/xmonad" target="_blank">http://www.haskell.org/mailman/listinfo/xmonad</a><br>
</blockquote></div><br>