[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