[xmonad] darcs patch: New module XMonad.Actions.GroupNavigation
Norbert Zeh
nzeh at cs.dal.ca
Fri May 7 12:15:47 EDT 2010
adam vogt [2010.05.07 1158 -0400]:
> Hello Norbert,
>
> I have a couple suggestions to improve the API (which is sort of
> orthogonal to Brent's idea to merge with CycleWS):
>
> > + nextMatch
> > + , prevMatch
> > + , nextMatchOrDo
> > + , prevMatchOrDo
> > + , nextMatchWithThis
> > + , prevMatchWithThis
> > + , historyHook
> > + , recent
> > + , recentMatch
> > + , recentMatchOrDo
>
> The number of functions here could be reduced by about half if you have instead:
>
> ] data MatchDir = Next | Prev | Recent
> ] match :: MatchDir -> X ()
> ] matchOrDo :: MatchDir -> X () -> X ()
> ] ...
>
> Then people may use `match Next', instead of `nextMatch' which isn't
> much longer.
>
> I'm not sure about substituting the _OrDo, and _WithThis functions
> with a single function that takes more parameters.
>
> The reason those `rotate' functions are missing from the standard
> library is because they are inefficient. This shouldn't matter for
> this module, but if we had 100s of windows, it would be important to
> use Data.Sequence instead of lists.
>
> Lastly, documentation and examples should be improved: the type
> signature of nextMatchWithThis doesn't suggest that you can use
> nextMatchWithThis className etc.
Lots of nice suggestions, and I don't see anything to object to. So
I'll see about incorporating them soon and sending a new patch. The
efficiency of the rotate stuff is something I worried about, too, but
then decided that I normally don't have 100s of windows. Still, it
would be nice to do this better.
Cheers,
Norbert
More information about the xmonad
mailing list