Discussion:
FVWM: fvwm - porting patches from mvwm
Michael Treibton
2014-08-02 21:49:35 UTC
Permalink
Hi,

I've been trying to port some patches from mvwm, which is the clean-up
effort of another person who uses fvwm.

The one I'm interested in is a change to libs/FScreen.h to introduce
separate monitor support, which as I can understand it, makes each
screen separate with its own set of desks and pages. I'm finding it
useful.

Do you know what the plans are with mvwm and if me trying to do this
work is wanted? I am not a programmer, and I cannot tell how much
effort it would be to review any work I do end up doing.

It's a big change and difficult to split up, the original is here:
https://github.com/ThomasAdam/mvwm/commit/04af8e7f3160a9ee98d67e67c040f9a944cbb409

Then there are changes to make use of many monitors across the code base.

I'm hoping the mvwm guy will help me, but he hasn't responded to any
of my emails, so I wanted to ask here.

Thanks for reading everyone!

Michael
Dominik Vogt
2014-08-13 21:02:00 UTC
Permalink
Hi Thomas,

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?

Cleaning up fvwm is definitely important work, and had I had the
time in the past, the 3.0 release would have made such an effort.

On Sat, Aug 02, 2014 at 10:49:35PM +0100, Michael Treibton wrote:
> I've been trying to port some patches from mvwm, which is the clean-up
> effort of another person who uses fvwm.
>
> The one I'm interested in is a change to libs/FScreen.h to introduce
> separate monitor support, which as I can understand it, makes each
> screen separate with its own set of desks and pages. I'm finding it
> useful.
>
> Do you know what the plans are with mvwm and if me trying to do this
> work is wanted? I am not a programmer, and I cannot tell how much
> effort it would be to review any work I do end up doing.
>
> It's a big change and difficult to split up, the original is here:
> https://github.com/ThomasAdam/mvwm/commit/04af8e7f3160a9ee98d67e67c040f9a944cbb409
>
> Then there are changes to make use of many monitors across the code base.
>
> I'm hoping the mvwm guy will help me, but he hasn't responded to any
> of my emails, so I wanted to ask here.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Thomas Adam
2014-08-13 23:51:33 UTC
Permalink
On Wed, Aug 13, 2014 at 10:02:00PM +0100, Dominik Vogt wrote:
> Hi Thomas,

Hi Dominik,

> 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].

You can have a look here for the TODO file:

https://github.com/ThomasAdam/mvwm/blob/master/TODO

At present, the largest change has been to shoehorn in XRandR and thus
make desks/pages be per-monitor, and hence each monitor is separate.
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.

The rest of my work on various topic branches published in that
repository is auditing. I've ripped out a lot of the fvwm modules I
consider to be passe, perhaps too aggressively.

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.

> Cleaning up fvwm is definitely important work, and had I had the
> time in the past, the 3.0 release would have made such an effort.

Oh, I've got absolutely no doubt about that!

So my plan is to work through the TODO; the auditing is interesting as
I've spotted two or three memory leaks so far. I will be "backporting"
these to fvwm as I go.

If you've got any questions, I'd love to hear them. In terms of
backporting this monitor change patch? No chance! The functionality is
there in terms of what I want, but the API sucks, and won't be completed
until I think about which things need to be stored per monitor, etc.,
etc.

-- Thomas Adam

[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.

--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Großer
2014-08-14 08:19:09 UTC
Permalink
Thomas Adam wrote:
> On Wed, Aug 13, 2014 at 10:02:00PM +0100, Dominik Vogt wrote:
> You can have a look here for the TODO file:
>
> https://github.com/ThomasAdam/mvwm/blob/master/TODO
>

Quote:
> - Does having pages *and* desks make sense anymore?
> - Just go with pages, which can be named.

Hi!

Please keep in mind that the ability to allow pages *and* desks
at the same time is by far the most excellent feature of FWVM.

Since August 2010, I use this feature every day:

- 4x3 pages per desktop
- 4x3x3 desktops for each physical machine, virtual machine
and logged in user

This leads to 432 'screens' (12x12x3) for one session and
allows to distribute all the applications, a lot of different
work and different topics on several desks to organize them
at the same time.

Other window managers and desktop environments dropped
this feature, which made FVWM more unique with each
'manager' that dropped it.

So, this is *my* point of view about the question whether
having pages *and* desks make sense anymore. Yes! It
still does.

(Your context is 'Separate desktops per monitor', but
since I don't fully understand the consequences of
your possible TODOs, I just felt it was necessary to
give this feedback in this early stage of your work.)


Best regards,
Michael from Berlin
Bob Woodside
2014-08-14 14:52:09 UTC
Permalink
On 8/14/2014 4:19 AM, Michael Großer wrote:
> Thomas Adam wrote:
> Quote:
>> - Does having pages *and* desks make sense anymore?
>> - Just go with pages, which can be named.
> Please keep in mind that the ability to allow pages *and* desks
> at the same time is by far the most excellent feature of FWVM.
> ...
> Other window managers and desktop environments dropped
> this feature, which made FVWM more unique with each
> 'manager' that dropped it.
>
I have to second Michael's sentiment here. I have used this feature
since circa 1995 or so, usually using 5 discrete desktops with a 4x3 or
4x4 page layout, giving 60 or 80 "workspaces". I usually allocated
desktops to related genres of programs, named accordingly, e.g.,
"Development", "Network", "Artsy Stuff" (graphics/music), etc. This
allowed me to scroll quickly among functionally related windows with the
mouse, with no or very little edge resistance (FVWM) and very rapid
mouse movement sensitivity (X).

I should be very upset to see this unique feature dropped.


Cheers,
Bob
Dan Espen
2014-08-14 15:30:33 UTC
Permalink
On Thu, 2014-08-14 at 10:52 -0400, Bob Woodside wrote:
> On 8/14/2014 4:19 AM, Michael Gro=C3=9Fer wrote:
> > Thomas Adam wrote:
> > Quote:
> >> - Does having pages *and* desks make sense anymore?
> >> - Just go with pages, which can be named.
> > Please keep in mind that the ability to allow pages *and* desks
> > at the same time is by far the most excellent feature of FWVM.
> > ...
> > Other window managers and desktop environments dropped
> > this feature, which made FVWM more unique with each
> > 'manager' that dropped it.
> >
> I have to second Michael's sentiment here. I have used this feature=
=20
> since circa 1995 or so, usually using 5 discrete desktops with a 4x=
3 or=20
> 4x4 page layout, giving 60 or 80 "workspaces". I usually allocated=
=20
> desktops to related genres of programs, named accordingly, e.g.,=
=20
> "Development", "Network", "Artsy Stuff" (graphics/music), etc. This=
=20
> allowed me to scroll quickly among functionally related windows wit=
h the=20
> mouse, with no or very little edge resistance (FVWM) and very rapid=
=20
> mouse movement sensitivity (X).
>=20
> I should be very upset to see this unique feature dropped.

Well, I only use pages.

:)

