On Thu, Jan 31, 2008 at 2:42 PM, Spencer Janssen <sjanssen@cse.unl.edu> 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?

-Brent