Re: FVWM: [Draft] New Configuration Format
On Mon, Sep 26, 2016 at 07:50:51PM -0400, Donald R Laster Jr wrote: > > As I read the comments related to the configuration file parsing maybe the > initial focus should be on unifying the parsing code itself into a single > common set of functions or library package first. As I understand it, from > the reading the posts on this subject, many of the modules have their own Modules don't change as part of this; separate problem. > So, as a 20+ plus year user of fvwm, who has been doing development for > more than 30 years, I would say the first step should be unify the parsing > code in FVWM. I use a fairly simple and straight forward configuration > for FVWM. Then look at ways to improvement the configuration file system > itself. I completely disagree there. Just that work alone means ripping up a lot of the internals to put back in-place something which doesn't address the changes I'm trying to do---namely unify the structure, and for that to happen, I'm convinced that the syntax also should change, and that's a side-effect, but a nice one. > The approach could be the 2.6.x releases be maintenance of "normal" > issues. And then the primary change for 2.7.x releases would be a unified > configuration file parsing system. I would recommend 2.7.x since from the > posts unifying the parsing code appears to be a potential complex > undertaking. Then later 2.7.x releases could support some early desirable > configuration file changes. Or once the 2.7.x parsing code is stable the > configuration file improvements could be introduced in later 2.7.x > releases, or 2.8.x could have improved configuration files. No thank you. I said long ago that there wouldn't be development happening like that again. We roll forward, and that's it. Furthermore, although your idea might work on a larger project---and more importantly---with more developers and people looking at the code, this proposal just isn't going to fly. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
As I read the comments related to the configuration file parsing maybe the initial focus should be on unifying the parsing code itself into a single common set of functions or library package first. As I understand it, from the reading the posts on this subject, many of the modules have their own parsing code. Eliminating this redundancy would be a good thing for future improvements and maintainability. And doing this first would be less likely to introduce unexpected problems. So, as a 20+ plus year user of fvwm, who has been doing development for more than 30 years, I would say the first step should be unify the parsing code in FVWM. I use a fairly simple and straight forward configuration for FVWM. Then look at ways to improvement the configuration file system itself. The approach could be the 2.6.x releases be maintenance of "normal" issues. And then the primary change for 2.7.x releases would be a unified configuration file parsing system. I would recommend 2.7.x since from the posts unifying the parsing code appears to be a potential complex undertaking. Then later 2.7.x releases could support some early desirable configuration file changes. Or once the 2.7.x parsing code is stable the configuration file improvements could be introduced in later 2.7.x releases, or 2.8.x could have improved configuration files. Don Dan Espen wrote on 09/26/2016 09:33 AM: > Ethan Raynor writes: > >> On Mon, Sep 26, 2016 at 12:13 AM, Dan Espen wrote: >>> Sounds to me like you are not subscribed to fvwm-workers. >>> If you care about things like the repository, you should subscribe. >> >> ok - I will do this. How busy is the list? > > Not very, but when the conversation turns to development issues > only, fvwm-workers@ is sometimes used without fvwm@ being included. > >>> Read the various TODO files. >> >> The only one I can see is this one - >> https://github.com/fvwmorg/fvwm/blob/master/TODO.md > > The very fact that Thomas is publishing a write up instead of > diving into changes tells me he's looking for these kinds of > comments. >
Re: FVWM: [Draft] New Configuration Format
Ethan Raynor writes: > On Mon, Sep 26, 2016 at 12:13 AM, Dan Espen wrote: >> Sounds to me like you are not subscribed to fvwm-workers. >> If you care about things like the repository, you should subscribe. > > ok - I will do this. How busy is the list? Not very, but when the conversation turns to development issues only, fvwm-workers@ is sometimes used without fvwm@ being included. >> Read the various TODO files. > > The only one I can see is this one - > https://github.com/fvwmorg/fvwm/blob/master/TODO.md That's the current file. You would have to look in older releases to see the evolution. > i confess to not completely understanding the rationale for some of > the items there. >From docs/old_info/TODO Please note that not everything on this list will be done, in particular the ones that end in '?' which are really just meant to be 'think about this and perhaps investigate'. But they are things that I didn't want to lose track of. It may periodically get out of date too... >> I'd like to see improvements in the way parsing is done >> inside fvwm. There is so much parsing code that does >> the same basic thing. A table driven approach would >> be a big improvement. >> >> If the command syntax has to change to get there, >> I'd like to understand why. > > well afaict the proposal is to rip up things more than that - why? As I said, our two most productive developers saw the need. I too remain unconvinced of the benefits. That's why development is conducted in an open forum. The very fact that Thomas is publishing a write up instead of diving into changes tells me he's looking for these kinds of comments. -- Dan Espen
Re: FVWM: [Draft] New Configuration Format
On Mon, Sep 26, 2016 at 12:13 AM, Dan Espen wrote: > Sounds to me like you are not subscribed to fvwm-workers. > If you care about things like the repository, you should subscribe. ok - I will do this. How busy is the list? > Read the various TODO files. The only one I can see is this one - https://github.com/fvwmorg/fvwm/blob/master/TODO.md i confess to not completely understanding the rationale for some of the items there. > I'd like to see improvements in the way parsing is done > inside fvwm. There is so much parsing code that does > the same basic thing. A table driven approach would > be a big improvement. > > If the command syntax has to change to get there, > I'd like to understand why. well afaict the proposal is to rip up things more than that - why? Ethan
Re: FVWM: [Draft] New Configuration Format
Ethan Raynor writes: > On Sun, Sep 25, 2016 at 11:50 PM, Dan Espen wrote: >> Yes, a number of people wanted git. >> No point in arguing against that. >> It's accepted that git out does CVS in functionality. > > But I can't recall when on the fvwm lists the pros and cons of moving. > I know that github is considered the place to be - but I've also had > some nasty encounters with it when things go bad - and other places > like bitbucket have greater resiliance - not to mention guaranteed > backups!! Sounds to me like you are not subscribed to fvwm-workers. If you care about things like the repository, you should subscribe. >> You've ruined your point about the config change by bringing in >> a bunch of irrelevant stuff. > > Not exactly, Dan. The point i'm putting across to thomas and others is > the perception of the changes - they come out of no where with any > warning. That can be a bad thing Nope. Read the various TODO files. Major parser change has been on the list a long time. In fact Thomas was not the major maintainer at the time. I'd like to see improvements in the way parsing is done inside fvwm. There is so much parsing code that does the same basic thing. A table driven approach would be a big improvement. If the command syntax has to change to get there, I'd like to understand why. -- Dan Espen
Re: FVWM: [Draft] New Configuration Format
On Sun, Sep 25, 2016 at 11:50 PM, Dan Espen wrote: > Yes, a number of people wanted git. > No point in arguing against that. > It's accepted that git out does CVS in functionality. But I can't recall when on the fvwm lists the pros and cons of moving. I know that github is considered the place to be - but I've also had some nasty encounters with it when things go bad - and other places like bitbucket have greater resiliance - not to mention guaranteed backups!! > You've ruined your point about the config change by bringing in > a bunch of irrelevant stuff. Not exactly, Dan. The point i'm putting across to thomas and others is the perception of the changes - they come out of no where with any warning. That can be a bad thing Ethan
Re: FVWM: [Draft] New Configuration Format
Ethan Raynor writes: > On Fri, Sep 23, 2016 at 1:58 PM, Lucio Chiappetti > wrote: >> On Fri, 23 Sep 2016, Thomas Adam wrote: >> >>> On Fri, Sep 23, 2016 at 12:42:14PM +0200, Lucio Chiappetti wrote: is <<< a perlism, or a typo for more customary << ? >>> >>> >>> In shell, <<< is a here-string. >> >> >> I wasn't aware of the distinction between here-documents and here-strings (I >> had to check https://en.wikipedia.org/wiki/Here_document), I've always used >> only the former. >> Does this apply to ANY occurrences which in your new scheme will use the backslash like the old AddToFunc followed by lots of + I lines ? >>> >>> >>> Yes. > > I think this is a mistake. I've read through the doc you've put out > twice, and i cannot see any compelling reason to change things. For my > purposes, the expressiveness of what's there now is an asset we should > retain - look at your proposal... > > function -n myfunc < i:athing > EOF > > what if myfunc didn't do 'athing' properly? how is that handled? > > i don't feel as though you're thinking about this properly. > > It's also a concern that we have seen: > > o fvwm stale for quite some time Fvwm is stable, not stale. > o fvwm forked to mvwm (what happened there)? A good thing that the name change hasn't occurred. > o fvwm moved to github - why? no one asked for that Yes, a number of people wanted git. No point in arguing against that. It's accepted that git out does CVS in functionality. > o fvwm website redesigned - no one asked for that The web site changed when we moved to github of necessity. PHP wasn't available. > If all these werent enough, now we've got a change of config to contend with? > > I am not pleased. You've ruined your point about the config change by bringing in a bunch of irrelevant stuff. -- Dan Espen
Re: FVWM: [Draft] New Configuration Format
On Fri, Sep 23, 2016 at 1:58 PM, Lucio Chiappetti wrote: > On Fri, 23 Sep 2016, Thomas Adam wrote: > >> On Fri, Sep 23, 2016 at 12:42:14PM +0200, Lucio Chiappetti wrote: >>> >>> is <<< a perlism, or a typo for more customary << ? >> >> >> In shell, <<< is a here-string. > > > I wasn't aware of the distinction between here-documents and here-strings (I > had to check https://en.wikipedia.org/wiki/Here_document), I've always used > only the former. > >>> Does this apply to ANY occurrences which in your new scheme will use the >>> backslash like the old AddToFunc followed by lots of + I lines ? >> >> >> Yes. I think this is a mistake. I've read through the doc you've put out twice, and i cannot see any compelling reason to change things. For my purposes, the expressiveness of what's there now is an asset we should retain - look at your proposal... function -n myfunc <
Re: FVWM: [Draft] New Configuration Format
Hi, I have been using fvwm for a while and I think that this idea of changing the config format is ill thought out and silly. Why does this need changing now after all these years? I can't see how you expect a script to convert to this new format easily - its a very lofty goal. Don't do this at all - go and do features or something people want. Why do you always try and make these sweeping changes? Ethan On Mon, Sep 19, 2016 at 1:25 PM, Thomas Adam wrote: > On Mon, 19 Sep 2016 at 12:57 Ron Tapia wrote: >> What are the >> shortcomings of the current configuration format that the new format >> addresses? > > Have another read of that document, Ron. FVWM is completely governed > by how it reads in commands, and hence at the moment, each command is > responsible for parsing its values. There's been twenty years of this > idea; organically growing out of control. Adding or even changing > existing options to commands is a nightmare; there's no state being > kept between commands (which would be good), and hence there's a lot > of the same sorts of information being gathered separately, leading to > a lot of duplication at the code-level. > > Changing the format is a great way of getting a clean break, and being > able to rationalise the commands we have now, and need; moving > functionality into other commands in an extensible way, which will > also reduce the code complexity somewhat. You can't easily do this > with the format we have now. Dominik and I have given this a lot of > thought[0] and to my mind, trying to keep with what we have is a lot > of work, more so than changing it. > > None of this precludes what we have now in terms of preprocessing, and > having other things produce a configuration file in a format FVWM can > read in. Indeed, there will be conversion scripts to handle the > transition. > > So this is coming, albeit slowly, and right now what there is are just > my ideas with the beginnings of an implementation to see what that > looks like. > > People are welcome to comment on functionality, etc., with other suggestions. > > For the rest of you saying: "It's been that way for the last X years" > need to wake up and realise that I will be making little changes as > time goes on. FVWM has laid stagnant for a long time, and it's about > time someone stepped up to the plate and helped to modernise/improve > things a little. It's boring work, it's certainly not feature > development, but if this work isn't started now, or thought about, you > won't see much more happening with FVWM since all of these > organically-grown problems need solving first. That's why we're in > the situation we are now---no one has wanted to do it, and what we > have is one big mess. > > So wake up, people. A change is on the horizon. It won't happen > overnight, but it does need to happen. > > -- Thomas Adam > > [0] https://github.com/fvwmorg/fvwm/blob/master/docs/PARSING.md >
Re: FVWM: [Draft] New Configuration Format
On Fri, 23 Sep 2016, Thomas Adam wrote: On Fri, Sep 23, 2016 at 12:42:14PM +0200, Lucio Chiappetti wrote: is <<< a perlism, or a typo for more customary << ? In shell, <<< is a here-string. I wasn't aware of the distinction between here-documents and here-strings (I had to check https://en.wikipedia.org/wiki/Here_document), I've always used only the former. Does this apply to ANY occurrences which in your new scheme will use the backslash like the old AddToFunc followed by lots of + I lines ? Yes. For me looks ok -- Lucio Chiappetti - INAF/IASF - via Bassini 15 - I-20133 Milano (Italy) For more info : http://www.iasf-milano.inaf.it/~lucio/personal.html Do not like Firefox >=29 ? Get Pale Moon ! http://www.palemoon.org
Re: FVWM: [Draft] New Configuration Format
On Fri, Sep 23, 2016 at 12:42:14PM +0200, Lucio Chiappetti wrote: > is <<< a perlism, or a typo for more customary << ? In shell, <<< is a here-string. But since the comparison we're talking about isn't the same, it's likely a typo. The semantic meaning for a configuration file has no bearing on this. > Does this apply to ANY occurrences which in your new scheme will use the > backslash like the old AddToFunc followed by lots of + I lines ? Yes. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
On Fri, 23 Sep 2016, Thomas Adam wrote: On Wed, Sep 21, 2016 at 09:26:08AM -0400, gi1242+f...@gmail.com wrote: I use FvwmPerl quite a bit ... Never used FvwmPerl nor perl, just a couple of FvwmScript, but I know here documents from shell scripting where I use them a lot. + I SendToModule perlwops eval <<< "EOF" blah EOF is <<< a perlism, or a typo for more customary << ? instead without having to worry about the backslashes. I think this is reasonable; I'll add it to the document. Thanks. Does this apply to ANY occurrences which in your new scheme will use the backslash like the old AddToFunc followed by lots of + I lines ? That would be rather nice, better than the backslashes. Thanks -- Lucio Chiappetti - INAF/IASF - via Bassini 15 - I-20133 Milano (Italy) For more info : http://www.iasf-milano.inaf.it/~lucio/personal.html Do not like Firefox >=29 ? Get Pale Moon ! http://www.palemoon.org
Re: FVWM: [Draft] New Configuration Format - Functions
On Fri, Sep 23, 2016 at 05:23:41AM -0400, Donald R Laster Jr wrote: > > When it comes to functions the cleaner format might be to use a variant of > the Bourne/Bash/"C" format such as this: I don't think so. At best you're going to get a heredoc to slurp up multiple lines. The point here is that they're structured only in terms of the command *responsible* for handling functions. I don't want to turn the format into a scripting language; this isn't the point---we *have* FvwmPerl and others which you can use. I am not proposing we augment or change the current "scripting" behaviour of FVWM either. So no more language comparisons, please. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 09:26:08AM -0400, gi1242+f...@gmail.com wrote: > One thing I wouldn't mind added is "here documents". I use FvwmPerl > quite a bit and my config is full of things like > > + I SendToModule perlwops eval \ > my ($NEWX, $WIN) = (0, undef); \ > foreach $WIN (@b) { \ > $NEWX = $WIN->{x}+$WIN->{width} \ > ... (10 more lines) > > It might make things more readable if I could do > > + I SendToModule perlwops eval <<< "EOF" > blah > EOF > > instead without having to worry about the backslashes. I think this is reasonable; I'll add it to the document. Thanks. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format - Functions
When it comes to functions the cleaner format might be to use a variant of the Bourne/Bash/"C" format such as this: function name(arg1, arg2, ... argN) { return(defaults to 0 if not specified) } White space would be irrelevant, whether tabs or spaces are used. Actual desired white space would be in "" or '' sequences as programming languages require now. Command on the same line could separated by ";" as most scripting and programming languages use. Lines could be continued with "\" if desired. Variable would be local in scope unless the InfoStoreAdd reference method is used, i.e. InfoStoreAdd xtermopts "-sb -sl 2000 -aw -rw-j -ls -fn 7x14 -fb 7x14bold" and then referenced as done now: + I exec xterm $[infostore.xtermopts] $[infostore.geo2]+0+0 & with the sequence "$[ var.name ]" sequence. And the sequence "{ }" would identify the start and ending of the function's body. The "function" keyword could be "AddFunction". An alternate format could be: AddFunction name(arg1, arg2, ... argN) return (defaults to 0 if not specified) EndFunction Where the keyword "AddFunction" defines the name of the function and list of argument references, and the keyword "EndFunction" specifies that the function end point. Or even something like this where keywords are used to define things in different method: AddFunction name FunctionArg arg1 FunctionArg arg2 . . . FunctionArg argN BeginFunction return (defaults to 0 if not specified) EndFunction The AddFunction keyword could even be extended to specify a program (i.e. perl,, php, bash, etc.) to execute the script - say using the format: AddFunction name execuute-by >From my perspective the first and second formats make more sense. Keep in mind my .fvwm2 file is pretty simple and based upon the existing default. I use a single 24x4 window paging environment. I added my .fvwm2rc file as fvwm2rc for reference. I did some cleanup formatting for the regular comments. Don John Wiggins wrote on 09/21/2016 11:31 PM: > The python method has some serious defficiencies when applied to input files > like .fvwmrc2, i.e. white space you cannot see (space vs tab) matters and > cause read errors that drive you crazy… > > IMO, the > BlockB { > line1, > line2, > line3_and_white_space_doesNotMatter, > So_This_isValid, > andSPACESORTABS_DO_NOT_MATTER} > > >> BlockB { >> line1, >> line2, >> line3, >> line4 >> } > >> On Sep 21, 2016, at 9:49 PM, elliot s wrote: >> >> << >> BlockA \ >> line1, \ >> line2, \ >> line3, \ >> line4 >> >> Is less visually appealing and can be more difficult locate errors than >> >> BlockB { >> line1, >> line2, >> line3, >> line4 >> } >> >> There's the python method of blockingusing indentation. WYSIWYG >> I was skeptical at first, but now i like it. >> >> if x: # note the : >> y=z >>a=1 >>if n: >>a=3 >>b=1 >>else: >>b = 0 >>print a,b >> print y >> > > # # # # .fvwm2rc R00-00.06 # # # # = # # # # Purpose: # # # # # # = # # # # Arguments: # # # # This file is copied to a new user's FVWM_USERDIR by FvwmForm-Setup form. # # This file contains the commands fvwm reads while starting. # # # # = # # # # Programming Notes:
Re: FVWM: [Draft] New Configuration Format
The python method has some serious defficiencies when applied to input files like .fvwmrc2, i.e. white space you cannot see (space vs tab) matters and cause read errors that drive you crazy… IMO, the BlockB { line1, line2, line3_and_white_space_doesNotMatter, So_This_isValid, andSPACESORTABS_DO_NOT_MATTER} > BlockB { > line1, > line2, > line3, > line4 > } > On Sep 21, 2016, at 9:49 PM, elliot s wrote: > > << > BlockA \ > line1, \ > line2, \ > line3, \ > line4 > > Is less visually appealing and can be more difficult locate errors than > > BlockB { > line1, > line2, > line3, > line4 > } >>> > > There's the python method of blockingusing indentation. WYSIWYG > I was skeptical at first, but now i like it. > > if x: # note the : > y=z >a=1 >if n: >a=3 >b=1 >else: >b = 0 >print a,b > print y >
Re: FVWM: [Draft] New Configuration Format
<< BlockA \ line1, \ line2, \ line3, \ line4 Is less visually appealing and can be more difficult locate errors than BlockB { line1, line2, line3, line4 } >> There's the python method of blockingusing indentation. WYSIWYG I was skeptical at first, but now i like it. if x: # note the : y=z a=1 if n: a=3 b=1 else: b = 0 print a,b print y
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 11:37:41PM +0100, Thomas Adam wrote: > On Wed, Sep 21, 2016 at 06:38:27PM -0400, lists-f...@useunix.net wrote: > > Is it different as in it gets rid of the annoying '\' characters that > > need to be at the end of every line. Unless you are saying that they > > aren't necessary? > > They're continuation markers. Lots of programs honour those when reading in > files, as does FVWM at present, so this isn't anything new, and the point of > using them is to allow people to improve readability. > > -- Thomas Adam > Understood. In my experience they only serve to enhance readability when the language processor doesn't handle processing a group of lines using block delimiters. BlockA \ line1, \ line2, \ line3, \ line4 Is less visually appealing and can be more difficult locate errors than BlockB { line1, line2, line3, line4 } Wayne
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 06:38:27PM -0400, lists-f...@useunix.net wrote: > Is it different as in it gets rid of the annoying '\' characters that > need to be at the end of every line. Unless you are saying that they > aren't necessary? They're continuation markers. Lots of programs honour those when reading in files, as does FVWM at present, so this isn't anything new, and the point of using them is to allow people to improve readability. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 11:27:47PM +0100, Thomas Adam wrote: > On Wed, Sep 21, 2016 at 06:20:50PM -0400, lists-f...@useunix.net wrote: > > Is it worth considering moving away from line-based processing for > > entities like functions? > > > > Changing the example in the document to something like: > > > > Function -n func_name > > i:DoImmediate, > > c:DoClick, > > i:DoImmediate, > > i:TestRc (NoMatch) Break, > > h:DoHold > > EndFunction > > > > Just a thought. > > That's no different to the suggestion in the document, other than you've > "regressed" back to what FVWM1.X used to do. The "EndFunction" part doesn't > add anything. > > It's only "block" based because that's what we have now, and I see no reason > why we need to retain that right now. > > -- Thomas Adam > Is it different as in it gets rid of the annoying '\' characters that need to be at the end of every line. Unless you are saying that they aren't necessary? Wayne
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 06:20:50PM -0400, lists-f...@useunix.net wrote: > Is it worth considering moving away from line-based processing for > entities like functions? > > Changing the example in the document to something like: > > Function -n func_name > i:DoImmediate, > c:DoClick, > i:DoImmediate, > i:TestRc (NoMatch) Break, > h:DoHold > EndFunction > > Just a thought. That's no different to the suggestion in the document, other than you've "regressed" back to what FVWM1.X used to do. The "EndFunction" part doesn't add anything. It's only "block" based because that's what we have now, and I see no reason why we need to retain that right now. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 07:32:53PM +0100, Thomas Adam wrote: > On Wed, Sep 21, 2016 at 09:11:51AM -0700, elliot s wrote: > > > take another look at the document, since it tells you how functions could > > > be specified. > > > > I missed seeing the example, but it was as i thought. > > A function is specified all on one line, which means adding \ on all > > but last line, > > which means having to make sure \ is on all but last line. > > A source of copy/paste/delete errors while working on a function. > > No different to how things are now, so it's not anything worth mentioning, > really. > > -- Thomas Adam > Is it worth considering moving away from line-based processing for entities like functions? Changing the example in the document to something like: Function -n func_name i:DoImmediate, c:DoClick, i:DoImmediate, i:TestRc (NoMatch) Break, h:DoHold EndFunction Just a thought. Wayne
Re: FVWM: [Draft] New Configuration Format
On Wed, Sep 21, 2016 at 09:11:51AM -0700, elliot s wrote: > > take another look at the document, since it tells you how functions could > > be specified. > > I missed seeing the example, but it was as i thought. > A function is specified all on one line, which means adding \ on all > but last line, > which means having to make sure \ is on all but last line. > A source of copy/paste/delete errors while working on a function. No different to how things are now, so it's not anything worth mentioning, really. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
> take another look at the document, since it tells you how functions could be > specified. I missed seeing the example, but it was as i thought. A function is specified all on one line, which means adding \ on all but last line, which means having to make sure \ is on all but last line. A source of copy/paste/delete errors while working on a function.
Re: FVWM: [Draft] New Configuration Format
On Wed, 21 Sep 2016, Thomas Adam wrote: Secondly, take another look at the document, since it tells you how functions could be specified. "the document", if I'm reading the right one, is just a very short sketch (3-4 pages) with some examples ... compared to the much longer man pages I studied carefully long time ago (not necessarily understanding all, specially what I was not needing at the time, and surely not remembering it all :-) ) The point is that most users (I guess, that's valid for me anyhow) would only write a full configuration file once or twice in a lifetime, and edit it less than once per year. I am also possibly even more extremist than other users, as I won't update fvwm version until I update my OS, and won't update my OS until I change my hardware (but at that moment I'M DAMN SURE I WANT TO GO ON USING FVWM). So possibly the "change in config syntax" is just "another nuisance" of the sort I will be confronting when updating version (i.e. very seldom), and I suppose I am ready to consider it a "physiological" nuisance. I am looking at my .fvwmrc (refurbished in 2015, using fvwm 2.5.26 under openSUSE 11.3), the one referred to near the end of http://sax.iasf-milano.inaf.it/~lucio/WWW/Opinions/window.html, and I see I use the following sort of items - Desktop characteristics (name and size) - general characteristics inherite from something (I do understand ColormapFocus FollowsFocus or ImagePath and forgot why the rest) - Color sets (and FvwmBacker) - general Styles (Style *) - Styles for my modules and applications - some event handlers (DestroyModuleConfig and recreation) and associated functions - the big thing, the StartFunction which starsts applications and modules with some associated functions - my window menus with some associated functions - my root menu and some other menus (including some inherited stuff like for FvwmWinList - the definition of a button box and pager, of a task bar etc, inclusive of some usage of FvwmCommand, SendToModule, FvwmScript - the key and mouse bindings and some accelerators Now for some of those items (typically those fitting on one line) I understand the matter is a change of syntax of the arguments. What I consider a "physiological nuisance". It is less clear to me what I should do to update things which are multiline like AddToFunc +I ... or ModuleConfig or FVwmScripts or event handlers (the ones I understand less). But I guess I will confront with them in due time. Next hardware change if I wait long enough that "new fvwm" is ready by then, or even second next if I change earlier :-) -- Lucio Chiappetti - INAF/IASF - via Bassini 15 - I-20133 Milano (Italy) For more info : http://www.iasf-milano.inaf.it/~lucio/personal.html Do not like Firefox >=29 ? Get Pale Moon ! http://www.palemoon.org
Re: FVWM: [Draft] New Configuration Format
On Mon, Sep 19, 2016 at 02:31:34PM -0700, elliot s wrote: > What would be an example of what a user defined function looks like? > That's where most of the "needs easy reading and editing" happens. > Also, i would have a space between option and value. > So -f red, not -fred (who's fred, and what's he doing in my rc file?) > So "-fred" versus "-f red" is a facet of how getopt() works, and has no bearing on how you specify the option with the value. You can write it either way. Secondly, take another look at the document, since it tells you how functions could be specified. -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
What would be an example of what a user defined function looks like? That's where most of the "needs easy reading and editing" happens. Also, i would have a space between option and value. So -f red, not -fred (who's fred, and what's he doing in my rc file?)
Re: FVWM: [Draft] New Configuration Format
On Mon, Sep 19, 2016 at 05:03:47PM -0400, Stephen Dennison wrote: > > > > You can find the draft at: > > https://github.com/fvwmorg/fvwm/blob/ta/new-config-format/ > > docs/NEW-CONFIG.md > > > > > I read through the draft a bit, below are my questions/comments. > > For parsing compatibility, perhaps a special command, comment, or token to > indicate which format is being used so that FVWM (and humans) need not > guess? Doubtful. We don't do that for FVWM right now, and indeed, any changes would presumably happen through conversion scripts as they do now. Not to mention, as the configuration file is line-based, any "version" token would have to be embedded on every line. > Will there be a way to have fvwm yield it's current configuration while > it's running? If you're going through the effort of redoing the > configuration parser, this seems like a great time to do this and it would > be a huge motivator for using the new syntax. Yup. > I'm trying to make sense of the use of comma in the -w option. It's not > very mini-CLI of it. Why not allow the -w option to be specified more than Well, separating out -w wouldn't make the effect cumulative, which is what I'm trying to demonstrate. Note also that the CLI-like syntac is just that---in the style of, and there's many instances of commands in the wild which have similar comma-separate examples (sort(1)). > Do you plan support actual string names of colorsets or are you just sort > of shoehorning the -n name for the number? It's all the same to mE > The values passed to -t in those focus commands has me confused. Above, > something else that had -t used the format screen:desk.page but this > doesn't appear to apply to the Focus command. Could you more explicitly > describe this? I'll update the document. Thanks! -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
Thomas Adam writes: > On Mon, Sep 19, 2016 at 04:44:25PM -0400, Dan Espen wrote: >> Yes. >> >> I tried to bring up the subject of readability. > > OK. Specifically? New vs. Old: Colorset -n1 -b red -f red Colorset 1 bg red, fg red One is easy to read, write, and remember. The other isn't. I'm not seeing the advantage. -- Dan Espen
Re: FVWM: [Draft] New Configuration Format
On Mon, Sep 19, 2016 at 04:44:25PM -0400, Dan Espen wrote: > Yes. > > I tried to bring up the subject of readability. OK. Specifically? -- Thomas Adam
Re: FVWM: [Draft] New Configuration Format
Thomas Adam writes: > On Mon, Sep 19, 2016 at 03:16:46PM -0400, gi1242+f...@gmail.com wrote: >> On Mon, Sep 19, 2016 at 11:05:23AM -0700, elliot s wrote: >> >> > If a conversion script can convert the current rc file to a code >> > friendly format, can a front end parser do that instead, so that we >> > keep the current user friendly format? >> >> Usually conversion scripts aren't perfect, so I don't know how workable >> this is. >> >> But let me also add my two cents and desperately plead for backward >> compatibility. Or at least a conversion script that is pretty pretty >> good. > > Yes, yes, conversion script(s). There'll be something to ensure people can > start from a known point and potentially not have to learn anything new as > well if they don't want to. Ignorance through continuity has benefits... > > Can we move on to some other point of discussion now? Yes. I tried to bring up the subject of readability. (Warning, trimmed "To:" back to fvwm.org.) -- Dan Espen
Re: FVWM: [Draft] New Configuration Format
On Mon, 19 Sep 2016 at 12:57 Ron Tapia wrote: > What are the > shortcomings of the current configuration format that the new format > addresses? Have another read of that document, Ron. FVWM is completely governed by how it reads in commands, and hence at the moment, each command is responsible for parsing its values. There's been twenty years of this idea; organically growing out of control. Adding or even changing existing options to commands is a nightmare; there's no state being kept between commands (which would be good), and hence there's a lot of the same sorts of information being gathered separately, leading to a lot of duplication at the code-level. Changing the format is a great way of getting a clean break, and being able to rationalise the commands we have now, and need; moving functionality into other commands in an extensible way, which will also reduce the code complexity somewhat. You can't easily do this with the format we have now. Dominik and I have given this a lot of thought[0] and to my mind, trying to keep with what we have is a lot of work, more so than changing it. None of this precludes what we have now in terms of preprocessing, and having other things produce a configuration file in a format FVWM can read in. Indeed, there will be conversion scripts to handle the transition. So this is coming, albeit slowly, and right now what there is are just my ideas with the beginnings of an implementation to see what that looks like. People are welcome to comment on functionality, etc., with other suggestions. For the rest of you saying: "It's been that way for the last X years" need to wake up and realise that I will be making little changes as time goes on. FVWM has laid stagnant for a long time, and it's about time someone stepped up to the plate and helped to modernise/improve things a little. It's boring work, it's certainly not feature development, but if this work isn't started now, or thought about, you won't see much more happening with FVWM since all of these organically-grown problems need solving first. That's why we're in the situation we are now---no one has wanted to do it, and what we have is one big mess. So wake up, people. A change is on the horizon. It won't happen overnight, but it does need to happen. -- Thomas Adam [0] https://github.com/fvwmorg/fvwm/blob/master/docs/PARSING.md