<div dir="ltr">I suppose the question that this error is asking you is: when `getWindowAttributes` throws an error, how should `floatLocation` respond?<div><br></div><div>Perhaps returning some default -- like `(0, RationalRect 0 0 1 1)` or something -- will be sufficient? I don't know how `floatLocation` gets used, so I don't know how dangerous a default that would be.</div><div><br></div><div>Do we need to change the type of `floatLocation` to admit that it may not know the right answer?</div><div><br></div><div>~d</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Sep 10, 2016 at 3:09 PM, Adam Sjøgren <span dir="ltr"><<a href="mailto:asjo@koldfront.dk" target="_blank">asjo@koldfront.dk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Daniel writes:<br>
<br>
> The simplest thing will be to wrap just the call to `getWindowAttributes`,<br>
> if that's the one you expect to fail.<br>
<br>
</span>It is one I observe failing, yes.<br>
<span class=""><br>
> It is not conveniently possible to wrap `X` actions; so instead,<br>
> something like<br>
><br>
>     withDisplay $ \d -> do<br>
>       ws <- gets windowset<br>
>       ewa <- io $ try (getWindowAttributes d w)<br>
>       case ewa of<br>
>           Left e -> io (putStrLn "HELP! do something!")<br>
>           Right wa -> do<br>
>               let bw = (fromIntegral . wa_border_width) wa<br>
>               {- ... etc. -}<br>
<br>
</span>I can't make this construction compile, when I try to change<br>
floatLocation to use it, I get errors about a return value being of type<br>
X () instead of X (ScreenId, W.RationalRect).<br>
<br>
<br>
  Best regards,<br>
<br>
    Adam<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
 "Alla för alla, en för en                                    Adam Sjøgren<br>
  Alla för alla, en för en                               <a href="mailto:asjo@koldfront.dk">asjo@koldfront.dk</a><br>
  Så börjar vi om igen"<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
xmonad mailing list<br>
<a href="mailto:xmonad@haskell.org">xmonad@haskell.org</a><br>
<a href="http://mail.haskell.org/cgi-bin/mailman/listinfo/xmonad" rel="noreferrer" target="_blank">http://mail.haskell.org/cgi-<wbr>bin/mailman/listinfo/xmonad</a><br>
</div></div></blockquote></div><br></div>