[xmonad] How to organize myLayoutHook?

Jeffrey David Johnson jefdaj at gmail.com
Wed Oct 17 08:38:13 CEST 2012


Thanks, that's good to know I'm doing things generally right. Maybe a 
more specific question would help me improve it though... what I'm 
actually trying to do is make a tabular list of workspace properties 
like this:

myLayoutHook = avoidStruts $ smartBorders $ format
     [ ("admin", "~/dotfiles", (Full, tall, Grid, wide))
     , ("notes" , "~/notes"  , (tall, wide)               )
     ]
     where
         tall    = ...
         wide = ...
         format = ???

And I can't figure out what the format function should be.
Jeff

On 10/16/12 23:11, Daniel Trstenjak wrote:
> Hi David,
>
> On Tue, Oct 16, 2012 at 07:38:22PM -0700, Jeffrey David Johnson wrote:
>> Most parts of my xmonad.hs have reasonably simple types:
>>
>> myXPConfig :: XPConfig
>> myKeys :: XConfig Layout -> M.Map (KeyMask, KeySym) (X ())
>> myManageHook :: ManageHook
>> myLogHook :: Handle -> X ()
>> myWorkspaces :: [WorkspaceId]
>> etc.
>>
>> But myLayoutHook is uniquely complicated. Here's the current version:
>> ...
> Partly it seems to be because of the Choose type in 'xmonad/XMonad/Layout.hs',
> which is used in a recursive manner to combine the layouts (|||).
>
> I think it's done this way to be able to combine different layout types,
> which all have an instance of LayoutClass, without needing existential
> quantification.
>
> By using existential quantification it might be possible to represent
> the combined layouts by just a list, and the current layout could
> be indicated by a lens.
>
> Or I'm missing something regarding the Choose type?
>
>
> Greetings,
> Daniel
>
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad




More information about the xmonad mailing list