I think dropping features should only be considered if it would
significantly improve the product. I wonder how much would be gained
=66rom removing desktops. I suspect not much.

Bob, nice to see you're still around.
Thomas Adam
2014-08-14 15:49:57 UTC
Permalink
On 14 August 2014 15:52, Bob Woodside <***@woodsway.com> wrote:
> I should be very upset to see this unique feature dropped.

Sure; it was more a consideration of fitting EWMH into this, where
that concept of page/desk definitions often contradicts the use of
pages, where desks are the only thing that can effectively map to what
EWMH considers, AFAICT.

I'm told that other DEs/WMs are starting to look at pages as well as,
so I'd be interested to see what happens there. Although I've nothing
to back this up with. And yes, I understand the point people keep
making about windows being unmapped on desks, and not on pages, hence
it allows for windows to straddle different page boundaries, etc.,
etc.

It's just something I keep thinking about, I am not stating a claim to
actually doing this. I don't know how aggressive you guys think I am,
but geez, butchery is something I'm only working on at weekends with
my sithe and my axe. ;) I've far more important things to consider.

-- Thomas Adam
Dominik Vogt
2014-08-14 20:41:02 UTC
Permalink
On Thu, Aug 14, 2014 at 04:49:57PM +0100, Thomas Adam wrote:
> On 14 August 2014 15:52, Bob Woodside <***@woodsway.com> wrote:
> > I should be very upset to see this unique feature dropped.
>
> Sure; it was more a consideration of fitting EWMH into this, where
> that concept of page/desk definitions often contradicts the use of
> pages, where desks are the only thing that can effectively map to what
> EWMH considers, AFAICT.

I know, but fvwm should not drop features because the EWMH spec
is crap. Apart from the normal uses of desks, the virtually
unlimited number of desks allows some very nifty scripting in
fvwm. E.g. the "show desktop" feature discussed recently that can
be implemented by moving all windows on the current desk to
(current desk -100) or something. I wouldn't want to loose this
flexibility.

With pages, you don't have this flexibility because the size of
the root window is limited to 65536x65536 pixels (the coordinates
are 16 bit values in the X protocol).

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Dr. Nikolaus Klepp
2014-08-14 18:16:17 UTC
Permalink
Am Donnerstag, 14. August 2014 schrieb Bob Woodside:
> On 8/14/2014 4:19 AM, Michael Großer wrote:
> > Thomas Adam wrote:
> > Quote:
> >> - Does having pages *and* desks make sense anymore?
> >> - Just go with pages, which can be named.
> > Please keep in mind that the ability to allow pages *and* desks
> > at the same time is by far the most excellent feature of FWVM.
> > ...
> > Other window managers and desktop environments dropped
> > this feature, which made FVWM more unique with each
> > 'manager' that dropped it.
> >
> I have to second Michael's sentiment here. I have used this feature
> since circa 1995 or so, usually using 5 discrete desktops with a 4x3 or
> 4x4 page layout, giving 60 or 80 "workspaces". I usually allocated
> desktops to related genres of programs, named accordingly, e.g.,
> "Development", "Network", "Artsy Stuff" (graphics/music), etc. This
> allowed me to scroll quickly among functionally related windows with the
> mouse, with no or very little edge resistance (FVWM) and very rapid
> mouse movement sensitivity (X).
>
> I should be very upset to see this unique feature dropped.

KDE4 (re)introduced that desks/pages scheme in quite a crippled way and called it "activities"

Nik



--
Please do not email me anything that you are not comfortable also sharing with the NSA.
Dominik Vogt
2014-08-14 21:15:54 UTC
Permalink
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
Thomas Adam
2014-08-14 23:24:03 UTC
Permalink
On Thu, Aug 14, 2014 at 10:15:54PM +0100, Dominik Vogt wrote:
> 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. :-)

The closest we have is this:

https://github.com/ThomasAdam/fvwm

But as you and I both know, there's a lot of infrastructure surrounding
this which means putting it in place is more work; there's the
corresponding fvwm-web repo as well which I have on Github somewhere.
Perhaps this is an academic point given some of your points below, but
if a decision is ever made with respect to an interim, and a needed git
repo, the one I reference above is being kept up to date by me whenever
commits to CVS are made.

> > 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.

