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