On Thu, Aug 14, 2014 at 12:51:33AM +0100, Thomas Adam wrote:
> > this guy asked about porting mvwm patches to fvwm, and I don't
> > know what to answer.  As you know, I've been inactive in fvwm for
> > years, and I even missed your fork.  Can you tell me a bit about
> > your project, its goals and what your plans are for the future
> > relation of fvwm and mvwm?
> 
> Sure.  I need to be careful about calling it a fork, because it's still
> compatible with fvwm.  The reason I've forked it and called it mvwm is
> to allow me to run the two side-by-side, and that also trying to do this
> in CVS would have made me cry [0].

Same for me.  I really do not want to work with CVS anymore, and
I'd be happy if we had an fvwm git repository tomorrow.  :-)

> You can have a look here for the TODO file:
> 
> https://github.com/ThomasAdam/mvwm/blob/master/TODO

I have taken a look, and can provide background information on
various points.  Also, I'm interested in discussing the list and
helping with the implementation.  Do you have already set up a
place to discuss the "mvwm" work?  Ideally, if the plan is to keep
compatible to the current fvwm at least for a while, it would be
cool if fvwm-workers gets a copy of the "mvwm" discussions.  I
think the fvwm users should be a part of the renewal process.

Just two quick comments on points of the TODO list.

1) Static vs. dynamic linkage

Today, there's really no reason anymore to statically link the
fvwm library.  Back in the days when I vehemently fought for
keeping static linkage, the library was small, and dynamic linking
was somewhat unstable.  Both is not the case anymore; switching to
dynamic linking is a good thing today.

2) Parsing

That each command and style does its own parsing is terrible and
has bothered me for many years.  As a first step I would like to
write a new parser that can be configured to deal with the syntax
of every existing command and style.  The commands can then be
adapted to the parser one by one, and if we clean up the commands
one day, the parser should still be usable.  Switching to a real
parser would also remove tons of bugs in the various functions and
save a lot of code.

And I'd like to start discussing that as soon as possible.

> I'm also keen to shrink some of the things fvwm offers---things like the
> decor stuff, and having complicated colour gradients, ying/yang
> drawings, etc., just seem really strange to me, and a lot of bloat.

Hm, the yin-yang gradients were more an expression of the
enthusiasm we experienced when the colorsets were invented than
a real feature.  :-)  It was so cool that things like that were
suddenly possible with just a little extra code.

> I've ripped out a lot of the fvwm modules I
> consider to be passe, perhaps too aggressively.

Many years ago we already concluded that all of the gui-like
modules (buttons, taskbar, iconman, iconbox, pager etc.) should
eventually be replaced by a single module (with the provisional
name "FvwmGui").  In my eyes, it

 * combines all the functionality of the obsolete modules,
 * uses colorsets consequently to allow configuring _all_ gui
   elements,
 * can be reconfigured at run time through user interaction (e.g.
   dragging elements to a different spot in the window),
 * can parse all the old module configurations, at least in the
   beginning,
 * can replace all the old modules with symlinks for
   compatibility.

> The net result of this is to over time amass no real sweeping changes
> from fvwm, but to change the underlying things quite a bit.  That's
> really important, because I believe in fvwm.

Ideally, I'd try to keep compatible to fvwm as long as possible.
Of course that is not possible once we start cleaning up the
syntax.

> [0]  You and I have looked at this in the past, moving to it.  If that's
> ever something you want to pick up again, just say the word, all the
> bits and pieces are there, and I still maintain the fvwm git repo on
> Github.

I am happy that you have started the process - something I never
managed.  And yes, I'd love to help with all the work that needs to
be done as soon as possible.  For me, there are two important
questions:

 * What is the relationship between fvwm and mvwm.  It is clear
   that once the work starts, fvwm2 is sentenced to an eventual
   death.  The question is how to manage the process of replacing
   fvwm2 with the reworked code (mvwm, fvwm3, whatever).

 * We need a place to get organized and discuss things.  Maybe it
   would suffice to simply use fvwm-workers and prefix all rework
   related messages with "MVWM:" or whatever.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt

Reply via email to