I agree, Dominik. I don't have anywhere at all to discuss mvwm things.
Whether that's done on an individual basis with summary emails sent to
fvwm-workers@ periodically, or just on fvwm-workers@ itself, with the
prefix "mvwm" as you're suggesting, I don't mind at all. As long as
using fvwm-workers@ for this isn't seen as "cheeky" in anyway, that'd be
fine with me. If it really bothered anyone, they could set up a filter
to ignore mvwm-specific emails, etc.

> 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.

Yup, I completely agree with this.

> 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.

Me too; and this is quite a large topic in my mind. I'm keen to split
off the conversation of this to its own thread (on the proviso we've
worked out where to discuss these things, of course), but suffice it to
say, whatever we come up with on this has to also take into account the
existing commands and the fact that there's so many of them that do the
same thing, with different syntaxes, etc.

I've a pretty clear idea in my mind on what sort of parser I'd use for
this, but I really do want input on this from others, because this
defines a lot more than just commands, it also says things about the
structure of other things, like reusable concepts of referring to
desks/pages/windows, etc., something I'm keen to unify.

> > 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.

Interesting, thank you.

> > 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.

Agreed, and there comes a point when that breakage is accepted, and not
maintained---i.e., I'm not going to assume some kind of shim-layer or
anything. When it naturally works out to have broken existing
fvwm-compatibility, that's the point at which we're heading in the right
direction, IMO.

> * 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).

I think I've noted this above, but to be clear, the relationship is that
fvwm continues as it is at the moment, and people are free to work on
it, commit to it, fix bugs, etc. With mvwm, it's a way for us to try
out completely radical ideas, and break fvwm's compatibility,
eventually. As for replacing one against the other, I'm not sure.

I'm keen to note a few things here though:

* The mvwm name is not set in stone, it was just a crappy name from me
differentiate it; so I'm not that hung-up on it. If it sticks, that's
fine, if not, fvwm3, or something else suits me.

* With someone like yourself on board, Dominik, I want mvwm (or whatever
its name is to be) to run like fvwm is now---a fvwm-workers group who
have commit-bit access to the repository, etc. There's questions
about where that should be hosted, etc., and if that's Github for now,
I don't know if that's acceptable to yourself and others?

> * 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.

See my opening paragraph---I'm happy for out-of-band conversations and
cross-posting to fvwm-workers@, or to just use fvwm-workers@ as long as
that's not going to inconvenience others.

I suppose based on this decision, I'll wait before I (or you) kick-off a
conversation about parsers. I'm looking forward to that!

Thank you, Dominik, this is very encouraging indeed.

To anyone else reading this who has any suggestions, please do speak up.

Kindly,

-- Thomas Adam

--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Dominik Vogt
2014-08-15 06:03:23 UTC
Permalink
> I think I've noted this above, but to be clear, the relationship is that
> fvwm continues as it is at the moment, and people are free to work on
> it, commit to it, fix bugs, etc. With mvwm, it's a way for us to try
> out completely radical ideas, and break fvwm's compatibility,
> eventually.

This was exactly my plan for fvwm-3.0. Fvwm has some pretty useful
and flexible concecpts, but the basic code structure is also 25 years
old. Large parts of the implementation and the syntax are terrible

> As for replacing one against the other, I'm not sure.

Of course I've no problem if someone wants to continue maintaining the
old code, but - once we have the new code - I'm not the person who will
do that.

The compat stuff can be separated from the new core code, maybe as a
module or script. But it's illusive to assume that it would be
possible to be completely compatible and redo all the parsing. Fvwm's
scripting is too powerful.

For me, personally, it's important that we won't say that the "old"
fvwm is crap and needs to be replaced with something new, better etc.
It just needs to be renovated.

P.S.: And I do want a window manager with a reference to cats in its
name. ;-)

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Thomas Adam
2014-08-15 13:37:10 UTC
Permalink
On Fri, Aug 15, 2014 at 08:03:23AM +0200, Dominik Vogt wrote:
> > I think I've noted this above, but to be clear, the relationship is that
> > fvwm continues as it is at the moment, and people are free to work on
> > it, commit to it, fix bugs, etc. With mvwm, it's a way for us to try
> > out completely radical ideas, and break fvwm's compatibility,
> > eventually.
>
> This was exactly my plan for fvwm-3.0. Fvwm has some pretty useful
> and flexible concecpts, but the basic code structure is also 25 years
> old. Large parts of the implementation and the syntax are terrible

Sure, but the point here is that updating the syntax and unifying things,
etc., is perhaps the more straight-forward aspects. The underlying
principles of how fvwm handles windows, and the window hints, etc., are
rock-solid; much much more so than any other window manager out there, IMO.
So absolutely, we'll be keeping that, we'd be fools not to. ;)

> > As for replacing one against the other, I'm not sure.
>
> Of course I've no problem if someone wants to continue maintaining the
> old code, but - once we have the new code - I'm not the person who will
> do that.

Likewise, me neither.

> The compat stuff can be separated from the new core code, maybe as a
> module or script. But it's illusive to assume that it would be
> possible to be completely compatible and redo all the parsing. Fvwm's
> scripting is too powerful.
>
> For me, personally, it's important that we won't say that the "old"
> fvwm is crap and needs to be replaced with something new, better etc.
> It just needs to be renovated.

I might get frustrated at some of the syntax, and the hand-rolling, but
crap? Heavens, no. I am definitely not saying that, nor wish to imply it.
The foundations of fvwm are rock-solid as I've said; its approach to
managing windows is superior. You (and others) got it right; and the fact
that so many other WMs out there to this day still crib from fvwm is
testimony to that. Congratulations! :)

> P.S.: And I do want a window manager with a reference to cats in its
> name. ;-)

