[xmonad] need help with Tabbed

Adam Vogt vogt.adam at gmail.com
Thu Apr 9 02:13:32 EDT 2009


I find it interesting to compare solutions to problems I've looked at.  
Hopefully my suggestions are somewhat useful.

I think that this can be simplified by using more functions from 
XMonad.StackSet, and keeping the Maybe (W.Stack a) as it is from the 
pureModifier.

> W.focusWindow (W.focus $ W.focusUp' ws)

rather than:

> W.modify' (cycl W.focusUp' ws)

Since the cycl function could be a point of failure since it isn't as well 
tested as those in XMonad.StackSet, and also because I don't understand it 
:)

If you allow the message contain a function, I think that it could simplify 
things and allow more options without having to touch the CycleFocus 
instance.

> data OnWindowSubset a = OnWindowSubset (W.Stack a -> W.Stack a)
>  deriving (Read, Show, Typeable)
> instance Typeable a => Message (OnWindowSubset a)

> focusNth n = sendMessage $ OnWindowSubset $ \w -> iterate W.focusDown' (focusMaster' w) !! mod n (len w)
>  where focusMaster' = fromJust . W.differentiate . W.integrate
>        len = length . W.integrate

--
Adam


More information about the xmonad mailing list