<br><div class="gmail_quote">On Thu, Jan 31, 2008 at 2:42 PM, Spencer Janssen <<a href="mailto:sjanssen@cse.unl.edu">sjanssen@cse.unl.edu</a>> 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 class="Ih2E3d">On Wed, Jan 30, 2008 at 07:29:58PM -0500, Brent Yorgey wrote:<br>
</div><div class="Ih2E3d">> 1. PerWorkspace is an inelegant hack with several icky problems:<br>
<br>
</div>Agreed. It is approaching the limits of xmonad's layout design. However, I<br>
think we can accomplish PerWorkspace behavior without changing too much.<br>
<br>
\begin{code}<br>
data PerWS = PerWS { selected :: Maybe Layout<br>
, choices :: Map WorkspaceId Layout<br>
, default :: Layout }<br>
\end{code}<br>
</blockquote><div> </div><div>So, I took a crack at implementing (something like) this today. The problem I ran into is that (Layout a) is not an instance of Read, so PerWorkspace cannot derive Read either. Is there any way around this? Or do I have to go back to caching a (Maybe Bool) and using that to decide on which of two layouts to use, instead of directly caching a (Maybe (Layout a))?<br>
<br>Ideas?<br><br>-Brent<br></div></div>