Maybe the 'm' in mvwm could stand for "moggy" or something then? Maybe as
time progresses we'll think of something different.

Dominik, I've taken the liberty of augmenting the TODO file in the mvwm
repository with some of your notes from your previous email. Thank you for
that.

I'd appreciate some thoughts about where to base further discussion as I'm
keen to keep momentum going.

Kindly,
-- Thomas Adam
Dominik Vogt
2014-08-15 20:05:52 UTC
Permalink
On Fri, Aug 15, 2014 at 02:37:10PM +0100, Thomas Adam wrote:
> > P.S.: And I do want a window manager with a reference to cats in its
> > name. ;-)
>
> Maybe the 'm' in mvwm could stand for "moggy" or something then? Maybe as
> time progresses we'll think of something different.

Felinevwm (short: fvwm3) would be fine with me. ;-)

Anyway, talking about names is not urgent in any way.

> Dominik, I've taken the liberty of augmenting the TODO file in the mvwm
> repository with some of your notes from your previous email. Thank you for
> that.

That's grand. There has be so much talk, and so little has been
documented.

> I'd appreciate some thoughts about where to base further discussion as I'm
> keen to keep momentum going.

For practical reasons I suggest to start on fvwm-workers for the
moment. We need to use the momentum we have now, because next
week real life might catch up with me. It it turns out to be
impractical, we can think about something else. For the time
being I'd like to not shut out the people reading the fvwm-workers
list right from the start.

I'll start a new mail thread about parsing with the prefix
"REWRITE: " in a minute.

In the mean time I've created a github user id 'domivogt' and
cloned the mvwm repository and would be happy if you gave me push
access so that I can start to work in topic branches there.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Thomas Adam
2014-08-15 21:18:45 UTC
Permalink
On Fri, Aug 15, 2014 at 09:05:52PM +0100, Dominik Vogt wrote:
> In the mean time I've created a github user id 'domivogt' and
> cloned the mvwm repository and would be happy if you gave me push
> access so that I can start to work in topic branches there.

OK. AFAICT, I've given you permission to the mvwm repository; please
cehck you can clone from it, push topic branches, etc.

-- Thomas Adam

--
"Deep in my heart I wish I was wrong. But deep in my heart I know I am
not." -- Morrissey ("Girl Least Likely To" -- off of Viva Hate.)
Michael Treibton
2014-08-17 14:25:43 UTC
Permalink
On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
> I'll start a new mail thread about parsing with the prefix
> "REWRITE: " in a minute.
>
> In the mean time I've created a github user id 'domivogt' and
> cloned the mvwm repository and would be happy if you gave me push
> access so that I can start to work in topic branches there.

Can I help in some way?

Michael
Brian
2014-08-18 04:37:52 UTC
Permalink
On Sun, 17 Aug 2014 15:25:43 +0100
Michael Treibton <***@googlemail.com> wrote:

> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
> > I'll start a new mail thread about parsing with the prefix
> > "REWRITE: " in a minute.
> >
> > In the mean time I've created a github user id 'domivogt' and
> > cloned the mvwm repository and would be happy if you gave me push
> > access so that I can start to work in topic branches there.
>
> Can I help in some way?
>
> Michael
>

I too would like to help someway. Is there a person to send a
skills resume to for review and assignment to the project?
Brian Amundsen in Minnesota.
Dan Espen
2014-08-18 04:50:30 UTC
Permalink
Brian <***@yahoo.com> writes:

> On Sun, 17 Aug 2014 15:25:43 +0100
> Michael Treibton <***@googlemail.com> wrote:
>
>> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
>> > I'll start a new mail thread about parsing with the prefix
>> > "REWRITE: " in a minute.
>> >
>> > In the mean time I've created a github user id 'domivogt' and
>> > cloned the mvwm repository and would be happy if you gave me push
>> > access so that I can start to work in topic branches there.
>>
>> Can I help in some way?
>>
>> Michael
>
> I too would like to help someway. Is there a person to send a
> skills resume to for review and assignment to the project?
> Brian Amundsen in Minnesota.

Read this:

http://fvwm.org/documentation/dev_cvs.php

anyone can write and submit a patch.

--
Dan Espen
Michael Treibton
2014-08-18 11:37:37 UTC
Permalink
On 18 August 2014 05:50, Dan Espen <***@verizon.net> wrote:
> Brian <***@yahoo.com> writes:
>
>> On Sun, 17 Aug 2014 15:25:43 +0100
>> Michael Treibton <***@googlemail.com> wrote:
>>
>>> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
>>> > I'll start a new mail thread about parsing with the prefix
>>> > "REWRITE: " in a minute.
>>> >
>>> > In the mean time I've created a github user id 'domivogt' and
>>> > cloned the mvwm repository and would be happy if you gave me push
>>> > access so that I can start to work in topic branches there.
>>>
>>> Can I help in some way?
>>>
>>> Michael
>>
>> I too would like to help someway. Is there a person to send a
>> skills resume to for review and assignment to the project?
>> Brian Amundsen in Minnesota.
>
> Read this:
>
> http://fvwm.org/documentation/dev_cvs.php
>
> anyone can write and submit a patch.

Thank you, Dan. I was hoping more for mvwm. I can't see how the
instructions would be the same?

