[xmonad] Darcs advice needed

Jan Vornberger Jan.Vornberger at Informatik.Uni-Oldenburg.DE
Tue Sep 15 13:21:44 EDT 2009


On Mon, Sep 14, 2009 at 11:01:00PM -0500, Spencer Janssen wrote:
> I just took a look at your repo, and this is how I'd suggest doing things:
> 
> [SNIP]
>    
> From here I'd suggest that you simply create patches in the staging area,
> leaving the old patches unchanged.  Amend-record and re-record strategies
> destroy project history irrevocably, and should be used only if they make
> the revision history very ugly.

Thx for your suggestions. I think I will do things along those lines. I
also agree that I'd rather avoid 'amend-record' or re-recording stuff
that is already 'public' - even if it is in a repository, that will
eventually be dropped.

> This is the first time I've looked at bluetile, here are some random comments
> from my first look:
>  - "half-implemented support for replacing an existing window manager".  Most
>    likely candidate for inclusion, send this in first, along with any polish
>    you feel it needs.

I already posted the current version of the patch a while ago
(http://osdir.com/ml/xmonad@haskell.org/2009-05/msg00010.html). Right
now it _always_ replaces, which is what I want. If I added a '--replace'
flag, I would also need to have a configuration option, to override that
(because I feel it's important, that simply starting Bluetile will
replace Metacity without requiring any flags or anything). I'll have to
see if I get around to implement those improvements.

>  - PositionStore.  What is this for?  It doesn't seem very used in the core.
>    Can this be a ManageHook instead?

It's used to store how all the windows look when in traditional
'stacking window layout'. This can't be easily maintained by the layout itself,
because windows might shift around from one workspace to another. (To
illustrate: I want to be able to do this: Workspace 1 is in 'stacking
window layout' and shows a window. The window is then shifted to
workspace 2, which currently has a tiling layout active. The window is
tiled. Now, when I change the layout to 'stacking window layout' on
workspace 2 as well, I want to see the window in it's original form
again.) For this I need - as far as I can tell - a global place where I
can store these positions and sizes.

However I agree, that the PositionStore is probably not something, that
should go into xmonad's mainline. An alternative way could be to use
Daniel Schoepe's extensible state patch [1]. It seems useful in itself
and is a cleaner and more general solution. The PositionStore could than
be implemented as a contrib module on top of this extensible state.

> Hopefully we can get to a point where bluetile is merely an executable built
> on mainline xmonad, this will be easiest for you to mantain in the long run,
> and will help us avoid polluting xmonad's brand with a fork.

I agree, that would be the best solution.

Regards,

Jan

[1] http://article.gmane.org/gmane.comp.lang.haskell.xmonad/8126


More information about the xmonad mailing list