
Excerpts from Brent Yorgey's message of Fri Feb 01 22:53:20 +0100 2008:
On Thu, Jan 31, 2008 at 2:42 PM, Spencer Janssen
wrote: On Wed, Jan 30, 2008 at 07:29:58PM -0500, Brent Yorgey wrote:
1. PerWorkspace is an inelegant hack with several icky problems:
Agreed. It is approaching the limits of xmonad's layout design. However, I think we can accomplish PerWorkspace behavior without changing too much.
\begin{code} data PerWS = PerWS { selected :: Maybe Layout , choices :: Map WorkspaceId Layout , default :: Layout } \end{code}
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))?
Ideas?
What about "instance Read a => Read (Layout a)"? -- Nicolas Pouillard aka Ertai