Michael
Thomas Adam
2014-08-18 11:44:09 UTC
Permalink
On Mon, Aug 18, 2014 at 12:37:37PM +0100, Michael Treibton wrote:
> On 18 August 2014 05:50, Dan Espen <***@verizon.net> wrote:
> > Brian <***@yahoo.com> writes:
> >
> >> On Sun, 17 Aug 2014 15:25:43 +0100
> >> Michael Treibton <***@googlemail.com> wrote:
> >>
> >>> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
> >>> > I'll start a new mail thread about parsing with the prefix
> >>> > "REWRITE: " in a minute.
> >>> >
> >>> > In the mean time I've created a github user id 'domivogt' and
> >>> > cloned the mvwm repository and would be happy if you gave me push
> >>> > access so that I can start to work in topic branches there.
> >>>
> >>> Can I help in some way?
> >>>
> >>> Michael
> >>
> >> I too would like to help someway. Is there a person to send a
> >> skills resume to for review and assignment to the project?
> >> Brian Amundsen in Minnesota.
> >
> > Read this:
> >
> > http://fvwm.org/documentation/dev_cvs.php
> >
> > anyone can write and submit a patch.
>
> Thank you, Dan. I was hoping more for mvwm. I can't see how the
> instructions would be the same?

They're not the same, but at the present time, there's nothing in term of
mvwm development we need, other than to document the way the parser works at
the moment, which is what Dominik and I are currently working on.

Is this perhaps not clear enough? I appreciate the enthusiasm, but this
groundwork is really important before we can move forward. Unless there's
anyone else who wishes to help out with this---which would mean
understanding a fair amount of fvwm internals at this point, etc., I am not
sure what else to suggest you can do for now.

If you've found a genuine bug in fvwm which you're wanting to fix, then the
instructions Dan is pointing you to are precisely what you need to follow in
terms of generating a patch, etc.

HTH,

-- Thomas Adam
Michael Treibton
2014-08-18 12:40:33 UTC
Permalink
On 18 August 2014 12:44, Thomas Adam <***@fvwm.org> wrote:
> Is this perhaps not clear enough? I appreciate the enthusiasm, but this
> groundwork is really important before we can move forward. Unless there's
> anyone else who wishes to help out with this---which would mean
> understanding a fair amount of fvwm internals at this point, etc., I am not
> sure what else to suggest you can do for now.

I'm interested in mvwm specifically as i've already tried to port your
patches to fvwm already without success.
i'm worried this is turning into an 'exclusive club' at the moment.

some questions -

what's the contribution path to 'outsiders' like me?
the roadmap (in the TODO) lists quite boring features - is this all
theres going to be?
have you (and others) got enough experience with fvwm to carry this
off? - or do you need others to help?

Thanks!

Michael
Thomas Adam
2014-08-18 13:22:20 UTC
Permalink
On Mon, Aug 18, 2014 at 01:40:33PM +0100, Michael Treibton wrote:
> On 18 August 2014 12:44, Thomas Adam <***@fvwm.org> wrote:
> > Is this perhaps not clear enough? I appreciate the enthusiasm, but this
> > groundwork is really important before we can move forward. Unless there's
> > anyone else who wishes to help out with this---which would mean
> > understanding a fair amount of fvwm internals at this point, etc., I am not
> > sure what else to suggest you can do for now.
>
> I'm interested in mvwm specifically as i've already tried to port your
> patches to fvwm already without success.

I didn't look at your efforts because I already knew they wouldn't sit
pretty ontop of fvwm as it is at the moment.

> i'm worried this is turning into an 'exclusive club' at the moment.

I'm sorry to hear you say that, but this simply isn't the case, and I'm not
sure how you can really claim that. I'll explain in a bit more detail below
for you. But I am starting to run out of ways of explaining the same thing
to you; either I'm not being clear, or you're after a differnet answer, but
I assure you my answer will always be the same at the moment: sit-tight and
watch tnis space.

> some questions -
>
> what's the contribution path to 'outsiders' like me?

At the moment, Dominik and I are working on documenting how fvwm parses its
commands, and also how modules parse their commands. This is a complex
thing to document. Until we can see the big picture, it's not advisable to
look at anything else just yet, because we might miss something. Also, it
helps us identify common parts as well. It's the only way we can improve
this area, and it's a very important one.

But an "exclusive club"? No. This part of improving fvwm needs people like
Dominik onboard to really help explain the nuances and intricacies of how
the parser currently works, and where its known limitations are. It's
possible to infer some of this from the code, but not always. Have a look
at the parsing document Dominik has written [0] and you'll see the level of
detail we're talking about.

The nature of this clean-up work isn't behind closed doors; far from it.
But it does take people familiar with the code to really get in there and
start looking at what it's doing. If you feel left out because of that, I'm
sorry to say that isn't our fault, or your fault, you just can't necessarily
help with this point.

> the roadmap (in the TODO) lists quite boring features - is this all
> theres going to be?

Which features do you consider boring? Most of those items are from myself,
identifying areas in fvwm I'm not happy with. Again, it's very easy to add
new features, but this isn't the point of cleaning up fvwm, it's about
improving its internal state, improving on the existing code, and hopefully
removing some of it as we go. It's easier to add features after the
foundations are a little more structured, than it is to remove things after
the fact. And that's partly why fvwm is in the state it's in. It's a
*damn* good window manager, but like any software project of some 25 years,
there's a few dark corners that just need some light shining on them.
That's what the TODO file [1] is for. If you don't like that, feel free to
use fvwm, as you won't notice anything different.

> have you (and others) got enough experience with fvwm to carry this

Do I have the expertese? I've not worked on fvwm for as long as Dominik, or
Mikhael, or Dan, and the others who you'll see [2], but I do know a lot
about window management and fvwm, so why wouldn't I be useful to this
project?

> off? - or do you need others to help?

Having others help would be good, after we're over this initial set of
parsing documentation, etc., and have worked out what to do next. This
isn't happening behind closed doors, and you're clearly following us on this
list, so keep doing that by all means.

I do hope I've been able to answer your questions as thoroughly as you
wanted. But I would ask that you don't peddle this too much, you're
detracting me away from actual work at the moment. :)

HTH,

-- Thomas Adam

[0]
https://raw.githubusercontent.com/ThomasAdam/mvwm/document-parsing/rewrite-notes/parsing
[1] https://raw.githubusercontent.com/ThomasAdam/mvwm/master/TODO
[2] http://fvwm.org/authors/
Dominik Vogt
2014-08-18 14:39:17 UTC
Permalink
On Mon, Aug 18, 2014 at 01:40:33PM +0100, Michael Treibton wrote:
> On 18 August 2014 12:44, Thomas Adam <***@fvwm.org> wrote:
> > Is this perhaps not clear enough? I appreciate the enthusiasm, but this
> > groundwork is really important before we can move forward. Unless there's
> > anyone else who wishes to help out with this---which would mean
> > understanding a fair amount of fvwm internals at this point, etc., I am not
> > sure what else to suggest you can do for now.
>
> I'm interested in mvwm specifically as i've already tried to port your
> patches to fvwm already without success.

Fair enough. If I understand Thomas right, he considers the
patches you're interested in as purely experimental, with the long
term goal to support it in a clean way.

However, the fvwm sources are a real mess at the moment, and we
need to focus on cleaning that up first, before we can start
adding new features in a new, clean way.

> i'm worried this is turning into an 'exclusive club' at the moment.

As long as I have any voice here, fvwm and any attempts to rewrite
its code base will never be "exclusive". :-)

> what's the contribution path to 'outsiders' like me?
> the roadmap (in the TODO) lists quite boring features - is this all
> theres going to be?

The TODO is just the foundation of the new project. It lists a
lot of very important infrastructure changes that are actually
very un-sexy for users.

> have you (and others) got enough experience with fvwm to carry this
> off?

Um, I think, if *anybody* has the expertise, it's me. ;-)
Although I had taken a break for some years, I've been fvwm's most
active maintainer and developer.

> - or do you need others to help?

Yes. I do not believe in private creations of single authors. At
the moment, help would equal taking an active part in the ongoing
discussions. I'm afraid that we don't have any cool features that
we could ask people to implement at the moment, but only "boring"
things about technical issues.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Michael Treibton
2014-08-19 09:09:32 UTC
Permalink
On 18 August 2014 15:39, Dominik Vogt <***@gmx.de> wrote:
> The TODO is just the foundation of the new project. It lists a
> lot of very important infrastructure changes that are actually
> very un-sexy for users.

Yes, they do look boring, i am sorry to say this but it is what i think.

> Yes. I do not believe in private creations of single authors. At
> the moment, help would equal taking an active part in the ongoing
> discussions. I'm afraid that we don't have any cool features that
> we could ask people to implement at the moment, but only "boring"
> things about technical issues.

But then why can't this be done ontop of fvwm2 in CVS? i don't really
like the fork and it does seem difficult to understand the
relationship of mvwm to fvwm at the moment. as a user which one do i
use?

Michael
Martin Cermak
2014-08-19 10:53:40 UTC
Permalink
On Tue 2014-08-19 10:09 , Michael Treibton wrote:
> But then why can't this be done ontop of fvwm2 in CVS? i don't really
> like the fork and it does seem difficult to understand the
> relationship of mvwm to fvwm at the moment. as a user which one do i
> use?
>
> Michael

FVWM is unique. I'd love it to survive. Forking and "doing things
right" might be a catharsis for an individual but not necessarily
a real benefit for our VM from both the user- and developer
community pow.

Martin
M***@gmx.de
2014-08-19 13:16:32 UTC
Permalink
> Gesendet: Dienstag, 19. August 2014 um 12:53 Uhr
> Von: "Martin Cermak" <***@gmail.com>
> An: "Michael Treibton" <***@googlemail.com>
> Cc: fvwm <***@fvwm.org>
> Betreff: Re: FVWM: fvwm - porting patches from mvwm
>
> On Tue 2014-08-19 10:09 , Michael Treibton wrote:
> > But then why can't this be done ontop of fvwm2 in CVS? i don't really
> > like the fork and it does seem difficult to understand the
> > relationship of mvwm to fvwm at the moment. as a user which one do i
> > use?
> >
> > Michael
>
> FVWM is unique. I'd love it to survive. Forking and "doing things
> right" might be a catharsis for an individual but not necessarily
> a real benefit for our VM from both the user- and developer
> community pow.
>
> Martin
>
>

As far as I understood, MVWM was created to do risky things, understand the code, "romp around" and experiment with new designs.

If you ask me, it is NOT MY interest to let the results of this kind of work flow into a stable window manager until the programmers are 100% sure that their work does not make the existing window manager worse than better.

I think, it is a good idea to create a new project, where risky actions can be done as long as the development team ports the safe and approved improvments back to the original.

My impression is that this was admittedly written in earlier messages, but apparently not obvious enough (for those people who skip every second line when reading e-mail messages) :-)


just my two cents
- Michael -
Dan Espen
2014-08-18 13:32:11 UTC
Permalink
Thomas Adam <***@fvwm.org> writes:

> On Mon, Aug 18, 2014 at 12:37:37PM +0100, Michael Treibton wrote:
>> On 18 August 2014 05:50, Dan Espen <***@verizon.net> wrote:
>> > Brian <***@yahoo.com> writes:
>> >
>> >> On Sun, 17 Aug 2014 15:25:43 +0100
>> >> Michael Treibton <***@googlemail.com> wrote:
>> >>
>> >>> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
>> >>> > I'll start a new mail thread about parsing with the prefix
>> >>> > "REWRITE: " in a minute.
>> >>> >
>> >>> > In the mean time I've created a github user id 'domivogt' and
>> >>> > cloned the mvwm repository and would be happy if you gave me push
>> >>> > access so that I can start to work in topic branches there.
>> >>>
>> >>> Can I help in some way?
>> >>>
>> >>> Michael
>> >>
>> >> I too would like to help someway. Is there a person to send a
>> >> skills resume to for review and assignment to the project?
>> >> Brian Amundsen in Minnesota.
>> >
>> > Read this:
>> >
>> > http://fvwm.org/documentation/dev_cvs.php
>> >
>> > anyone can write and submit a patch.
>>
>> Thank you, Dan. I was hoping more for mvwm. I can't see how the
>> instructions would be the same?
>
> They're not the same, but at the present time, there's nothing in term of
> mvwm development we need, other than to document the way the parser works at
> the moment, which is what Dominik and I are currently working on.

Ah, I see.

I haven't examined mvwm all that closely.
I had assumed that the mvwm work would eventually fold back into Fvwm.

I read the parsing write up.
My guess is that you are trying to develop a table driven parser
for all (or most) fvwm commands?

I just did something similar for a work project.
But I didn't have a lifetime, so I just implemented the table
driven parser for the commands I was dealing with at the time.
Since then I've gone back and added a few more commands.

--
Dan Espen
Dominik Vogt
2014-08-18 14:25:29 UTC
Permalink
On Mon, Aug 18, 2014 at 09:32:11AM -0400, Dan Espen wrote:
> I haven't examined mvwm all that closely.

At the moment, mvwm is mostly fvwm with a lot of old and obscure
features removed and some changes of repository layout.

> I had assumed that the mvwm work would eventually fold back into Fvwm.

I think Thomas has something more radical in mind, either forking
off permanently, or replacing fvwm2 with fvwm3 eventually.

> I read the parsing write up.
> My guess is that you are trying to develop a table driven parser
> for all (or most) fvwm commands?

That definitely must be one goal of the syntax rewrite.

> I just did something similar for a work project.
> But I didn't have a lifetime, so I just implemented the table
> driven parser for the commands I was dealing with at the time.
> Since then I've gone back and added a few more commands.

Well, at the moment it's too early to think about how a new parser
should look like. First we need to find out what the current fvwm
needs from a parser. Than we can think about replacing commands
and streamlining the syntax.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Dan Espen
2014-08-18 15:25:51 UTC
Permalink
Dominik Vogt <***@gmx.de> writes:

> On Mon, Aug 18, 2014 at 09:32:11AM -0400, Dan Espen wrote:
>> I haven't examined mvwm all that closely.
>
> At the moment, mvwm is mostly fvwm with a lot of old and obscure
> features removed and some changes of repository layout.
>
>> I had assumed that the mvwm work would eventually fold back into Fvwm.
>
> I think Thomas has something more radical in mind, either forking
> off permanently, or replacing fvwm2 with fvwm3 eventually.
>
>> I read the parsing write up.
>> My guess is that you are trying to develop a table driven parser
>> for all (or most) fvwm commands?
>
> That definitely must be one goal of the syntax rewrite.
>
>> I just did something similar for a work project.
>> But I didn't have a lifetime, so I just implemented the table
>> driven parser for the commands I was dealing with at the time.
>> Since then I've gone back and added a few more commands.
>
> Well, at the moment it's too early to think about how a new parser
> should look like. First we need to find out what the current fvwm
> needs from a parser. Than we can think about replacing commands
> and streamlining the syntax.

I've never been in favor of an incompatible change not backed up
by an automatic conversion program. But that's just me.
I'm not looking to dump fvwm2. It works too well for me.

--
Dan Espen
Dominik Vogt
2014-08-18 16:11:01 UTC
Permalink
On Mon, Aug 18, 2014 at 11:25:51AM -0400, Dan Espen wrote:
> Dominik Vogt <***@gmx.de> writes:
> >> I just did something similar for a work project.
> >> But I didn't have a lifetime, so I just implemented the table
> >> driven parser for the commands I was dealing with at the time.
> >> Since then I've gone back and added a few more commands.
> >
> > Well, at the moment it's too early to think about how a new parser
> > should look like. First we need to find out what the current fvwm
> > needs from a parser. Than we can think about replacing commands
> > and streamlining the syntax.
>
> I've never been in favor of an incompatible change not backed up
> by an automatic conversion program. But that's just me.

No, not just you, I'm not fond of breaking the existing fvwm
syntax either. But on the other hand fvwm2 has really hit a brick
wall in ways of extensibility. If all else fails, backwards
compatibility can be provided as some kind of module or input
filter.

> I'm not looking to dump fvwm2. It works too well for me.

It works perfectly for me too. But I wish it was easier to
introduce new features, and I'm still dreaming about some kind of
"database" approach to window configuration where you can just
dump configuration into, e.g. specific to window id, resource
pattern, class pattern, for all windows, for windows with certain
properties etc. When a window needs information about it's style,
a lookup in the database spits out the most specific style
information for each style. This would be so much more
configurable (and hence able to get funny applications under
control) than that mess of the style logic we have now.

But eventually, some features like decors or the icon choosing
code are too broken to be replaced by something better that is yet
compatible.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Dan Espen
2014-08-18 16:39:51 UTC
Permalink
Dominik Vogt <***@gmx.de> writes:

> On Mon, Aug 18, 2014 at 11:25:51AM -0400, Dan Espen wrote:
>> Dominik Vogt <***@gmx.de> writes:
>> >> I just did something similar for a work project.
>> >> But I didn't have a lifetime, so I just implemented the table
>> >> driven parser for the commands I was dealing with at the time.
>> >> Since then I've gone back and added a few more commands.
>> >
>> > Well, at the moment it's too early to think about how a new parser
>> > should look like. First we need to find out what the current fvwm
>> > needs from a parser. Than we can think about replacing commands
>> > and streamlining the syntax.
>>
>> I've never been in favor of an incompatible change not backed up
>> by an automatic conversion program. But that's just me.
>
> No, not just you, I'm not fond of breaking the existing fvwm
> syntax either. But on the other hand fvwm2 has really hit a brick
> wall in ways of extensibility. If all else fails, backwards
> compatibility can be provided as some kind of module or input
> filter.
>
>> I'm not looking to dump fvwm2. It works too well for me.
>
> It works perfectly for me too. But I wish it was easier to
> introduce new features, and I'm still dreaming about some kind of
> "database" approach to window configuration where you can just
> dump configuration into, e.g. specific to window id, resource
> pattern, class pattern, for all windows, for windows with certain
> properties etc. When a window needs information about it's style,
> a lookup in the database spits out the most specific style
> information for each style. This would be so much more
> configurable (and hence able to get funny applications under
> control) than that mess of the style logic we have now.

Easy enough to do if you're willing to accept the overhead of
reading multiple files at startup.

My borders vary by window type. I could have a file, HandleWidths
containing:

Style * HandleWidth 7
Style "sun-awt-X11-XWindowPeer" HandleWidth 0
Style "*xbiff" HandleWidth 6
Style "XSysStats" HandleWidth 6

Writing an FvwmForm or FvwmScript to update the file is trivial.

And so on, for Lenience, Key bindings, Mouse bindings.

Personally I don't need it and I'd prefer to keep my various
customizations organized by Style.

--
Dan Espen
Dominik Vogt
2014-08-18 17:05:28 UTC
Permalink
On Mon, Aug 18, 2014 at 12:39:51PM -0400, Dan Espen wrote:
> Dominik Vogt <***@gmx.de> writes:
> > It works perfectly for me too. But I wish it was easier to
> > introduce new features, and I'm still dreaming about some kind of
> > "database" approach to window configuration where you can just
> > dump configuration into, e.g. specific to window id, resource
> > pattern, class pattern, for all windows, for windows with certain
> > properties etc. When a window needs information about it's style,
> > a lookup in the database spits out the most specific style
> > information for each style. This would be so much more
> > configurable (and hence able to get funny applications under
> > control) than that mess of the style logic we have now.
>
> Easy enough to do if you're willing to accept the overhead of
> reading multiple files at startup.

But with the existing implementation you cannot do dynamic things
like the following in the core without adding new code:

* if window is in the top right corner, make the default shading
direction northeast, i.e.

Style ($[w.x] == -0 && $[w.y] == 0) DefaultShadeDirection NE

* if the window uses ewmh hints, and uses static gravity, use the
alternative resize algorithm,

* if the window is sticky, use a different coulour set for the
decorations.

Style (Sticky) Colorset <n>, HilightColorset <n+1>

This could all come mostly for free with a priority based style
database. At the moment, such features have to be hard coded
manually.

> My borders vary by window type. I could have a file, HandleWidths
> containing:
>
> Style * HandleWidth 7
> Style "sun-awt-X11-XWindowPeer" HandleWidth 0
> Style "*xbiff" HandleWidth 6
> Style "XSysStats" HandleWidth 6
>
> Writing an FvwmForm or FvwmScript to update the file is trivial.
>
> And so on, for Lenience, Key bindings, Mouse bindings.

> Personally I don't need it and I'd prefer to keep my various
> customizations organized by Style.

The user interface for this isn't affected, only the internal
representation. The user does not see the database.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Dominik Vogt
2014-08-18 12:17:46 UTC
Permalink
On Mon, Aug 18, 2014 at 12:37:37PM +0100, Michael Treibton wrote:
> On 18 August 2014 05:50, Dan Espen <***@verizon.net> wrote:
> > Brian <***@yahoo.com> writes:
> >
> >> On Sun, 17 Aug 2014 15:25:43 +0100
> >> Michael Treibton <***@googlemail.com> wrote:
> >>
> >>> On 15 August 2014 21:05, Dominik Vogt <***@gmx.de> wrote:
> >>> > I'll start a new mail thread about parsing with the prefix
> >>> > "REWRITE: " in a minute.
> >>> >
> >>> > In the mean time I've created a github user id 'domivogt' and
> >>> > cloned the mvwm repository and would be happy if you gave me push
> >>> > access so that I can start to work in topic branches there.
> >>>
> >>> Can I help in some way?
> >>>
> >>> Michael
> >>
> >> I too would like to help someway. Is there a person to send a
> >> skills resume to for review and assignment to the project?
> >> Brian Amundsen in Minnesota.
> >
> > Read this:
> >
> > http://fvwm.org/documentation/dev_cvs.php
> >
> > anyone can write and submit a patch.
>
> Thank you, Dan. I was hoping more for mvwm. I can't see how the
> instructions would be the same?

The git repository is at

git://github.com/ThomasAdam/mvwm

Just clone it and start hacking.

Ciao

Dominik ^_^ ^_^

--

Dominik Vogt
Chris Bannister
2014-08-15 11:57:50 UTC
Permalink
On Fri, Aug 15, 2014 at 12:24:03AM +0100, Thomas Adam wrote:
>
> * The mvwm name is not set in stone, it was just a crappy name from me
> differentiate it; so I'm not that hung-up on it. If it sticks, that's
> fine, if not, fvwm3, or something else suits me.

Or even twm Thomas's Window manager :)

--
"If you're not careful, the newspapers will have you hating the people
who are being oppressed, and loving the people who are doing the
oppressing." --- Malcolm X
Loading...