Re: COVID-19: Hope everyone's well

2020-03-21 Thread Dominik Vogt
On Sat, Mar 21, 2020 at 03:20:06PM +, Thomas Adam wrote:
> Just emailing to check that everyone's OK and not suffering too much at the
> moment.  I know different countries are largely doing the same things as one
> another -- and I'm working from home for the foreseeable.

I'm fine, working from home for the forseeable future.

Things are a bit strange in Germany.  Hopefully people hav
understood the severity of the current situation now.

Keep well and fit everybody, as we now say in Germany.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt



Re: Request to increase 1024 char/line limit in read.c

2018-03-05 Thread Dominik Vogt
On Mon, Mar 05, 2018 at 11:57:27AM +, Thomas Adam wrote:
> Hi,
> 
> On Mon, Mar 05, 2018 at 04:38:08AM +0100, Stefan Blachmann wrote:
> > Hi fvwm-workers,
> > 
> > the 1024 char limit in the read line buffer in fvwm/read.c has become too 
> > small.
> > This caused a breakage in my MissingSubmenuFunction menu generator
> > after after addition of programs + update; the Popup did not display.
> > 
> > Could the buffer be extended to, say, 4096 chars?
> 
> We'd be chasing stack limits if we do this.
> 
> I'd much rather see that fgets() loop replaced with fparseln() instead, which
> would also solve this problem indefinitely.

The reson for commnd line limitation is mostly the size limit of
pipes (pipereas command and module communication).  In the past we
used the largest value that every system guaranteed to support
(256) and then increased that to 1024 at some time.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [robert.j.nat...@baesystems.com: RE: FVWM Code License]

2018-03-02 Thread Dominik Vogt
On Fri, Mar 02, 2018 at 08:33:20PM +, Thomas Adam wrote:
> On Tue, Feb 13, 2018 at 11:19:41PM +0100, Dominik Vogt wrote:
> > On Mon, Feb 12, 2018 at 02:14:57PM +, Thomas Adam wrote:
> > > Well, this is good news!  Apologies for bouncing this between fvwm@ and
> > > fvwm-workers@.
> > > 
> > > If no one objects, I'll go ahead an start making the relevant changes?
> > 
> > Good.  With the extra clauses gone, things get easier - go ahead.
> 
> So, I've started this here:
> 
> https://github.com/fvwmorg/fvwm/commit/7274b020a4dfec4adcc5317f557605b006bce085.diff
> 
> However, we're not out of the woods yet, as there's the following
> complications:
> 
> libs/Picture.c:
> libs/PictureBase.c:
> 
> /*
>  * Copyright 1996, Romano Giannetti. No guarantees or warantees or anything
>  * are provided or implied in any way whatsoever. Use this program at your
>  * own risk. Permission to use this program for any purpose is given,
>  * as long as the copyright is kept intact.
>  *
>  * Romano Giannetti - Dipartimento di Ingegneria dell'Informazione
>  *via Diotisalvi, 2  PISA
>  * mailto:rom...@iet.unipi.it
>  * http://www.iet.unipi.it/~romano
>  *
>  */
> 
> modules/FvwmBacker/FvwmBacker.c:
> modules/FvwmBacker/FvwmBacker.h:
> 
> /*  Copyright 1994,  Mike Finger (mfin...@mermaid.micro.umn.edu or
>  *   mike_fin...@atk.com)
>  */
> /* Robert Nation and Nobutaka Suzuki */
> 
> modules/FvwmIdent/FvwmIdent.c:
> 
> /* Copyright 1994, Robert Nation and Nobutaka Suzuki. */
> 
> 
> So I need to track down these additional people as well before I can remove
> the full clause.

I think in all these cases it is enough to move the copyright
notice to the COPYING file (it also has a copyright section).
After all, the copyright does not go away if the copyright notice
is removed.  Rob's clauses were problematic because they
specifically required to be kept intact.

When that work is done, I'll backport the patches to the old
stable branch.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [robert.j.nat...@baesystems.com: RE: FVWM Code License]

2018-02-13 Thread Dominik Vogt
On Mon, Feb 12, 2018 at 02:14:57PM +, Thomas Adam wrote:
> Well, this is good news!  Apologies for bouncing this between fvwm@ and
> fvwm-workers@.
> 
> If no one objects, I'll go ahead an start making the relevant changes?

Good.  With the extra clauses gone, things get easier - go ahead.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Stopping to use Github / Don't push to Github(!!)

2017-06-10 Thread Dominik Vogt
On Sat, Jun 10, 2017 at 07:41:24PM +0100, Thomas Adam wrote:
> On Wed, Apr 12, 2017 at 08:47:15PM +0100, Dominik Vogt wrote:
> > I don't see how this is fixable without either removing all of
> > Rob's code or changing Github's terms and conditions.  I see no
> > problems between D.4 and D.5 and the GPL though.
> 
> Gitlab might be an option, but that would require me to set the infrastructure
> up there again -- something I'm not willing to do at all.  Frankly, we lose
> more than we gain.

I'm not crazy about switching either.

> The other option we have is contacting Rob Nation and asking him if he's happy
> for his terms to change.  I would be *amazed* if there's much of any of his
> original code left to such an extent where his original copyright notice even
> means anything, not to mention, it was written such a long time ago as well.
> 
> I can certainly try and contact him.

Good idea, please do.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Sometimes windows remain after the process has died.

2017-04-27 Thread Dominik Vogt
On Thu, Apr 27, 2017 at 05:00:33PM -0600, Jaimos Skriletz wrote:
> On Thu, Apr 27, 2017 at 4:21 PM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > On Thu, Apr 27, 2017 at 11:04:14AM -0600, Jaimos Skriletz wrote:
> >> Sometimes when a process stops the window will remain open until some
> >> event is triggered in fvwm (in my test I use FvwmIdent) in which fvwm
> >> will remove the window.
> >
> > That is not possible unless either
> > ...
> 
> The process do not appear in 'ps fax' and the script outputs [Done] on
> all the jobs that were run in the background in the shell, so this is
> not the case.
> 
> >  2) the X server has a bug,
> 
> This does seem to be the case. The user and myself both tested this
> running an xsession with only an xterm. We could not reproduce it with
> only running an xterm.
> 
> I decided to test another window manager, openbox in this case, and
> was able to reproduce the issue in openbox. So it seems to be some bug
> with how the xserver but may require a window manager to trigger it.

I wonder what that trigger could be.  If the window can be moved,
fvwm is communicating with the X server in both directions, so if
a destroy event was pending it should have been delivered to fvwm
before any mouse motion events.  Maybe the X server itself has
destroyed the window internally but not yet sent the event for
some reason, and does so only when some request for that window is
issued.  (Moving the fvwm window does not move the client window
directly but the frame.)

If you type "xsync" in FvwmConsole, does that kill the window?
(This forces all pending requests and events to be delivered in
both directions.)  My guess is that it doesn't, i.e. no event is
pending.

> In all cases trying to get any info from the xserver closes the
> windows. I have tried xprop, xwinfo and even just xdpyinfo and xvinfo
> will close all the windows that were left open when running that
> command.

Does it also kill the window to request information from a
different (non-zombie) window?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Sometimes windows remain after the process has died.

2017-04-27 Thread Dominik Vogt
On Thu, Apr 27, 2017 at 11:04:14AM -0600, Jaimos Skriletz wrote:
> Sometimes when a process stops the window will remain open until some
> event is triggered in fvwm (in my test I use FvwmIdent) in which fvwm
> will remove the window.

That is not possible unless either

 1) the process is not really dead,
 2) the X server has a bug,
 3) fvwm does not destroy the frame after the window has gone.

I've spent lots of time to get rid of any cases of #3, and what
you describe does not sound like "empty frame remains".

> The following script was provided by the user which launches and
> closes a large number of xterms. When running this script some of the
> xterm windows will remain even though the process is no longer
> running.
> 
> On Wed, Apr 26, 2017 at 6:13 PM, Vincent Lefevre <vinc...@vinc17.net> wrote:
> > Simpler test case:
> >
> > 
> > #!/bin/sh
> >
> > n=${1:-200}
> > n=$((n+0))
> >
> > for i in `seq $n`; do xterm -geometry 80x24+$((2*i))+$((2*i)) -e true & done
> >
> > wait
> > 

That's how I've tested that the frame always gets removed.

> After this script ends a few windows remain and can be moved,
> iconified, shaded, resized. But if you run FvwmIdent something is
> triggered which removes all the affected windows.
> 
> I was not able to reproduce this on my main machine (though rarely I
> would have a window stick around for a second or two before it was
> removed, most weren't even drawn), but I was able to reproduce this
> with the default config on both the debian 2.6.7-3 package and the
> master branch from git inside a virtual machine.

Maybe it's a problem with the X server in a virtual machine?  I
don't have such a setup to test that, but it doesn't happen on a
plain X server with or without config and neither in Xnest for me.


Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Stopping to use Github / Don't push to Github(!!)

2017-04-12 Thread Dominik Vogt
On Wed, Apr 12, 2017 at 09:24:45AM +0100, Thomas Adam wrote:
> On Wed, Apr 12, 2017 at 09:48:30AM +0200, Christoph Fritz wrote:
> > On Thu, 2017-03-09 at 13:55 +0100, Dominik Vogt wrote:
> > > There is a discussion about Github's new terms of service which may
> > > not be compatible with the Gpl:
> > > https://www.mirbsd.org/permalinks/wlog-10_e20170301-tg.htm
> > > 
> > > I didn't have time to read the new terms yet, but it is possible
> > > that we need to remove all fvwm repositories from Github.  The
> > > most important thing right now is to *not* *push* *anything* to
> > > Github until we've decided about this issue, because by continuing
> > > to use Github, the new terms of service are automatically accepted.
> > 
> > out of curiosity: Are there any updates on this?
> 
> Storm in a tea cup, really:
> 
> http://www.fsf.org/blogs/licensing/do-githubs-updated-terms-of-service-conflict-with-copyleft

No that's not correct.  D.7 conflicts with this:

  /*
   * This module is all original code
   * by Rob Nation
   * Copyright 1993, Robert Nation
   * You may use this code for any purpose, as long as the original
   * copyright remains in the source code and all documentation
   */

D.7

  To the extent such an agreement is not enforceable by applicable
  law, you grant GitHub a nonexclusive, revocable, worldwide,
  royalty-free right to (1) use the Content without attribution
  strictly as necessary to render the Website and provide the
  Service; ...

I don't see how this is fixable without either removing all of
Rob's code or changing Github's terms and conditions.  I see no
problems between D.4 and D.5 and the GPL though.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Stopping to use Github / Don't push to Github(!!)

2017-03-09 Thread Dominik Vogt
There is a discussion about Github's new terms of service which may
not be compatible with the Gpl:
https://www.mirbsd.org/permalinks/wlog-10_e20170301-tg.htm

I didn't have time to read the new terms yet, but it is possible
that we need to remove all fvwm repositories from Github.  The
most important thing right now is to *not* *push* *anything* to
Github until we've decided about this issue, because by continuing
to use Github, the new terms of service are automatically accepted.

Ciao

Dominik ^_^  ^_^



[fvwmorg/fvwm] d89af5: Fix "--" bindings.

2017-03-02 Thread Dominik Vogt
  Branch: refs/heads/fvwm2-stable
  Home:   https://github.com/fvwmorg/fvwm
  Commit: d89af5d26a27e52ba86e529fbde02a26533c2d84
  
https://github.com/fvwmorg/fvwm/commit/d89af5d26a27e52ba86e529fbde02a26533c2d84
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M fvwm/bindings.c

  Log Message:
  ---
  Fix "--" bindings.


  Commit: b7dfb7bad58c51470615b6479ab2d3a70f387e10
  
https://github.com/fvwmorg/fvwm/commit/b7dfb7bad58c51470615b6479ab2d3a70f387e10
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M ChangeLog

  Log Message:
  ---
  ChangeLog.


  Commit: 65007a8f70e09eadb4e20d1fb3d083f268c3df9b
  
https://github.com/fvwmorg/fvwm/commit/65007a8f70e09eadb4e20d1fb3d083f268c3df9b
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS


Compare: https://github.com/fvwmorg/fvwm/compare/47e634b66324...65007a8f70e0


Re: fvwm 2.6.x title vs icon title bug

2017-03-01 Thread Dominik Vogt
On Thu, Mar 02, 2017 at 12:00:08AM +0700, ?? wrote:
> On 01.03.2017 23:38, Dominik Vogt wrote:
> >On Wed, Mar 01, 2017 at 04:20:29PM +0100, Dominik Vogt wrote:
> >>On Sat, Feb 18, 2017 at 11:35:48AM +0700, ?? wrote:
> >>>With both fvwm 2.6.5 and latest 2.6.7 I experience a bug when icon
> >>>of the window of some apps keeps a previously set title. For
> >>>example:
> >>>- Normal window has title AND icon title "title", which is correct
> >>>according to FvwmIdent,
> >>>- After Iconify, icon title appears as some default name of the
> >>>application, or "title".
> >>>- Deiconifying it again, and making app change title to "title
> >>>(new)". Both title and icon title are correct and shown as "title
> >>>(new)" according to FvwmIdent.
> >>>- Iconifying it again, and icon is named "title" (if there was some
> >>>default app name, it changes to this previously set name).
> >>>- Deiconifying it again, and making app change title to "new title".
> >>>Again, both title and icon title is correct per FvwmIdent.
> >>>- Iconifying it again, and I see icon name set to "title (new)".
> >>>
> >>>This issue happens only with some apps. Namely, I think all FOX
> >>>toolkit apps are affected (for me they are Xfe, Xfw, Adie).
> >>>
> >>>On forums http://fvwmforums.org/phpBB3/viewtopic.php?f=6=3204 I
> >>>was directed to mailing list thread
> >>>http://www.mail-archive.com/fvwm-workers@fvwm.org/msg03213.html,
> >>>which gave me an idea that setting IconTitleFormat to %i and
> >>>TitleFormat to %n separately may work. Indeed this worked and solved
> >>>my issue I described.
> >>
> >>I'm working on the problem.
> >
> >Can you please try the fix on the master branch in Git?
> >
> 
> I removed temporaries related to this issue from my .fvwm2rc and
> tested a patch with 2.6.7. I can say the issue is gone fully. I will
> notify if there will be regressions related to this.

Good.  I'll push the patch onto the stable branch.

One thing I'm not quite sure about; before that patch that added
TitleFormat and IconTitleFormat in 2008, what did fvwm show as the
icon title?  Was it the icon name or the window title?  Now it's
the icon name, but was it the same before that patch?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



[fvwmorg/fvwm] bc685f: Fix updating window and icon titles.

2017-03-01 Thread Dominik Vogt
  Branch: refs/heads/fvwm2-stable
  Home:   https://github.com/fvwmorg/fvwm
  Commit: bc685fd15f2f2f1064347f0ae1cfc19560ef9de4
  
https://github.com/fvwmorg/fvwm/commit/bc685fd15f2f2f1064347f0ae1cfc19560ef9de4
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M fvwm/add_window.c
M fvwm/add_window.h
M fvwm/events.c
M fvwm/ewmh_names.c
M fvwm/session.c
M fvwm/style.h
M fvwm/update.c
M libs/defaults.h

  Log Message:
  ---
  Fix updating window and icon titles.

With the introduction of the TitleFormat and IconTitleFormat styles, a change
of the window or icon name could affect both titles.  The existing code did not
reflect this and a change in the icon name might not be visible in the window
title and vice versa.  The patch cleans up and unifies handling of changes of
the window and icon names and fixes this problem.

Also, the said patch simply set the default IconTitleFormat to the same as
TitleFormat, so the icon name would never be used anyway.  This commit replaces
the default IconTitleFormat with "%i" instead.


  Commit: af8c4580b9d7f54798ebd251eda3bf232a63f1f6
  
https://github.com/fvwmorg/fvwm/commit/af8c4580b9d7f54798ebd251eda3bf232a63f1f6
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M ChangeLog

  Log Message:
  ---
  ChageLog.


  Commit: 47e634b66324df8fb9acd235fefa40b7be76fee5
  
https://github.com/fvwmorg/fvwm/commit/47e634b66324df8fb9acd235fefa40b7be76fee5
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS


Compare: https://github.com/fvwmorg/fvwm/compare/b57836af68bc...47e634b66324


[fvwmorg/fvwm] 5df54f: Fix "--" bindings.

2017-03-01 Thread Dominik Vogt
  Branch: refs/heads/dv/devel
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 5df54fcf24d2488f4ba82acd92412df85d2a60b3
  
https://github.com/fvwmorg/fvwm/commit/5df54fcf24d2488f4ba82acd92412df85d2a60b3
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M fvwm/bindings.c

  Log Message:
  ---
  Fix "--" bindings.


  Commit: f6c69f52e643f3d6a8b7cc3643c3962c875b4f1d
  
https://github.com/fvwmorg/fvwm/commit/f6c69f52e643f3d6a8b7cc3643c3962c875b4f1d
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS


Compare: https://github.com/fvwmorg/fvwm/compare/ffe942d66cdb...f6c69f52e643


Re: FvwmIconMan still sometimes triggers Hint Warnings

2017-03-01 Thread Dominik Vogt
On Wed, Mar 01, 2017 at 07:18:11AM -0700, Jaimos Skriletz wrote:
> On Wed, Mar 1, 2017 at 5:30 AM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > On Tue, Feb 28, 2017 at 10:22:33PM -0700, Jaimos Skriletz wrote:
> >> On Mon, Feb 27, 2017 at 11:10 PM, Jaimos Skriletz
> >> <jaimosskril...@gmail.com> wrote:
> >> > Hello,
> >> >
> >> > FvwmIconMan still reports Hint warnings even with the patchs applied.
> >>
> >> I wrote this small patch that has FvwmIconMan wait until the window
> >> has resized to set the window hints. This is in the lines of Dominik
> >> Vogt's patch, but waits until FvwmIconMan has fully resized to run
> >> fix_manager_size() to set the window hints. My tests here no longer
> >> seem to tiger the warnings like it still sometimes did.
> >>
> >> As an additional thought, talking to Thomas Adam about the patch in
> >> #fvwm, he mentioned that the issue is more FVWM being overly cautious
> >> and the fix should be in how fvwm handles size hint warnings over
> >> working with FvwmIconMan to avoid triggering them.
> >>
> >
> > So, if it's not possible to completely fix FvwmIconMan in a decent
> > way, what do we do with the warning?  I'd rather not disable it,
> > but the number of false positives is too high.  One could make a
> > style that disables the warning for a certain class of windows,
> > but that would probably be used as "style * ...", disabling the
> > warning for everything.  :-/
> >
> 
> FvwmIconMan isn't the only application that triggers these warnings,
> but using it in a situation where it grows/shrinks is a very regular
> way to cause the warnings and it fills up .xsession-error with mostly
> warnings. Other applications I use only trigger these warnings rarely,
> and in each case the application appears to work fine so yet more
> false positives. But FvwmIconMan is the only one that regularly
> resizes itself triggering the warning a lot.

Of course.  Flooding the log was not the intention of the patch.

> I had two ideas on this, one is use a BugOpts option that can turn on
> these warnings for a user who wants to debug things, but they are off
> by default. This is basically your style idea and the affect will be
> almost everywhere these warnings will not appear and thus may miss out
> on programs that actually need to be reported.

Yes, but defaulting to "off" makes the warning effectively useless.

> Another is maybe don't have fvwm jump to conclusions that there is a
> warning.

Let me rephrase that:  Fvwm informs the user about something that
might not be possible to clean up.  In such a situation the user
would see that the window did not get resized as intended and has
no clue why.  At least, fvwm has told her that something strange
was going on.

> What if there was some timer that fvwm gave the application
> to fix itself before reporting a warning, and then the warning is not
> just that the window had this inconstant state which seems to give
> false positives, but it has been inconsistent for a set amount of time
> without fixing itself.

Too complex stuff for such a simple situation.  Maybe one could
peek the event queue for an event that fixes the windows's size
and not complain if such an event is already pending?  Another
option is to generate only a limited number of these warning for
each window.

Does the attached patch improve the situation?

> Anyways, for those of us who use FvwmIconMan as a growing/shrinking
> standalone module, this patch drastically reduces the amount of
> warnings, but I agree it really doesn't seem like the way to deal with
> this issue to make applications have to add these waits to deal with
> resizing both the window and the size hints.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt
>From 8f74a2e6f1f0e059e9d1e073bace15a33dd2c016 Mon Sep 17 00:00:00 2001
From: Dominik Vogt <dominik.v...@gmx.de>
Date: Wed, 1 Mar 2017 17:24:13 +0100
Subject: [PATCH] Try to fix FvwmIconMan warnings.

---
 fvwm/events.c |9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/fvwm/events.c b/fvwm/events.c
index 980ccab..a7d41d0 100644
--- a/fvwm/events.c
+++ b/fvwm/events.c
@@ -3627,6 +3627,10 @@ ICON_DBG((stderr, "hpn: icon changed '%s'\n", fw->name.name));
 		break;
 	}
 	case XA_WM_NORMAL_HINTS:
+	{
+		int do_check;
+		XEvent dummy;
+
 		/* just mark wm normal hints as changed and look them up when
 		 * the next ConfigureRequest w/ x, y, width or height set
 		 * arrives. */
@@ -3641,8 +3645,11 @@ ICON_DBG((stderr, "hpn: icon changed '%s'\n", fw->name.name));
 		 * Note that SET_HAS_NEW_WM_NORMAL_HINTS being set here to
 		 * true is still valid.
 		 */
-		GetWindowSizeHintsWithCheck(fw, 1);
+		do_check = !FCheckTypedWindowEvent(
+			dpy, FW_W(fw), ConfigureRequest, );
+		GetWindowSizeHintsWithCheck(fw, do_check);
 		break;
+	}
 	default:
 		if (te->xproperty.atom == _XA_WM_PROTOCOLS)
 		{
-- 
1.7.10.4



[fvwmorg/fvwm] 3bad8f: Add "J" function actions (late immediate).

2017-03-01 Thread Dominik Vogt
  Branch: refs/heads/master
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 3bad8f5e61a9ac1a9e510fe085f69fbbb348fd3c
  
https://github.com/fvwmorg/fvwm/commit/3bad8f5e61a9ac1a9e510fe085f69fbbb348fd3c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M doc/commands/AddToFunc.xml
M fvwm/functions.c

  Log Message:
  ---
  Add "J" function actions (late immediate).

This works like "I" but is executed later (once), when the user
starts interacting with the function, e.g. on the first button
release or if the pointer moves (and the function uses "M").  This
can be used to write an "escalating" close function that runs
on the first button release:

  AddToFunc CloseOrDestroy
  + J Close
  + D Destroy

Run "Close" immediately (but not right when the button is pressed)
and follow up with a Destroy in case of a double click.  Compared
to the normal "+ C Close" this avoids the double click delay
before the action is triggered.


  Commit: ffe942d66cdb1a24d761d9e89c1a4dab49f2400c
  
https://github.com/fvwmorg/fvwm/commit/ffe942d66cdb1a24d761d9e89c1a4dab49f2400c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M fvwm/add_window.c
M fvwm/add_window.h
M fvwm/events.c
M fvwm/ewmh_names.c
M fvwm/session.c
M fvwm/style.h
M fvwm/update.c
M libs/defaults.h

  Log Message:
  ---
  Fix updating window and icon titles.

With the introduction of the TitleFormat and IconTitleFormat styles, a change
of the window or icon name could affect both titles.  The existing code did not
reflect this and a change in the icon name might not be visible in the window
title and vice versa.  The patch cleans up and unifies handling of changes of
the window and icon names and fixes this problem.

Also, the said patch simply set the default IconTitleFormat to the same as
TitleFormat, so the icon name would never be used anyway.  This commit replaces
the default IconTitleFormat with "%i" instead.


Compare: https://github.com/fvwmorg/fvwm/compare/fa8125cec830...ffe942d66cdb


[fvwmorg/fvwm] 3bad8f: Add "J" function actions (late immediate).

2017-03-01 Thread Dominik Vogt
  Branch: refs/heads/dv/devel
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 3bad8f5e61a9ac1a9e510fe085f69fbbb348fd3c
  
https://github.com/fvwmorg/fvwm/commit/3bad8f5e61a9ac1a9e510fe085f69fbbb348fd3c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M doc/commands/AddToFunc.xml
M fvwm/functions.c

  Log Message:
  ---
  Add "J" function actions (late immediate).

This works like "I" but is executed later (once), when the user
starts interacting with the function, e.g. on the first button
release or if the pointer moves (and the function uses "M").  This
can be used to write an "escalating" close function that runs
on the first button release:

  AddToFunc CloseOrDestroy
  + J Close
  + D Destroy

Run "Close" immediately (but not right when the button is pressed)
and follow up with a Destroy in case of a double click.  Compared
to the normal "+ C Close" this avoids the double click delay
before the action is triggered.


  Commit: ffe942d66cdb1a24d761d9e89c1a4dab49f2400c
  
https://github.com/fvwmorg/fvwm/commit/ffe942d66cdb1a24d761d9e89c1a4dab49f2400c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
M fvwm/add_window.c
M fvwm/add_window.h
M fvwm/events.c
M fvwm/ewmh_names.c
M fvwm/session.c
M fvwm/style.h
M fvwm/update.c
M libs/defaults.h

  Log Message:
  ---
  Fix updating window and icon titles.

With the introduction of the TitleFormat and IconTitleFormat styles, a change
of the window or icon name could affect both titles.  The existing code did not
reflect this and a change in the icon name might not be visible in the window
title and vice versa.  The patch cleans up and unifies handling of changes of
the window and icon names and fixes this problem.

Also, the said patch simply set the default IconTitleFormat to the same as
TitleFormat, so the icon name would never be used anyway.  This commit replaces
the default IconTitleFormat with "%i" instead.


  Commit: 3ecfb3d3080a34507840d427d7ae32d0dd847f39
  
https://github.com/fvwmorg/fvwm/commit/3ecfb3d3080a34507840d427d7ae32d0dd847f39
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2017-03-01 (Wed, 01 Mar 2017)

  Changed paths:
A fvwm/ChangeLog
A libs/ChangeLog

  Log Message:
  ---
  ChangeLog.


Compare: https://github.com/fvwmorg/fvwm/compare/5c75103c1224...3ecfb3d3080a


Re: FvwmIconMan still sometimes triggers Hint Warnings

2017-03-01 Thread Dominik Vogt
On Tue, Feb 28, 2017 at 10:22:33PM -0700, Jaimos Skriletz wrote:
> On Mon, Feb 27, 2017 at 11:10 PM, Jaimos Skriletz
> <jaimosskril...@gmail.com> wrote:
> > Hello,
> >
> > FvwmIconMan still reports Hint warnings even with the patchs applied.
> 
> I wrote this small patch that has FvwmIconMan wait until the window
> has resized to set the window hints. This is in the lines of Dominik
> Vogt's patch, but waits until FvwmIconMan has fully resized to run
> fix_manager_size() to set the window hints. My tests here no longer
> seem to tiger the warnings like it still sometimes did.
> 
> As an additional thought, talking to Thomas Adam about the patch in
> #fvwm, he mentioned that the issue is more FVWM being overly cautious
> and the fix should be in how fvwm handles size hint warnings over
> working with FvwmIconMan to avoid triggering them.
> 
> I don't know enough about the issue to say which is more appropriate,
> but here is a patch that stops the warnings from being triggered in my
> tests.

Changing window geometry and hints has inherent race conditions by
design of the X protocol, unless every change is synchronized with
the server, and even then it's impossible to avoid some
inconsistencies.  For example, there is no way to change the
window size and the requested min/max size in one atomic action.

Even more, there are lots of applications that set invalid hints
or in an ambigouos way.  The window manager has to guess the
apllication's intention in such cases.  A while ago I've started
adding more warnings to Fvwm in order to better identify such
situations, but this specific one has too many false positives.
Patching the application to wait for something happening is
definitely the wrong approach, not just because it is inefficient
but because there is no guarantee that the window manager ever
honours such requests.

So, if it's not possible to completely fix FvwmIconMan in a decent
way, what do we do with the warning?  I'd rather not disable it,
but the number of false positives is too high.  One could make a
style that disables the warning for a certain class of windows,
but that would probably be used as "style * ...", disabling the
warning for everything.  :-/

> From 227d7ea2597ec3fec304c53934fcc41773ab7e89 Mon Sep 17 00:00:00 2001
> From: Jaimos Skriletz <jaimosskril...@gmail.com>
> Date: Tue, 28 Feb 2017 17:43:12 -0700
> Subject: [PATCH 1/1] Wait until FvwmIconMan is resized to set window HINTS
> 
> ---
>  modules/FvwmIconMan/xmanager.c | 10 ++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/modules/FvwmIconMan/xmanager.c b/modules/FvwmIconMan/xmanager.c
> index 58eaaedc..b4efe890 100644
> --- a/modules/FvwmIconMan/xmanager.c
> +++ b/modules/FvwmIconMan/xmanager.c
> @@ -439,6 +439,16 @@ static void resize_window(WinManager *man)
>  }
>  MyXUngrabServer(theDisplay);
>}
> +
> +  // Wait until the window has resised to fix the HINTS.
> +  // counter is used to break an infinte loop.
> +  XWindowAttributes attribs;
> +  int counter = 2;
> +  while ( counter && (attribs.width != man->geometry.width ||
> +  attribs.height != man->geometry.height)) {
> +XGetWindowAttributes(theDisplay, man->theWindow, );
> +counter--;
> +  }
>fix_manager_size(man, man->geometry.width, man->geometry.height);
>  }

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Menu hot keys with accented characters

2017-01-08 Thread Dominik Vogt
On Sun, Jan 08, 2017 at 11:13:52AM -0700, Jaimos Skriletz wrote:
> On Sun, Jan 8, 2017 at 3:14 AM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > On Sun, Jan 01, 2017 at 02:10:03AM -0700, Jaimos Skriletz wrote:
> >> Here is an old (minor) bug that is lurking in the Debian BTS.
> >>
> >> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464363
> >>
> >> The bug is that when assigning non ASCII keys as hot keys in a Menu,
> >> the underline underlines the non ASCII character and the one after it.
> >
> > Hotkeys must be printable 7 bit Ascii characters, which is
> > probably not documented.  The reason for this is that the hotkey
> > is specified as a substring from the item label (e.g. "á") instead
> > of a key name ("aacute").  X has no real way to convert a string
> > into a key name or vice versa, so hotkeys work only for keys where
> > both representations are the same.
> >
> 
> If keybindings for non 7 bit ASCII keys don't work, documentation
> could be useful. Though this has been around for a long time and not
> many seem to mention it so it probably isn't a big deal in the overall
> picture.

This may be a real issue for automatic hotkeys in languages other
than English.  Words beginning with non-latin letters like Ü, Á
etc. are not uncommon in European languages.

> > I can reproduce the drawing bug.  Maybe we should simply disable
> > hotkeys completely for anything not 7 bit ASCII.
> >
> 
> Disabling the keys since they aren't working anyways and giving a
> warning may be useful for those who try to use non ASCII characters.
> Such a warning should only trigger when items are added to the menu,
> not each time the menu pops up.

Yes, a warning if it's a manual hotkey, at least.  Not sure what
to do about automatic ones.  It may be confusing to get no hotkey
without a warning (and without iconv we can't reliably look past
the first letter).  On the other hand the user has probably not
asked for warnings regarding automatic hotkeys.

> At least this way if anyone tries to use non-ASCII characters they are
> correctly informed that they do not work and this can move to a
> feature request to add support for these keys.

I *could* implement the table I mentioned (there are several
version floating around the net) to get non-Ascii hotkeys working,
but then we might as well leave hotkeys as they are in fvwm-2.x
and rewrite the hotkey syntax to allow specifying key names for
fvwm-3.x.  E.g. "&(aacute)" or something like that, or even

  ábc use "á" as hotkey if iconv support is compiled in
  (using a built-in table), otherwise no automatic
  hotkey.  Maybe rather use b as the hotkey as there's
  no guarantee the keyboard has a key for á?
  &ábcif iconv support is compiled in; automatic hotkeys
  work; use built-in table
  &(aacute)   string representation of a keysym (XStringToKeysym)
  &(12345)numeric representation of a keysym

Too stupid that X has no way to convert keysyms into printable
strings and vice versa.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Menu hot keys with accented characters

2017-01-08 Thread Dominik Vogt
On Sun, Jan 01, 2017 at 02:10:03AM -0700, Jaimos Skriletz wrote:
> Here is an old (minor) bug that is lurking in the Debian BTS.
> 
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=464363
> 
> The bug is that when assigning non ASCII keys as hot keys in a Menu,
> the underline underlines the non ASCII character and the one after it.

Hotkeys must be printable 7 bit Ascii characters, which is
probably not documented.  The reason for this is that the hotkey
is specified as a substring from the item label (e.g. "á") instead
of a key name ("aacute").  X has no real way to convert a string
into a key name or vice versa, so hotkeys work only for keys where
both representations are the same.

A solution for this would be to hard code a unicode-to-keysym
table inside fvwm and also requires iconv support.  :-/

> Here is a simple test
> 
> DestroyMenu TestMenu
> AddToMenu TestMenu "Test" Title
> + "T&êst" Echo Test
> + "&ñice one" Echo Nice One
> + "Th&ááát" Echo Thaaat
> + " One" Echo This
> 
> Then open the menu.

I can reproduce the drawing bug.  Maybe we should simply disable
hotkeys completely for anything not 7 bit ASCII.

> In addition to the visual bug, I was not able to correctly use these
> non-ASCII characters as hot keys. Since I don't have a keyboard that
> has accented keys on them it could be that I can't properly test if
> they work as hot keys (since I have to hit alt-key to type them).

To test it:

  $ xmodmap -pki > ~/xmm
  # edit some key binding in ~/xmm
  $ xmodmap ~/xmm

> Seems there was once a patch trying to make these hot keys work better
> 
> http://www.mail-archive.com/fvwm-workers@fvwm.org/msg01916.html
> 
> Unsure if the bug is just an extra character is underlined in the Menu
> or if using non ASCII characters for hot-keys doesn't work.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Improving the default config

2016-12-31 Thread Dominik Vogt
See branch dv/devel for various patches.


On Sat, Dec 31, 2016 at 07:26:54AM -0700, Jaimos Skriletz wrote:
> On Sat, Dec 31, 2016 at 6:03 AM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > 1. In the log there is
> >
> > Traceback (most recent call last):
> >   File "/home/luthien/bin/fvwm-menu-desktop", line 78, in 
> > import xdg.Menu
> > ImportError: No module named xdg.Menu
> >
> >We should get rid of any error messages during startup, even if
> >some things may not be installed.
> >
> > 1b. In the builtin menu (if no config is used), the above message
> >is generated every time you move the pointer over the xdg menu
> >item.
> >
> 
> Yes we should deal with the case either python or python-xdg is not
> installed. Unsure if there is a way we can test for python-xdg with
> Test or if that should be done in the fvwm-menu-desktop script. I
> would like the script to error out if run from a console and
> python-xdg is not installed so the user is aware of a missing
> component, so maybe add a -q/--quiet option that can be used in the
> config to just have it quietly exit if python-xdg is not installed.
> 
> > 2. Are the buttons of inactive windows really meant to look like
> >in the attached image?  NeverFocus windows like Xclock don't
> >ever get their buttons drawn properly.
> >
> 
> Yes that is how the config draws inactive buttons. This can be
> changed, I just copied this from my setup.
> 
> > 3. The main menu has a submenu for module manpages, but not a
> >submenu to start them.  Weird.
> >
> 
> This was brought up and is something that could be added. Though
> outside of FvwmConsole I personally don't know what other modules
> would be that useful to have in a menu to be launched, without some
> additional configurations of the module. But by all means add a
> submenu.
> 
> > 4. The "Copy config" dialog should *really* state the filename of
> >the config file it generates, not just the target directory.
> >
> 
> Okay.
> 
> > 5. Double clicking the top left window button does not close the
> >window.  The menu needs a doubleclick action:
> >
> > Mouse 1 1 A Menu MenuWindowOps delete
> >
> >(or maybe "destroy" instead).
> >
> 
> I would not think that double clicking the menu button would close a
> window. But this could be added, though I don't see why since this can
> be done via the X button.

It's a historical thing.  Double clicking that button close
windows long before the X button even appeared.

See dv/devel.

> > 6. Clicking the "X" button works only with a delay.
> >
> 
> It is set up for a single click is Close and a double click is
> Destroy. So the delay is just the function waiting for ClickTime to
> pass to make sure it wasn't a double click.

I know, but it's annoying.  Shouldn't that button just bind
"Delete" on a click?  More forceful methods of closing are
available through the window menu.

The first patch on the branch is an attempt to close the window
earlier, but it doesn't actually work as we have to wait for the
end of the function anyway.

> > 7. The config uses button 4+5 for window shading.  It shouldn't
> >require any non-standard mouse buttons for that.
> >
> >  Mouse 4TA MoveClickX Nop Raise "WindowShade True"
> >  Mouse 5TA MoveClickX Nop Raise "WindowShade False"
> >
> >Also, this should really be just
> >
> >  Mouse 4TA WindowShade True
> >  Mouse 5TA WindowShade False
> >
> >Otherwise it may or may not raise the window when pushing a
> >mouse wheel, depending on the speed of the wheel.
> 
> Fine, again just another thing adopted because I prefer the double
> click here, but your solution is simpler.

See dv/devel.

> > 8. The MoveClickX function is used even for functions that do not
> >have a doubleclick action ("Nop" instead).  Therefore clicking
> >such a indow button works only with a delay (coubleclicktime),
> >and it won't work at all if you double click:
> >
> >  Mouse 1FS   A MoveClickX Resize Raise Nop

See dv/devel.

> > 9. Similarly, a button with "Nop" move action won't do anything if
> >you happen to move the mouse while clicking:
> >
> >  Mouse 4TA MoveClickX Nop Raise "WindowShade True"
> >
> 
> Didn't consider that as I'm just use to it, I was just trying to avoid
> writing multple functions, but I agree it would be better to not have
>

Re: Bug#802604: fvwm: focus is not given to the window when changing page with invisible mouse pointer

2016-12-31 Thread Dominik Vogt
On Sat, Dec 31, 2016 at 05:37:45AM -0700, Jaimos Skriletz wrote:
> On Sat, Dec 31, 2016 at 4:11 AM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > On Fri, Dec 30, 2016 at 09:12:50PM -0700, Jaimos Skriletz wrote:
> >> On Fri, Dec 30, 2016 at 8:49 PM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> >> > On Fri, Dec 30, 2016 at 08:24:07PM -0700, Jaimos Skriletz wrote:
> >> >> Hello,
> >> >>
> >> >> This was reported by a Debian user. Please retain the CC to
> >> >> 802604-forwar...@bugs.debian.org in your response, so that
> >> >> the Debian BTS has a record.
> >> >>
> >> >> In short if the mouse cursor is over the root window and hidden with
> >> >> unclutter, when switching pages (and maybe desks), focus is not given
> >> >> to the window under the pointer.
> >> >
> >> > Works fine for me.  I'd need a precise description + config file
> >> > to test this.
> >> >
> >>
> >> Using SloppyFocus with a 2x2 grid of pages with the default config and
> >> the following two key bindings
> >>
> >> Key Right A CM Scroll 100 0
> >> Key Left A CM Scroll -100 0
> >>
> >> I then run unclutter to hide the mouse after being idle for a second:
> >>
> >> unclutter -idle 1 -root
> >>
> >> I move the mouse over the root window and wait for it to be hidden.
> >> Once it is hidden
> >> I use the key binding to switch to a new page. After I switch to the
> >> page focus is kept
> >> on the window in the old page and is not transferred.
> >
> > Still does not happen for me.  With unclutter 8-18 (Debian):
> >
> >  * Start fvwm with default config.
> >  * Open two Xterms from the menu (left side of screen).
> >  * Open FvwmConsole and move it to the bottom right corner.
> >  * Type
> >  style * sloppyfocus
> >  Key Right A CM Scroll 100 0
> >  Key Left A CM Scroll -100 0
> >in FvwmConsole.
> >  * Run "unclutter -idle 1 -root" from one of the Xterms.
> >  * Press ctrl-alt-right to switch to page (1 0).
> >  * (Optional: open an Xterm there and close it to take away the
> >focus from any window on (0 0).)
> >  * Move the pointer roughly to the middle of the FvwmConsole
> >window.
> >  * Press ctrl-alt-left to switch to page (0 0).
> >  => The pointer ends up over FvwmConsole which gets the focus.
> >
> 
> These steps work for me.

"Work" = "the window does not get focus"?

> I tried with various versions of the optional
> step, though in my tests I left the xterm around, but this did not
> seem to matter, Leaving the xterm or not did not change the result.

Neither for me.

> Unsure how else to describe it as those steps cause this to happen,
> just tested again in a VM and have attached screen shots to show how
> the focus is right before and right after I switch pages. In the
> before picture the mouse is in the bottom right corner over the root
> window near the panel (but not over it) and unclutter has hidden the
> mouse.
> 
> Only other thing I note, as soon as I move the mouse, focus is then
> given to the window under the mouse, but until then it remains on the
> window on the previous page.

You probably have a different version of unclutter.  In the past,
there was some change of the method it uses to hide the pointer.
his may well play a role here.  Can you find out which version you
have?  I guess it's something that should be fixed in unclutter if
it's still an issue with the latest version.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Bug#802604: fvwm: focus is not given to the window when changing page with invisible mouse pointer

2016-12-31 Thread Dominik Vogt
On Fri, Dec 30, 2016 at 09:12:50PM -0700, Jaimos Skriletz wrote:
> On Fri, Dec 30, 2016 at 8:49 PM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > On Fri, Dec 30, 2016 at 08:24:07PM -0700, Jaimos Skriletz wrote:
> >> Hello,
> >>
> >> This was reported by a Debian user. Please retain the CC to
> >> 802604-forwar...@bugs.debian.org in your response, so that
> >> the Debian BTS has a record.
> >>
> >> In short if the mouse cursor is over the root window and hidden with
> >> unclutter, when switching pages (and maybe desks), focus is not given
> >> to the window under the pointer.
> >
> > Works fine for me.  I'd need a precise description + config file
> > to test this.
> >
> 
> Using SloppyFocus with a 2x2 grid of pages with the default config and
> the following two key bindings
> 
> Key Right A CM Scroll 100 0
> Key Left A CM Scroll -100 0
> 
> I then run unclutter to hide the mouse after being idle for a second:
> 
> unclutter -idle 1 -root
> 
> I move the mouse over the root window and wait for it to be hidden.
> Once it is hidden
> I use the key binding to switch to a new page. After I switch to the
> page focus is kept
> on the window in the old page and is not transferred.

Still does not happen for me.  With unclutter 8-18 (Debian):

 * Start fvwm with default config.
 * Open two Xterms from the menu (left side of screen).
 * Open FvwmConsole and move it to the bottom right corner.
 * Type
 style * sloppyfocus
 Key Right A CM Scroll 100 0
 Key Left A CM Scroll -100 0
   in FvwmConsole.
 * Run "unclutter -idle 1 -root" from one of the Xterms.
 * Press ctrl-alt-right to switch to page (1 0).
 * (Optional: open an Xterm there and close it to take away the
   focus from any window on (0 0).)
 * Move the pointer roughly to the middle of the FvwmConsole
   window.
 * Press ctrl-alt-left to switch to page (0 0).
 => The pointer ends up over FvwmConsole which gets the focus.

> Note: If the mouse is over a window (hidden or not) this does not
> happen and focus is transfered. If the mouse is visible over the root
> window this does not happen either. It needs to be hidden.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



[fvwmorg/fvwm] b2f4bc: !!! Start work on replacing the parsing in __execu...

2016-12-28 Thread Dominik Vogt
  Branch: refs/heads/dv/new-parser-2
  Home:   https://github.com/fvwmorg/fvwm
  Commit: b2f4bce686118c71e3b2c22c2905479588af303f
  
https://github.com/fvwmorg/fvwm/commit/b2f4bce686118c71e3b2c22c2905479588af303f
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/Makefile.am
M fvwm/add_window.c
M fvwm/builtins.c
A fvwm/cmdparser.h
A fvwm/cmdparser_old.c
A fvwm/cmdparser_old.h
M fvwm/colorset.c
M fvwm/conditional.c
M fvwm/events.c
M fvwm/ewmh.c
M fvwm/ewmh_events.c
M fvwm/expand.c
M fvwm/expand.h
M fvwm/functions.c
M fvwm/functions.h
M fvwm/fvwm.c
M fvwm/fvwm.h
M fvwm/menucmd.c
M fvwm/menus.c
M fvwm/module_interface.c
M fvwm/move_resize.c
M fvwm/read.c
M fvwm/repeat.c
M fvwm/schedule.c
M fvwm/update.c
M fvwm/virtual.c
M fvwm/windowlist.c

  Log Message:
  ---
  !!! Start work on replacing the parsing in __execute_command_line ...

... with hook functions that are implemented elsewhere.  This aims
at allowing to writing and testing multiple parsers in parallel
and at moving all parsing and expansion stuff to a different
place.


  Commit: e4ee0c738b5df1504d6a8736e3ebf93f86a3a28c
  
https://github.com/fvwmorg/fvwm/commit/e4ee0c738b5df1504d6a8736e3ebf93f86a3a28c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/cmdparser.h
M fvwm/cmdparser_old.c
M fvwm/functions.c

  Log Message:
  ---
  add debug output and fix positional arguments


  Commit: a8d1bf48531d00c10dc17ed3ba95905ca0b4748e
  
https://github.com/fvwmorg/fvwm/commit/a8d1bf48531d00c10dc17ed3ba95905ca0b4748e
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/cmdparser_old.c
M fvwm/functions.c

  Log Message:
  ---
  add debug output and fix command line prefixes


  Commit: a7a34304f8bb06013b4189f67da44092f1795ec5
  
https://github.com/fvwmorg/fvwm/commit/a7a34304f8bb06013b4189f67da44092f1795ec5
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/Makefile.am
M fvwm/cmdparser.h
A fvwm/cmdparser_hooks.h
M fvwm/cmdparser_old.c
M fvwm/conditional.h
M fvwm/functable.c
M fvwm/functable.h
A fvwm/functable_complex.c
A fvwm/functable_complex.h
M fvwm/functions.c
M fvwm/functions.h
M fvwm/fvwm.h
M fvwm/misc.c
M fvwm/repeat.c
M fvwm/screen.h
M libs/FScreen.h

  Log Message:
  ---
  Convert special logic in __execute_command_line for functions ...

... that may move a window to a separate function flag.

Move find_builtin_function() to functable.[ch].

Moved some functions to functable.[ch] and functable_complex.[ch].

This separation is needed for the parsing hooks.  It was very difficult to get
the #icludes right.  The DesktopsInfo structure was moved to libs/FScreen.h
so that the library does not depend on core header files anymore.

Move WindowConditionMask from mvwm.h to conditional.h.

Finish 1st draft of hook implementation (__execute_command_line)


  Commit: 18e740675182d319189d298f2d27abd53b15b15c
  
https://github.com/fvwmorg/fvwm/commit/18e740675182d319189d298f2d27abd53b15b15c
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/cmdparser.h
M fvwm/cmdparser_hooks.h
M fvwm/cmdparser_old.c
M fvwm/expand.c
M fvwm/functions.c

  Log Message:
  ---
  Split pos_args into a string with all positional args and an array.


  Commit: ce22e8d80c29240799f75aa3f1e659cffbfbbde6
  
https://github.com/fvwmorg/fvwm/commit/ce22e8d80c29240799f75aa3f1e659cffbfbbde6
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/builtins.c
M fvwm/events.c

  Log Message:
  ---
  Update execute_function calls for libstroke.


  Commit: 4149c9a1234627cc0a40ee696e86e5fe364a2c80
  
https://github.com/fvwmorg/fvwm/commit/4149c9a1234627cc0a40ee696e86e5fe364a2c80
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/cmdparser_old.c
M fvwm/functions.c
M fvwm/modconf.c
M modules/FvwmButtons/dynamic.c

  Log Message:
  ---
  !!!debug fprintfs


  Commit: 82672e0e905aca13b9a2615215488a2a549255d9
  
https://github.com/fvwmorg/fvwm/commit/82672e0e905aca13b9a2615215488a2a549255d9
  Author: Thomas Adam <tho...@fvwm.org>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M libs/FScreen.h

  Log Message:
  ---
  Reinstate libs/FScreen.h


  Commit: ab97d146234acf939f520cff4ed0569cf8a24ecc
  
https://github.com/fvwmorg/fvwm/commit/ab97d146234acf939f520cff4ed0569cf8a24ecc
  Author: Thomas Adam <tho...@fvwm.org&

[fvwmorg/fvwm] 7cfd20: Improve and clean up size hints warnings.

2016-12-28 Thread Dominik Vogt
  Branch: refs/heads/master
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 7cfd209e17ed88c34f7ec9318dd82aabc3757baa
  
https://github.com/fvwmorg/fvwm/commit/7cfd209e17ed88c34f7ec9318dd82aabc3757baa
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/add_window.c

  Log Message:
  ---
  Improve and clean up size hints warnings.


  Commit: e98b3e7fae771ca0f6db4ef4c3102bc248a64a02
  
https://github.com/fvwmorg/fvwm/commit/e98b3e7fae771ca0f6db4ef4c3102bc248a64a02
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M modules/FvwmIconMan/xmanager.c

  Log Message:
  ---
  FvwmIconMan: Don't trigger size hints warning in fvwm core.


  Commit: 5ffc872c63fbd70db2dfc73042fe580fd7a57ec2
  
https://github.com/fvwmorg/fvwm/commit/5ffc872c63fbd70db2dfc73042fe580fd7a57ec2
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/events.c

  Log Message:
  ---
  Fix disappearing windows.

The old patch that removed synthetic UnmapNotify events on the root window to
suppress windows in HandeMapRequestKeepRaised() being unmapped later.  However,
this also caused problems.  vmplayer windows still diasppeared when returning
from fullscreen mode.

It seems that the real problem was the XUnmapWindow in HandleUnmapNotify.
Whoever thought this was a necessary or a good idea is wrong.  When we get an
UnmapNotify on a client window, the client has already unmapped it itself.
When we get a synthetic UnmapNotify on the root window the client has also
unmapped the window.  There's no need whatsoever to unmap it again, and events
caused by unmapping twice do confuse applications.


  Commit: ccea4a057b8dca8657da9f3a505022716ce91999
  
https://github.com/fvwmorg/fvwm/commit/ccea4a057b8dca8657da9f3a505022716ce91999
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS.


  Commit: 2db6922a298738568c3a012e5a62183efe543e48
  
https://github.com/fvwmorg/fvwm/commit/2db6922a298738568c3a012e5a62183efe543e48
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M bin/Makefile.am
M configure.ac
M doc/fvwm/Makefile.am
M fvwm/Makefile.am
M modules/FvwmAnimate/Makefile.am
M modules/FvwmAuto/Makefile.am
M modules/FvwmBacker/Makefile.am
M modules/FvwmBanner/Makefile.am
M modules/FvwmButtons/Makefile.am
R modules/FvwmCommand/FvwmCommandS.c
M modules/FvwmCommand/Makefile.am
A modules/FvwmCommandS/FvwmCommand.h
A modules/FvwmCommandS/FvwmCommandS.c
A modules/FvwmCommandS/Makefile.am
A modules/FvwmCommandS/fifos.c
M modules/FvwmConsole/Makefile.am
M modules/FvwmCpp/Makefile.am
M modules/FvwmEvent/Makefile.am
M modules/FvwmForm/Makefile.am
M modules/FvwmIconMan/Makefile.am
M modules/FvwmIdent/Makefile.am
M modules/FvwmM4/Makefile.am
M modules/FvwmPager/Makefile.am
M modules/FvwmPerl/Makefile.am
M modules/FvwmProxy/Makefile.am
M modules/FvwmRearrange/Makefile.am
M modules/FvwmScript/Makefile.am
M modules/Makefile.am

  Log Message:
  ---
  Fix installation and uninstallation with --program-transform-name.

Had to move FvwmCommandS to a different subdir to do this.


  Commit: 359820be6d7b85b9ceb796a7f1a03c964f08d9d2
  
https://github.com/fvwmorg/fvwm/commit/359820be6d7b85b9ceb796a7f1a03c964f08d9d2
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS.


Compare: https://github.com/fvwmorg/fvwm/compare/9a57db1dd4ae...359820be6d7b


[fvwmorg/fvwm] 7cfd20: Improve and clean up size hints warnings.

2016-12-28 Thread Dominik Vogt
  Branch: refs/heads/dv/devel
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 7cfd209e17ed88c34f7ec9318dd82aabc3757baa
  
https://github.com/fvwmorg/fvwm/commit/7cfd209e17ed88c34f7ec9318dd82aabc3757baa
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/add_window.c

  Log Message:
  ---
  Improve and clean up size hints warnings.


  Commit: e98b3e7fae771ca0f6db4ef4c3102bc248a64a02
  
https://github.com/fvwmorg/fvwm/commit/e98b3e7fae771ca0f6db4ef4c3102bc248a64a02
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M modules/FvwmIconMan/xmanager.c

  Log Message:
  ---
  FvwmIconMan: Don't trigger size hints warning in fvwm core.


  Commit: 5ffc872c63fbd70db2dfc73042fe580fd7a57ec2
  
https://github.com/fvwmorg/fvwm/commit/5ffc872c63fbd70db2dfc73042fe580fd7a57ec2
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M fvwm/events.c

  Log Message:
  ---
  Fix disappearing windows.

The old patch that removed synthetic UnmapNotify events on the root window to
suppress windows in HandeMapRequestKeepRaised() being unmapped later.  However,
this also caused problems.  vmplayer windows still diasppeared when returning
from fullscreen mode.

It seems that the real problem was the XUnmapWindow in HandleUnmapNotify.
Whoever thought this was a necessary or a good idea is wrong.  When we get an
UnmapNotify on a client window, the client has already unmapped it itself.
When we get a synthetic UnmapNotify on the root window the client has also
unmapped the window.  There's no need whatsoever to unmap it again, and events
caused by unmapping twice do confuse applications.


  Commit: ccea4a057b8dca8657da9f3a505022716ce91999
  
https://github.com/fvwmorg/fvwm/commit/ccea4a057b8dca8657da9f3a505022716ce91999
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS.


  Commit: 2db6922a298738568c3a012e5a62183efe543e48
  
https://github.com/fvwmorg/fvwm/commit/2db6922a298738568c3a012e5a62183efe543e48
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M bin/Makefile.am
M configure.ac
M doc/fvwm/Makefile.am
M fvwm/Makefile.am
M modules/FvwmAnimate/Makefile.am
M modules/FvwmAuto/Makefile.am
M modules/FvwmBacker/Makefile.am
M modules/FvwmBanner/Makefile.am
M modules/FvwmButtons/Makefile.am
R modules/FvwmCommand/FvwmCommandS.c
M modules/FvwmCommand/Makefile.am
A modules/FvwmCommandS/FvwmCommand.h
A modules/FvwmCommandS/FvwmCommandS.c
A modules/FvwmCommandS/Makefile.am
A modules/FvwmCommandS/fifos.c
M modules/FvwmConsole/Makefile.am
M modules/FvwmCpp/Makefile.am
M modules/FvwmEvent/Makefile.am
M modules/FvwmForm/Makefile.am
M modules/FvwmIconMan/Makefile.am
M modules/FvwmIdent/Makefile.am
M modules/FvwmM4/Makefile.am
M modules/FvwmPager/Makefile.am
M modules/FvwmPerl/Makefile.am
M modules/FvwmProxy/Makefile.am
M modules/FvwmRearrange/Makefile.am
M modules/FvwmScript/Makefile.am
M modules/Makefile.am

  Log Message:
  ---
  Fix installation and uninstallation with --program-transform-name.

Had to move FvwmCommandS to a different subdir to do this.


  Commit: 359820be6d7b85b9ceb796a7f1a03c964f08d9d2
  
https://github.com/fvwmorg/fvwm/commit/359820be6d7b85b9ceb796a7f1a03c964f08d9d2
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-12-28 (Wed, 28 Dec 2016)

  Changed paths:
M NEWS

  Log Message:
  ---
  NEWS.


Compare: https://github.com/fvwmorg/fvwm/compare/7cfd209e17ed^...359820be6d7b


Re: Fwd: Bug#849355: fvwm: GetWindowSizeHints warnings when windows and opened and closed

2016-12-28 Thread Dominik Vogt
On Tue, Dec 27, 2016 at 05:34:08PM -0700, Jaimos Skriletz wrote:
> On Tue, Dec 27, 2016 at 5:28 PM, Jaimos Skriletz
> <jaimosskril...@gmail.com> wrote:
> > On Tue, Dec 27, 2016 at 5:15 PM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> >> On Tue, Dec 27, 2016 at 05:04:40PM -0700, Jaimos Skriletz wrote:
> >>> On Tue, Dec 27, 2016 at 4:52 PM, Jaimos Skriletz
> >>> <jaimosskril...@gmail.com> wrote:
> >>> > On Tue, Dec 27, 2016 at 3:44 PM, Dominik Vogt <dominik.v...@gmx.de> 
> >>> > wrote:
> >>> >> On Mon, Dec 26, 2016 at 01:17:05PM -0700, Jaimos Skriletz wrote:
> >>> >>> Hello,
> >>> >>>
> >>> >>> This was reported by a Debian user. Please retain the CC to
> >>> >>> 849355-forwar...@bugs.debian.org in your response, so that
> >>> >>> the Debian BTS has a record.
> >>> >>>
> >>> >>> In short when running FvwmIconMan, fvwm prints warnings to stderr when
> >>> >>> opening and closing windows. I too have had this issue in 2.6.7 (and
> >>> >>> previous versions) so I can also say it affects my Debian system.
> >>> >>
> >>> >>
> >>> >> I don't get any such messages with or without FvwmIconMan.  Can
> >>> >> you give detailed instructions pelase?
> >>> >>
> >>> >
> >>> > Using Fvwm 2.6.7 Debian package, doubt it is any of the debian
> >>> > patches, but I will compile a version without patches and test.
> >>> >
> >>>
> >>> Tested with a fresh compile of Fvwm 2.6.7 without any debian patches,
> >>> same issue.
> >>>
> >>> >
> >>> > I tested this with other windows and modules. FvwmScript modules
> >>> > seemed to trigger it, FvwmIdentify did not, so I wonder if it has to
> >>> > do with transient windows or not (just something I noticed).
> >>> >
> >>>
> >>> Nevermind this, FvwmIdentify is not a traisnent window, the reason it
> >>> was not producing the warning was it was configured so FvwmIconMan did
> >>> not create a button for that window.
> >>>
> >>> After further testing the warning seems to be due to be caused by
> >>> adding/removing the button for a window from FvwmIconMan. Windows that
> >>> appear there trigger the warning but ones that don't appear don't.
> >>
> >> Still no luck to reproduce it.  After said message there should
> >> always be this one which prints all the details of the window and
> >> the faulty hints:
> >>
> >> fvwm_msg(
> >> WARN, "GetWindowSizeHints",
> >> "The application window (id %#lx)\n"
> >> "  \"%s\" has broken size hints (%s).\n"
> >> "fvwm is ignoring those hints.  "
> >> "  hint override = %d, flags = %lx\n"
> >> "  min_width = %d, min_height = %d, "
> >> "max_width = %d, max_height = %d\n"
> >> "  width_inc = %d, height_inc = %d\n"
> >> "  min_aspect = %d/%d, max_aspect = %d/%d\n"
> >> "  base_width = %d, base_height = %d\n"
> >> "  win_gravity = %d\n",
> >>
> >
> > I get no other output after the warning, so that message is never
> > printed to stderr on my system.
> >
> > Unsure if this helps, but I did enable BugOpts DebugCRMotionMethod,
> > and get the output
> >
> > _cdim: not moved 0x55927d4a8990 'FvwmIconMan'
> >
> > after each time the warning is produced.
> 
> Further testing, if I set the ManagerGeometry to something like 5x3 so
> FvwmIconMan doesn't resize itself, I no longer get the warning. It is
> only with the default like 0x1, causing the window to grow/shrink I
> get the warning.

Could be reproduced with a standalone FvwmIconMan (instead of the
one inside FvwmButtons).

> Wild guess, could it be some timing issue during the resizing of the
> window when adding/removing a button cause the window's current size
> to become invalid as per the warning?

Roughly, yes.  FvwmIconMan sets the minimum and maximum width and
height size hints to the new geometry it wants, then requests the
new size.  When fvwm reads the new hints, the current geometry of
the manager window becomes obviously invalid until the window is
also resized.  That's what triggers the warning.

So, to fix this:

1. Remove the size restrictions, then resize, then set the new
   size restrictions.  Theoretically the winodw might be resized
   by the user in between, but that's highly unlikely.

2. Also print the size hints that trigger this warning in a second
   message.

Fixed on the (new) fvwm2-stable branch; patch for the development
branches will follow one I've figured out how to deal with the
two repositories.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Fwd: Bug#849355: fvwm: GetWindowSizeHints warnings when windows and opened and closed

2016-12-27 Thread Dominik Vogt
On Tue, Dec 27, 2016 at 05:04:40PM -0700, Jaimos Skriletz wrote:
> On Tue, Dec 27, 2016 at 4:52 PM, Jaimos Skriletz
> <jaimosskril...@gmail.com> wrote:
> > On Tue, Dec 27, 2016 at 3:44 PM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> >> On Mon, Dec 26, 2016 at 01:17:05PM -0700, Jaimos Skriletz wrote:
> >>> Hello,
> >>>
> >>> This was reported by a Debian user. Please retain the CC to
> >>> 849355-forwar...@bugs.debian.org in your response, so that
> >>> the Debian BTS has a record.
> >>>
> >>> In short when running FvwmIconMan, fvwm prints warnings to stderr when
> >>> opening and closing windows. I too have had this issue in 2.6.7 (and
> >>> previous versions) so I can also say it affects my Debian system.
> >>
> >>
> >> I don't get any such messages with or without FvwmIconMan.  Can
> >> you give detailed instructions pelase?
> >>
> >
> > Using Fvwm 2.6.7 Debian package, doubt it is any of the debian
> > patches, but I will compile a version without patches and test.
> >
> 
> Tested with a fresh compile of Fvwm 2.6.7 without any debian patches,
> same issue.
> 
> >
> > I tested this with other windows and modules. FvwmScript modules
> > seemed to trigger it, FvwmIdentify did not, so I wonder if it has to
> > do with transient windows or not (just something I noticed).
> >
> 
> Nevermind this, FvwmIdentify is not a traisnent window, the reason it
> was not producing the warning was it was configured so FvwmIconMan did
> not create a button for that window.
> 
> After further testing the warning seems to be due to be caused by
> adding/removing the button for a window from FvwmIconMan. Windows that
> appear there trigger the warning but ones that don't appear don't.

Still no luck to reproduce it.  After said message there should
always be this one which prints all the details of the window and
the faulty hints:

fvwm_msg(
WARN, "GetWindowSizeHints",
"The application window (id %#lx)\n"
"  \"%s\" has broken size hints (%s).\n"
"fvwm is ignoring those hints.  "
"  hint override = %d, flags = %lx\n"
"  min_width = %d, min_height = %d, "
"max_width = %d, max_height = %d\n"
"  width_inc = %d, height_inc = %d\n"
"  min_aspect = %d/%d, max_aspect = %d/%d\n"
"  base_width = %d, base_height = %d\n"
"  win_gravity = %d\n",

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



[fvwmorg/fvwm] b1912e: Fix disappearing windows.

2016-11-20 Thread Dominik Vogt
  Branch: refs/heads/dv/fix-disappering-windows
  Home:   https://github.com/fvwmorg/fvwm
  Commit: b1912ee1d0af84aef588bebb4b37a118a91ec6a8
  
https://github.com/fvwmorg/fvwm/commit/b1912ee1d0af84aef588bebb4b37a118a91ec6a8
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-11-21 (Mon, 21 Nov 2016)

  Changed paths:
M fvwm/events.c

  Log Message:
  ---
  Fix disappearing windows.

The old patch that removed synthetic UnmapNotify events on the root window to
suppress windows in HandeMapRequestKeepRaised() being unmapped later.  However,
this also caused problems.  vmplayer windows still diasppeared when returning
from fullscreen mode.

It seems that the real problem was the XUnmapWindow in HandleUnmapNotify.
Whoever thought this was a necessary or a good idea is wron.  When we get an
UnmapNotify on a client window, the client has already unmapped it itself.
When we get a synthetic UnmapNotify on the root window the client has also
unmapped the window.  There's no need whatsoever to unmap it again, and events
caused by unmapping twice do confuse applications.




[fvwmorg/fvwm] b26886: Update parser documentation.

2016-11-15 Thread Dominik Vogt
  Branch: refs/heads/dv/new-parser-2
  Home:   https://github.com/fvwmorg/fvwm
  Commit: b26886b96ce400d9258fa586011cf7b97e795c7b
  
https://github.com/fvwmorg/fvwm/commit/b26886b96ce400d9258fa586011cf7b97e795c7b
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-11-15 (Tue, 15 Nov 2016)

  Changed paths:
M fvwm/cmdparser.h
M fvwm/cmdparser_hooks.h

  Log Message:
  ---
  Update parser documentation.




[fvwmorg/fvwm] 3443ad: Fix crash in new parser.

2016-11-15 Thread Dominik Vogt
  Branch: refs/heads/dv/new-parser-2
  Home:   https://github.com/fvwmorg/fvwm
  Commit: 3443ade4c10cef5e0d2b6f3a30b30b6731a9ec60
  
https://github.com/fvwmorg/fvwm/commit/3443ade4c10cef5e0d2b6f3a30b30b6731a9ec60
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-11-15 (Tue, 15 Nov 2016)

  Changed paths:
M fvwm/cmdparser_old.c

  Log Message:
  ---
  Fix crash in new parser.

Because dest_c->call_depth was not properly set, set_repeat_data was called
during nested function execution and deleted the original command line before
the function completed.  Triggered for example with "all windowshade off".




Re: Request for testing help

2016-11-15 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 04:39:53PM +0100, Dominik Vogt wrote:
> I'm still struggling with reproducing a creash in the a crash in
> the branch dv/new-parser-2.  It has something to do with passing
> around arguments from one complex function to another (possibly
> nested deeper).  In some situations, the memory for an argument is
> freed while still being in use somewhere else.  It may also have
> something to do with multiple things happening at once, like
> switching pages or so (triggered by a module?).
> 
> The biggest debugging problem is that it happens very rarely with
> my config, maybe twice a year.  If any of you had the time and
> leisure to fiddle around a bit with nested complex functions with
> lots of arguments and identified a reproduceable case that
> crashes, that would help me a lot to finally identify and fix the
> problem.

I've figured it out and fixed it, please don't spend time on this
anymore.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Mon, Nov 14, 2016 at 01:11:57AM +, Ethan Raynor wrote:
> I can understand personal opinions - they're important and they happen
> all the time with projects, I understand that. But I don't think it is
> very fair to say I should not read it - when I won't know weather it's
> there or not to start with. So I think just not having those
> conversations is better.

I don't.  Software development is difficult enough without
worrying about the feelings of the readers.  This just eats up
time that could be used to do some useful work.

--

Please don't top post on this list, i.e. put your answers below
the text you're refering to, not above it.
https://en.wikipedia.org/wiki/Posting_style

BAD
 ^
 |
 |
> On Mon, Nov 14, 2016 at 1:03 AM, Dominik Vogt <dominik.v...@gmx.de> wrote:
> > Please don't top post on the fvwm lists.
> >
> > On Mon, Nov 14, 2016 at 12:44:47AM +, Ethan Raynor wrote:
> >> it's those points i would like to see put elsewhere
 |
 |
 v
GOOD

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Mon, Nov 14, 2016 at 12:58:42AM +, Thomas Adam wrote:
> On Mon, Nov 14, 2016 at 01:52:51AM +0100, Dominik Vogt wrote:
> > By the way, any idea why "make distcheck" has never caught the
> > faulty uninstallation of the symlinks?
> 
> Nope, no idea.
> 
> I find dist/distcheck to be some seriously weird automake black magic which
> I've never fully understood.

As far as I understand it:

1. Make everything.
2. Build a tarball from the build result, using the files
   mentioned in the Makefile.am.
3. Create three subdirs (SOURCE, BUILD, INSTALL or whatever the
   exact names are).
4. Extract the tarball into SOURCE.
5. Unprotect BUILD, write protect SOURCE and protect INSTALL from
   any access.
6. cd into the builddir, build everything with --srcdir=SOURCE and
   --prefix=INSTALL.
   => This makes sure that all files built are placed in BUILD,
  all source files are taken from SOURCE, and nothing is
  installed or built in INSTALL during the build step.
7. Protect SOURCE from any access, write protect BUILD and
   unprotect INSTALL.
8. make install
   => This makes sure that installing actually places the files
  in INSTALL and not elsewhere.
9. make uninstall and check that nothing is left in INSTALL
   except empty directories.
   => Check that everything put into INSTALL ist removed, and that
  files are actually removed from the INSTALL and not from
   SOURCE or BUILD.

If "make distcheck" fails, it's normally either because some file
is missing from the tarball or not properly uninstalled.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
Please don't top post on the fvwm lists.

On Mon, Nov 14, 2016 at 12:44:47AM +, Ethan Raynor wrote:
> it's those points i would like to see put elsewhere

I've completely understood that it bothers you.  If you don't want
to read it, don't.  This is an unavoidable part of public software
development.

> as that doesnt have much - if anything- to do with fvwm.

Discussing the fvwm infrastructure and the personal opinions about
it is completely on topic.  This list is not a place where
politeness or political correctness is exspecially important.

> or am i wrong?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 05:13:22PM +, Thomas Adam wrote:
> On Sun, Nov 13, 2016 at 04:09:14PM +0100, Dominik Vogt wrote:
> > Bofore you start working on that, please take a look at the
> > dv/fix-transform-name branch.
> 
> OK, this looks good.  I'm surprised that FvwmCommand.sh is installed to
> /.../libexec/fvwm/$(VERSION) without execute permissions.   But this isn't a
> bug, it seems to always have been the case.

It's still not good.  Isn't there a standard Automake way to
install shell scripts?

> I suppose the next step is to remove the compatability symlinks, both in terms
> for fvwm2 -> fvwm and xpmroot, and the symlinks for the documentation.  You
> can do that on top of what you have, if you like.

I think it's more important to first fix the Makefile.am in
default-config and its subdirs as written in the other thread.
Furthermore, the symlinks are not properly installed when
--program-transform-name is used, and they are not properly
uninstalled.  (I certainly can do this, but I'd like to give the
author of the Makefile.am the chance to fix it - I know it's
tedious, but it's neccessary.)

By the way, any idea why "make distcheck" has never caught the
faulty uninstallation of the symlinks?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Mon, Nov 14, 2016 at 12:07:42AM +, Ethan Raynor wrote:
> Is it OK to request these sorts of conversations take place someplace
> else?

No.

If there's one place for discussing fvwm development, it's this
mailing list.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Request for testing help

2016-11-13 Thread Dominik Vogt
Hi folks,

I'm still struggling with reproducing a creash in the a crash in
the branch dv/new-parser-2.  It has something to do with passing
around arguments from one complex function to another (possibly
nested deeper).  In some situations, the memory for an argument is
freed while still being in use somewhere else.  It may also have
something to do with multiple things happening at once, like
switching pages or so (triggered by a module?).

The biggest debugging problem is that it happens very rarely with
my config, maybe twice a year.  If any of you had the time and
leisure to fiddle around a bit with nested complex functions with
lots of arguments and identified a reproduceable case that
crashes, that would help me a lot to finally identify and fix the
problem.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] f508f5: Fix installation and uninstallation with --program...

2016-11-13 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 07:00:29AM -0800, Dominik Vogt wrote:
>   Branch: refs/heads/dv/fix-program-transform
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: f508f5f574de461e21fa5ad2d4d2d50eb75378df
>   
> https://github.com/fvwmorg/fvwm/commit/f508f5f574de461e21fa5ad2d4d2d50eb75378df
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-11-13 (Sun, 13 Nov 2016)
> 
>   Changed paths:
> M bin/Makefile.am
> M configure.ac
> M doc/fvwm/Makefile.am
> M fvwm/Makefile.am
> M modules/FvwmAnimate/Makefile.am
> M modules/FvwmAuto/Makefile.am
> M modules/FvwmBacker/Makefile.am
> M modules/FvwmBanner/Makefile.am
> M modules/FvwmButtons/Makefile.am
> R modules/FvwmCommand/FvwmCommandS.c
> M modules/FvwmCommand/Makefile.am
> A modules/FvwmCommandS/FvwmCommand.h
> A modules/FvwmCommandS/FvwmCommandS.c
> A modules/FvwmCommandS/Makefile.am
> A modules/FvwmCommandS/fifos.c
> M modules/FvwmConsole/Makefile.am
> M modules/FvwmCpp/Makefile.am
> M modules/FvwmEvent/Makefile.am
> M modules/FvwmForm/Makefile.am
> M modules/FvwmIconMan/Makefile.am
> M modules/FvwmIdent/Makefile.am
> M modules/FvwmM4/Makefile.am
> M modules/FvwmPager/Makefile.am
> M modules/FvwmPerl/Makefile.am
> M modules/FvwmProxy/Makefile.am
> M modules/FvwmRearrange/Makefile.am
> M modules/FvwmScript/Makefile.am
> M modules/Makefile.am
> 
>   Log Message:
>   ---
>   Fix installation and uninstallation with --program-transform-name.
> 
> Had to move FvwmCommandS to a different subdir to do this.

Actually, I find commit messages without the diffs really useless.
Could we activate the diffs with some size limit?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 02:03:52PM +, Thomas Adam wrote:
> On Sun, Nov 13, 2016 at 04:30:23AM +0100, Dominik Vogt wrote:
> > On Sun, Nov 13, 2016 at 02:06:19AM +, Thomas Adam wrote:
> > > On Sun, Nov 13, 2016 at 02:43:13AM +0100, Dominik Vogt wrote:
> > > > Why on earth do we have to repeat the mistake of the past by
> > > > putting the version number in the project name *again*?  Every
> > > > other project manages backwards incompatible releases just fine,
> > > > only fvwm changes its name with each major release.  This just
> > > > complicates things, and helps nobody.  That's what configure's
> > > > binary suffix is for.
> > > 
> > > So what would you rather, and to what extent should this happen?
> > 
> > See attached patch.  The Makefile.am need some tuning because some
> > names are hard coded in install...local rules (FvwmCommand.sh,
> > FvwmCommand.pm, xpmroot*, fvwm2*, message catalogs).  It's easy to
> > firgure out; just configure with --prefix=some-private-dir, ass
> > program-suffix and program-prefix, then install and see which
> > files end up in the wrong place.
> 
> Right.  I'd forgotten that automake allowed for --program-{prefix,suffix} --
> that makes things much easier.  So I'll rejig some things and use this.
> 
> I can see there's a few things which will need adjusting.  We won't need the
> fvwm2 symlink at all since that would be misleading, surely?  The other parts
> you've identified shouldn't be too difficult to fix.

>  I'm unsure what should
> happen with the gettext files, and if they need namespacing at all.

As with my path modules don't get a suffix (unless installed in
bin/), the same concern applies to the module manpages.  It would
be confusing to have a module "FvwmButtons" with a manpage
"FvwmButtons-3.1".  But if the module name is not suffixed, there
cannot be multiple versions of the manpage installed.

> One observation I've got is:
> 
> > +transform=`echo "${program_transform_name}" | "$SED" -e 's/\\$\\$/\\$/'`
> > +PPACKAGE=`echo "${PACKAGE}" | "$SED" -e "${transform}"`
> 
> Is this not what the option '--program-transform-name=program' is doing?  See:
> 
> https://www.gnu.org/software/automake/manual/html_node/Renaming.html

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 02:03:52PM +, Thomas Adam wrote:
> On Sun, Nov 13, 2016 at 04:30:23AM +0100, Dominik Vogt wrote:
> > On Sun, Nov 13, 2016 at 02:06:19AM +, Thomas Adam wrote:
> > > On Sun, Nov 13, 2016 at 02:43:13AM +0100, Dominik Vogt wrote:
> > > > Why on earth do we have to repeat the mistake of the past by
> > > > putting the version number in the project name *again*?  Every
> > > > other project manages backwards incompatible releases just fine,
> > > > only fvwm changes its name with each major release.  This just
> > > > complicates things, and helps nobody.  That's what configure's
> > > > binary suffix is for.
> > > 
> > > So what would you rather, and to what extent should this happen?
> > 
> > See attached patch.  The Makefile.am need some tuning because some
> > names are hard coded in install...local rules (FvwmCommand.sh,
> > FvwmCommand.pm, xpmroot*, fvwm2*, message catalogs).  It's easy to
> > firgure out; just configure with --prefix=some-private-dir, ass
> > program-suffix and program-prefix, then install and see which
> > files end up in the wrong place.
> 
> Right.  I'd forgotten that automake allowed for --program-{prefix,suffix} --
> that makes things much easier.  So I'll rejig some things and use this.
> 
> I can see there's a few things which will need adjusting.  We won't need the
> fvwm2 symlink at all since that would be misleading, surely?  The other parts
> you've identified shouldn't be too difficult to fix.  I'm unsure what should
> happen with the gettext files, and if they need namespacing at all.  I don't
> make use of such things.

Bofore you start working on that, please take a look at the 
dv/fix-transform-name branch.

> One observation I've got is:
> 
> > +transform=`echo "${program_transform_name}" | "$SED" -e 's/\\$\\$/\\$/'`
> > +PPACKAGE=`echo "${PACKAGE}" | "$SED" -e "${transform}"`
> 
> Is this not what the option '--program-transform-name=program' is doing?  See:

Roughly, but it only modifies program names while we also want to
change some subdir names.  And it does not work in Makefile.am
hooks.  :-/

> https://www.gnu.org/software/automake/manual/html_node/Renaming.html

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



[fvwmorg/fvwm] f508f5: Fix installation and uninstallation with --program...

2016-11-13 Thread Dominik Vogt
  Branch: refs/heads/dv/fix-program-transform
  Home:   https://github.com/fvwmorg/fvwm
  Commit: f508f5f574de461e21fa5ad2d4d2d50eb75378df
  
https://github.com/fvwmorg/fvwm/commit/f508f5f574de461e21fa5ad2d4d2d50eb75378df
  Author: Dominik Vogt <dominik.v...@gmx.de>
  Date:   2016-11-13 (Sun, 13 Nov 2016)

  Changed paths:
M bin/Makefile.am
M configure.ac
M doc/fvwm/Makefile.am
M fvwm/Makefile.am
M modules/FvwmAnimate/Makefile.am
M modules/FvwmAuto/Makefile.am
M modules/FvwmBacker/Makefile.am
M modules/FvwmBanner/Makefile.am
M modules/FvwmButtons/Makefile.am
R modules/FvwmCommand/FvwmCommandS.c
M modules/FvwmCommand/Makefile.am
A modules/FvwmCommandS/FvwmCommand.h
A modules/FvwmCommandS/FvwmCommandS.c
A modules/FvwmCommandS/Makefile.am
A modules/FvwmCommandS/fifos.c
M modules/FvwmConsole/Makefile.am
M modules/FvwmCpp/Makefile.am
M modules/FvwmEvent/Makefile.am
M modules/FvwmForm/Makefile.am
M modules/FvwmIconMan/Makefile.am
M modules/FvwmIdent/Makefile.am
M modules/FvwmM4/Makefile.am
M modules/FvwmPager/Makefile.am
M modules/FvwmPerl/Makefile.am
M modules/FvwmProxy/Makefile.am
M modules/FvwmRearrange/Makefile.am
M modules/FvwmScript/Makefile.am
M modules/Makefile.am

  Log Message:
  ---
  Fix installation and uninstallation with --program-transform-name.

Had to move FvwmCommandS to a different subdir to do this.




default-config installation

2016-11-13 Thread Dominik Vogt
This is not how to install files with automake:

default-config/Makefile.am:

> ## Process this file with automake to create Makefile.in
> 
> configdir = @FVWM_DATADIR@/default-config
> inst_location = $(DESTDIR)@FVWM_DATADIR@/default-config
> config_DATA = config \
> .stalonetrayrc \

stalonetraydir = $(configdir)/.stalonetrayrc

> FvwmScript-DateTime \
> FvwmScript-ConfirmQuit \

Remove subdirs from this Makefile.am, add them to the SUBSIRS
variable, add a Makefile.am in their directory and list all files
to be installed in a variable:

  foobardir = @FVWM_DATADIR@/default-config/
  foobar_DATA = (list all files)

> FvwmScript-ConfirmCopyConfig
> 
> EXTRA_DIST  = images \
> config \
> .stalonetrayrc \
> FvwmScript-DateTime \
> FvwmScript-ConfirmQuit \

Liekwise.

> FvwmScript-ConfirmCopyConfig
> 
> install-data-hook:
>   cp -r $(srcdir)/images $(inst_location)

>   ln -sf $(inst_location)/FvwmScript-DateTime $(inst_location)/..
>   ln -sf $(inst_location)/FvwmScript-ConfirmQuit $(inst_location)/..
>   ln -sf $(inst_location)/FvwmScript-ConfirmCopyConfig $(inst_location)/..

Use "$(LN_S) -f", don't merge options.  See bin/Makefile.am for an
example how to make symlinks.

> 
> uninstall-hook:
>   rm -fr $(DESTDIR)/$(configdir)

Don't merge options, i.e. use "rm -r -f".  This command runs a
high risk of destroying user data because of the recursive delete.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: fvwm3 repo (WAS: Re: Separate or common project infrastructure fvwm v2/v3.)

2016-11-13 Thread Dominik Vogt
On Sun, Nov 13, 2016 at 02:06:19AM +, Thomas Adam wrote:
> On Sun, Nov 13, 2016 at 02:43:13AM +0100, Dominik Vogt wrote:
> > Why on earth do we have to repeat the mistake of the past by
> > putting the version number in the project name *again*?  Every
> > other project manages backwards incompatible releases just fine,
> > only fvwm changes its name with each major release.  This just
> > complicates things, and helps nobody.  That's what configure's
> > binary suffix is for.
> 
> So what would you rather, and to what extent should this happen?

See attached patch.  The Makefile.am need some tuning because some
names are hard coded in install...local rules (FvwmCommand.sh,
FvwmCommand.pm, xpmroot*, fvwm2*, message catalogs).  It's easy to
firgure out; just configure with --prefix=some-private-dir, ass
program-suffix and program-prefix, then install and see which
files end up in the wrong place.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt
>From 08f22e1a9aa492cf084020ea9d3c7dbf286659ea Mon Sep 17 00:00:00 2001
From: Dominik Vogt <dominik.v...@gmx.de>
Date: Sun, 13 Nov 2016 04:16:14 +0100
Subject: [PATCH] !

---
 configure.ac |8 +---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index e3a5424..665e77b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -93,9 +93,11 @@ AC_MSG_RESULT([assuming $PERL as perl location])
 AC_SUBST(PERL)
 
 # installation paths
-FVWM_MODULESUBDIR=/${PACKAGE}/${VERSION}
-FVWM_DATASUBDIR=/${PACKAGE}
-FVWM_DOCSUBDIR=/doc/${PACKAGE}
+transform=`echo "${program_transform_name}" | "$SED" -e 's/\\$\\$/\\$/'`
+PPACKAGE=`echo "${PACKAGE}" | "$SED" -e "${transform}"`
+FVWM_MODULESUBDIR=/${PPACKAGE}/${VERSION}
+FVWM_DATASUBDIR=/${PPACKAGE}
+FVWM_DOCSUBDIR=/doc/${PPACKAGE}
 
 AC_ARG_ENABLE(package-subdirs,
   AS_HELP_STRING([--disable-package-subdirs],
-- 
1.7.10.4



Re: Final long term stable version

2016-11-11 Thread Dominik Vogt
On Fri, Nov 11, 2016 at 11:35:42AM +, Thomas Adam wrote:
> On Wed, Nov 09, 2016 at 09:01:20PM +, Thomas Adam wrote:
> > On Tue, Oct 25, 2016 at 01:26:19AM +0100, Dominik Vogt wrote:
> > > The branch dv/stable-fvwm2 is up for review.  Collecting the
> > > patches was a piece of cake.  Just one conflict with the NEWS
> > > file.  The branch builds fine for me, without warnings, and I'm
> > > using it now for work.
> > 
> > Indeed -- it seems fine for me too.  We should ideally rename this as
> > 'fvwm2-stable'; I can do that if you don't have time, but I'm certainly 
> > happy
> > to call this complete and releasable -- with the appropriate documentation
> > updated, too.
> 
> Branch pushed; documentation to follow.

Thanks.

I'm still hoping that crash shows up again soon so that it can be
fixed.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Separate or common project infrastructure fvwm v2/v3.

2016-10-26 Thread Dominik Vogt
This is important enough to warrant a separate discussion thread.

On Wed, Oct 26, 2016 at 01:45:46PM +0100, Thomas Adam wrote:
> Oh, and the point of a separate repo still stands, in my eyes.  You might
> think it moot, or even an unnecessary point, but I feel it's a very important
> one.  It reinforces (psychologically) that it's separate from fvwm2.  It
> reinforces that fvwm3 is discrete, and it reinforces the idea that it will
> become divergent from fvwm2 quite quickly.

First of all, for me personally there is no psychological issue.
I can think of the continued work to be all new regardless of
which mailing list its discussed on and where the repository is
located.  It may be different for others.

>From the point of view of the users and the people reading
fvwm-workers I am very sceptical.  We have already abandoned cvs
in favour of git, and as you can see, this has even further
reduced the number of old timers who have set up a development
environment.  I'd be very careful about sending yet another "we
don't want to have anything to do with the old stuff" message to
the world.

Switching to new infrastructure, we'll automatically lose some of
the people that are interested in fvwm development, be it that
they miss that the mailing lists have moved or that they won't
understand why there are two projects with the same name and which
to look at.  On the other hand:

 * Staying on the same mailing list:  Readers will notice over time
   that we're working on something new, that version 3 will be a
   more modern and radically different thing than version 2.  They
   may become interested in it or not, only time will tell.  There
   is no information hurdle they have to take to find out that
   something new is being done.

   Bugs reported for fvwm-2.x will still be relevant to fvwm-3.x
   for a long time (depends on the bugs).  We don't want to keep
   people from reporting bugs on the list because they might think
   the project is dead when it has just moved.

 * Switching git repository:  Given that the current amount of
   work going into version 2.x is very low, having both versions
   in the same repository is certainly manageable.  It's just more
   work for anybody who is interested in both repos (and getting
   access to github *is* very cumbersome compared to cvs access in
   the past).

 * Switching to a new web space:  This would make us the target of
   ridicule for years and cause musch confusion.  How would we
   explain that there are two distict web pages for the same project
   that differ only in version number?  It would just be
   inconvenient for everybody.  All right, we would have to place
   a big announcement on the web page with a link that points to the
   version 2 related sub pages, but I think with two different web
   pages we'd have to do it on both anyway.

 * With new infrastructure we'd run the risk that fvwm is kicked
   out of even more distributions.

So, is there maybe *another* way to foster enthusiasm about a new,
incompatible version?  Maybe we just need to do some "public
relations" work here.  A while ago you started a discussion about
a new logo contest.  Great idea, why not make it an event around
the official "fork" date.  I'd be happy to donate another prize.
We'd have something "new" practically from day one.  Maybe an Irc
"fvwm version 3" kickoff party where we explain our plans for the
future?

> It's not as if we're backporting features or fixes between the two.

Of course I'll continue backporting fixes like the recent ones in
event handling in the window management core.  This code is
changes at a very low pace, and backports are easily done.

> Copy---if it makes you feel any easier--- the entirety of the
> files from fvwm's master branch to new fvwm3 repository.  Do your
> work there, the set up is

Not at all, that would just greatly complicate things and confuse
people.  What use would two copies of the same code in deifferent
repositories be?

> Do your work there, the set up is
> easy.  Having a separate fvwm3 repository also allows to integrate anything we
> wish to the main fvwm website as well (when that becomes appropriate).

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 1d38f7: !!! Start work on replacing the parsing in __execu...

2016-10-26 Thread Dominik Vogt
On Wed, Oct 26, 2016 at 01:45:46PM +0100, Thomas Adam wrote:
> On Wed, Oct 26, 2016 at 02:21:57PM +0200, Dominik Vogt wrote:
> > First of all I hope I'll be able to find the crash caused by a free of a 
> > string that is still
> > used, then experiment with it to see whether a step by step replacement of 
> > the old
> > parser is feasible while keeping the old parser around for a while.  
> > Disentangling the
> > builtin functions from the parser without changing their syntax is an
> > important step towards a new parser with a new syntax.  As long as all the
> > functions do their own parsing, replacing the syntax is a huge amount of
> > work.
> 
> But what you're describing is the biggest piece of work which would almost
> define fvwm3.  Thus far, there's still an on-going discussion about how we're
> going to do that.  Heck, we haven't even declared fvwm2-stable or fvwm-2.6.7
> yet.  Aren't you jumping the gun a little?

Maybe, maybe not.  This work only changes the inner structure of
the parser yet and has few user visible changes (some rarely
triggered quoting issues).

> I'd argue---quite strongly---that any work towards a new parser should be done
> with breaking everything completely.  Sure, you can still keep some of the
> surrounding things, but trying to maintain backwards-compatibility isn't
> necessary given the measures we're putting in place for fvwm2's future.

It's not about staying compatible but about changing the parser in
steps with a useable intermediary result that can be tested.
Donig the parser from zero would mean to have nothing that works
even remotely for months.

> But at the moment, we haven't even discussed what that will look like, or what
> requirements we might have.  I started to do that recently when I put out a
> proposal for a new syntax to see how that fared.

Yeah, I've seen that.  The current work should be independent of
the syntax we're aiming at though.  I would imagine changing the
parser in several distinct steps:

  1. Restructuring the code so that different parsers can be plugged
 in at run time on a per builtin basis.
 [This is what the current  work is about.]

  2. Replace the current builtins parsing code with an abstract
 syntax description and provide a parsing core that can parse
 the input and provide the output the builtins need.
 [This is the really big chunk of work.]

  3. Replace the internal parser language (quoting, argument
 passing, variable expansion, conditional syntax etc.).

  4. Rewrite the builtins' syntax descriptions to a new style that
 will hopefully be easier to read, write and parse.

Note that once step 1 is complete, the following steps can be
written and tested in a separate parser plugin, so the code stays
useable even while the new parser is still under construction.
You just switch to the unfinished parser for certain commands.
Once the result is stable, the duplicate code can be eliminated
(or kept around for a while to give people more time to adapt).

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 5b3250: Fix gettext write to read only string; fix warning...

2016-10-26 Thread Dominik Vogt
On Wed, Oct 26, 2016 at 08:40:02AM +0200, Florian Schmidt wrote:
> On 10/25/2016 06:38 PM, Dominik Vogt wrote:
> >Right.  A solution must disable the warnings on any compilers and
> >versions the developers use, and not break compilation anywhere.
> 
> The way I generally do it is check for the compiler, and then define
> a macro for gcc and for clang using those attributes. Admittedly,
> that works, because for the stuff I work on, those two are all that
> is expected to be ever used; something that probably cannot be said
> about fvwm.
> 
> In the end, this mail (and the one from yesterday) are outdated
> anyway

No, I'm still thinking about a possible solution that works
without using potentially unportable headers.  A colleague has
come up with this:

 x = (x >= 0) ? (((unsigned) x) & 0x7fff)
  : - ((- (unsigned) x) & 0x7fff);

Well, there's CARD16/INT16 defined in Xmd.h, maybe we should use
them instead of the the C standard headers.

> because I see you already found another solution via the
> SUPPRESSED_UNUSED_VAR_WARNING macro, so disregard my comments.

> But, since I'm curious: that macro doesn't have the problem of
> potentially masking warnings about using uninitialized variables?

I hope so, but that may depend on how clever the compiler is.

> I guess the important difference is that you only use , not x
> itself any more?

Yes.  Apparently when the pointer is used, Gcc thinks any value
set may be used, but does not consider it a potentially
uninitialised use. 

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 1d38f7: !!! Start work on replacing the parsing in __execu...

2016-10-26 Thread Dominik Vogt
> Gesendet: Mittwoch, 26. Oktober 2016 um 12:06 Uhr
> Von: "Thomas Adam" <tho...@fvwm.org>
> An: "Dominik Vogt" <dominik.v...@gmx.de>
> Cc: fvwm-workers@fvwm.org
> Betreff: Re: [fvwmorg/fvwm] 1d38f7: !!! Start work on replacing the parsing 
> in __execu...
>
> On Wed, Oct 26, 2016 at 12:04:46PM +0200, Dominik Vogt wrote:
> > > On Tue, Oct 25, 2016 at 03:41:45PM -0700, GitHub wrote:
> > > >   Branch: refs/heads/dv/new-parser-2
> > ...
> > > 
> > > I ported all of this over before here:
> > > 
> > > https://github.com/fvwmorg/fvwm/tree/new-parser
> > > 
> > > You should just rebase that against master, and use that if it's any use?
> > 
> > This new branch is the result of rebasing the new-parser branch against 
> > master.  There
> > were some conflicts with the USE_DECOR removal patch, and rebase had some 
> > trouble
> > with the mvwm subdirectory, so I've rewritten the history to eliminate this 
> > directory
> > (and merged some commits for simplicity).
> 
> Cool -- but what do you intend to do with this work?

First of all I hope I'll be able to find the crash caused by a free of a string 
that is still
used, then experiment with it to see whether a step by step replacement of the 
old
parser is feasible while keeping the old parser around for a while.  
Disentangling the
builtin functions from the parser without changing their syntax is an important 
step
towards a new parser with a new syntax.  As long as all the functions do their 
own
parsing, replacing the syntax is a huge amount of work.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 1d38f7: !!! Start work on replacing the parsing in __execu...

2016-10-26 Thread Dominik Vogt
> On Tue, Oct 25, 2016 at 03:41:45PM -0700, GitHub wrote:
> >   Branch: refs/heads/dv/new-parser-2
...
> 
> I ported all of this over before here:
> 
> https://github.com/fvwmorg/fvwm/tree/new-parser
> 
> You should just rebase that against master, and use that if it's any use?

This new branch is the result of rebasing the new-parser branch against master. 
 There
were some conflicts with the USE_DECOR removal patch, and rebase had some 
trouble
with the mvwm subdirectory, so I've rewritten the history to eliminate this 
directory
(and merged some commits for simplicity).

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Setting a reply-to header in commit messages

2016-10-25 Thread Dominik Vogt
Thomas, can you set a Reply-To: header in the commit mails that
points to fvwm-workers?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 1d38f7: !!! Start work on replacing the parsing in __execu...

2016-10-25 Thread Dominik Vogt
I've rebased the new-parser branch to the current master.  I've
not yet tested it, but it compiles and has no mention of "mvwm" in
its history anymore, so coming rebases should be much easier.

@Thomas:  Can you remember what the patches to FScreen.h in ~2 and
~6 are about?

On Tue, Oct 25, 2016 at 03:41:45PM -0700, GitHub wrote:
>   Branch: refs/heads/dv/new-parser-2
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 1d38f7a2727f28f1817e1c951bc07267002d2006
>   
> https://github.com/fvwmorg/fvwm/commit/1d38f7a2727f28f1817e1c951bc07267002d2006
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)
> 
>   Changed paths:
> M fvwm/Makefile.am
> M fvwm/add_window.c
> M fvwm/builtins.c
> A fvwm/cmdparser.h
> A fvwm/cmdparser_old.c
> A fvwm/cmdparser_old.h
> M fvwm/colorset.c
> M fvwm/conditional.c
> M fvwm/events.c
> M fvwm/ewmh.c
> M fvwm/ewmh_events.c
> M fvwm/expand.c
> M fvwm/expand.h
> M fvwm/functions.c
> M fvwm/functions.h
> M fvwm/fvwm.c
> M fvwm/fvwm.h
> M fvwm/menucmd.c
> M fvwm/menus.c
> M fvwm/module_interface.c
> M fvwm/move_resize.c
> M fvwm/read.c
> M fvwm/repeat.c
> M fvwm/schedule.c
> M fvwm/update.c
> M fvwm/virtual.c
> M fvwm/windowlist.c
> 
>   Log Message:
>   ---
>   !!! Start work on replacing the parsing in __execute_command_line ...
> 
> ... with hook functions that are implemented elsewhere.  This aims
> at allowing to writing and testing multiple parsers in parallel
> and at moving all parsing and expansion stuff to a different
> place.
> 
> 
>   Commit: 71b8dd6064553ad646bfadebfb501a95f7d5da9c
>   
> https://github.com/fvwmorg/fvwm/commit/71b8dd6064553ad646bfadebfb501a95f7d5da9c
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)
> 
>   Changed paths:
> M fvwm/cmdparser.h
> M fvwm/cmdparser_old.c
> M fvwm/functions.c
> 
>   Log Message:
>   ---
>   add debug output and fix positional arguments
> 
> 
>   Commit: 4deefa9510ef6da3ca9d2e4d1a90aa59785e4a74
>   
> https://github.com/fvwmorg/fvwm/commit/4deefa9510ef6da3ca9d2e4d1a90aa59785e4a74
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)
> 
>   Changed paths:
> M fvwm/cmdparser_old.c
> M fvwm/functions.c
> 
>   Log Message:
>   ---
>   add debug output and fix command line prefixes
> 
> 
>   Commit: 7f357808de11b36d40f86c1d5731597036df56f3
>   
> https://github.com/fvwmorg/fvwm/commit/7f357808de11b36d40f86c1d5731597036df56f3
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)
> 
>   Changed paths:
> M fvwm/Makefile.am
> M fvwm/cmdparser.h
> A fvwm/cmdparser_hooks.h
> M fvwm/cmdparser_old.c
> M fvwm/conditional.h
> M fvwm/functable.c
> M fvwm/functable.h
> A fvwm/functable_complex.c
> A fvwm/functable_complex.h
> M fvwm/functions.c
> M fvwm/functions.h
> M fvwm/fvwm.h
> M fvwm/misc.c
> M fvwm/repeat.c
> M fvwm/screen.h
> M libs/FScreen.h
> 
>   Log Message:
>   ---
>   Convert special logic in __execute_command_line for functions ...
> 
> ... that may move a window to a separate function flag.
> 
> Move find_builtin_function() to functable.[ch].
> 
> Moved some functions to functable.[ch] and functable_complex.[ch].
> 
> This separation is needed for the parsing hooks.  It was very difficult to get
> the #icludes right.  The DesktopsInfo structure was moved to libs/FScreen.h
> so that the library does not depend on core header files anymore.
> 
> Move WindowConditionMask from mvwm.h to conditional.h.
> 
> Finish 1st draft of hook implementation (__execute_command_line)
> 
> 
>   Commit: 5f747ebc65614dd91906bb8bfbcf7f73452fa7ec
>   
> https://github.com/fvwmorg/fvwm/commit/5f747ebc65614dd91906bb8bfbcf7f73452fa7ec
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)
> 
>   Changed paths:
> M fvwm/cmdparser.h
> M fvwm/cmdparser_hooks.h
> M fvwm/cmdparser_old.c
> M fvwm/expand.c
> M fvwm/functions.c
> 
>   Log Message:
>   ---
>   Split pos_args into a string with all positional args and an array.
> 
> 
>   Commit: 6c1872dd38731d9a5a8f42bcfa5a2b36f5b73149
>   
> https://github.com/fvwmorg/fvwm/commit/6c1872dd38731d9a5a8f42bcfa5a2b36f5b73149
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10

Re: Black screen and fallback config with master

2016-10-25 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 10:03:49PM +0100, Thomas Adam wrote:
> On Tue, Oct 25, 2016 at 09:46:48PM +0100, Dominik Vogt wrote:
> > On Tue, Oct 25, 2016 at 07:20:11PM +0100, Dominik Vogt wrote:
> > > With the current master, my configuration file is not used anymore
> > > (no error message)  All I get is a black screen with the builtin
> > > menu.
> > 
> > It looks like
> > 
> >   ModulePath +:$HOME/bin
> > 
> > is broken.  With this line it does not find FvwmCpp anymore
> > 
> >   -fvwm -d "$DISPLAY" -cmd "FvwmCpp -I$HOME -DHOMEDIR=$HOME 
> > $HOME/.fvwm/.fvwm2rc"
> 
> Do you get a corefile?  I can't get fvwm to crash or segfault when I mess with
> defining ModulePath, but I don't use FvwmCpp either.

No, it doesn't crash, it just starts without a config.  I've tried
to bisect it, and at master~11 it started to work again, and now
I'm unable to reproduce the effect.  Maybe configure just got
confused becuase of the switching between master and
dv/stable-fvwm2?  I'll watch this and try to pin it down if it
reappears.

Maybe "fvwm --version" should print the builtin paths.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Black screen and fallback config with master

2016-10-25 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 07:20:11PM +0100, Dominik Vogt wrote:
> With the current master, my configuration file is not used anymore
> (no error message)  All I get is a black screen with the builtin
> menu.

It looks like

  ModulePath +:$HOME/bin

is broken.  With this line it does not find FvwmCpp anymore

  -fvwm -d "$DISPLAY" -cmd "FvwmCpp -I$HOME -DHOMEDIR=$HOME 
$HOME/.fvwm/.fvwm2rc"

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 0c5211: Expose: don't flush accumulated events

2016-10-25 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 02:39:36AM +0100, Dominik Vogt wrote:
> On Tue, Oct 25, 2016 at 01:59:46AM +0100, Thomas Adam wrote:
> > On Tue, Oct 25, 2016 at 01:42:58AM +0100, Thomas Adam wrote:
> > > On Tue, Oct 25, 2016 at 01:34:57AM +0100, Dominik Vogt wrote:
> > > > I fear this commit is too disruptive.  Aggregating Expose events
> > > > is very important to deal with race conditions cause by
> > > > applications doing crazy stuff.  Is there some explanation of the
> > > > problem that was fixed with this commit?  I'd like to revisit it
> > > > and see what needs to be done with the aggregation code to fix it
> > > > without completely removing it.  Probably it just needs to stop
> > > > aggregating more often.
> > > 
> > > It was to do with icons not being redrawn with moving one icon over 
> > > another
> > > when using ParentRelative (transparent icons).  The icons would leave
> > > artefacts and never refresh.
> > > 
> > > I can't find the original thread in the archives but I know there is one.
> > 
> > Because it was posted on GH.  Here's the issue:
> > 
> > https://github.com/fvwmorg/fvwm/issues/11
> > 
> > That's all the information you'll need.
> 
> Thanks.  I'll take a look at the bug.

Fixed.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-25 Thread Dominik Vogt
On Mon, Oct 24, 2016 at 09:59:56PM +0100, Dominik Vogt wrote:
> On Sun, Oct 23, 2016 at 11:39:14AM -0300, zli...@ns.sympatico.ca wrote:
> > On Sun, Oct 23, 2016 at 13:25 (+0100), Dominik Vogt wrote:
> ...
> > > Can you please try out the branch "dv/fix-cr-merging" tha I've
> > > just pushed and see if the fix works for you?  (For me, it does.)
> > 
> > And it does for me.
> 
> I've overwritten the branch with a new, hopefully portable version
> of the patch.  Can you please try it again?

The fix is on master now, but master is broken at the moment.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Black screen and fallback config with master

2016-10-25 Thread Dominik Vogt
With the current master, my configuration file is not used anymore
(no error message)  All I get is a black screen with the builtin
menu.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Excluding files from Travis-CI

2016-10-24 Thread Dominik Vogt
Is it possible to exclude commits that only touch files like
TODO.md or .gitignore from requiring a build before they can be
pushed to master?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 0c5211: Expose: don't flush accumulated events

2016-10-24 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 01:59:46AM +0100, Thomas Adam wrote:
> On Tue, Oct 25, 2016 at 01:42:58AM +0100, Thomas Adam wrote:
> > On Tue, Oct 25, 2016 at 01:34:57AM +0100, Dominik Vogt wrote:
> > > I fear this commit is too disruptive.  Aggregating Expose events
> > > is very important to deal with race conditions cause by
> > > applications doing crazy stuff.  Is there some explanation of the
> > > problem that was fixed with this commit?  I'd like to revisit it
> > > and see what needs to be done with the aggregation code to fix it
> > > without completely removing it.  Probably it just needs to stop
> > > aggregating more often.
> > 
> > It was to do with icons not being redrawn with moving one icon over another
> > when using ParentRelative (transparent icons).  The icons would leave
> > artefacts and never refresh.
> > 
> > I can't find the original thread in the archives but I know there is one.
> 
> Because it was posted on GH.  Here's the issue:
> 
> https://github.com/fvwmorg/fvwm/issues/11
> 
> That's all the information you'll need.

Thanks.  I'll take a look at the bug.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-24 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 01:38:17AM +0100, Thomas Adam wrote:
> On Tue, Oct 25, 2016 at 01:08:21AM +0100, Dominik Vogt wrote:
> > > I wouldn't bother with this point---fvwm3 should be a separate repository
> > > entirely.
> > 
> > Why?  Unless some people step up and tell us they'd want to take
> > over fvwm2 development, what is the gain of duplicating all
> > infrastructure?
> 
> You're assuming fvwm3 is based off fvwm2 for anything.  Whilst that might be
> true for somethings, I think that should be the exception rather than the
> rule.  I was serious in my proposal to make fvwm3 a clean break, and it should
> be that in its entirety including its own repository.

That leaves much room for interpretation.  A "clean break" to me
would mean to write it from scratch, and that's practically
impossible because the fvwm2 window managing code contains many
hundreds of hours undocumented experience with strange
applications and optimising communication with the X server.  

Well, my plan for fvwm3 has always been to make changes to fvwm2
to be able to do things that are not possible with todays code.
For example, styles that can be attached to window states or even
more complex conditions.  One thing that gets in the way of lots
of future work is the terrible parser and backwards compatibility
of the syntax.  I also want to see FvwmButtons being replaced by
something flexible, configurable at run time and useable.

I have no intention of removing _useful_ features because the code
looks ugly.

> I question what "infrastructure" might be needed from fvwm2 that would mean
> using it as a basis.

Developers, repository, webspace.

> > That would be good (I'm assuming that you mean just #3).  Give me
> > some time to organise the fvwm2-stable branch (suggestions for a
> > better name welcome maybe "stable-fvwm2").
> 
> Yes, I was just referring to point #3; let me know when that's good to be
> done.

As soon as we know that nothing important is missing from
dv/stable-fvwm2.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 8e9804: configure.ac: appease CLANG

2016-10-24 Thread Dominik Vogt
On Mon, Oct 24, 2016 at 05:24:07PM -0700, GitHub wrote:
>   Branch: refs/heads/dv/stable-fvwm2
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 8e9804aa79e6dcba040ab1e4cb6e6e56fae6c5e4
>   
> https://github.com/fvwmorg/fvwm/commit/8e9804aa79e6dcba040ab1e4cb6e6e56fae6c5e4
>   Author: Thomas Adam <tho...@fvwm.org>
>   Date:   2016-10-25 (Tue, 25 Oct 2016)

This is the candidate for the stable-fvwm2 branch.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 0c5211: Expose: don't flush accumulated events

2016-10-24 Thread Dominik Vogt
On Sat, Aug 06, 2016 at 01:09:23AM -0700, GitHub wrote:
>   Branch: refs/heads/master
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 0c5211e20940cd8dc811753c83118107d6964c8c
>   
> https://github.com/fvwmorg/fvwm/commit/0c5211e20940cd8dc811753c83118107d6964c8c
>   Author: Thomas Adam <tho...@fvwm.org>
>   Date:   2016-08-06 (Sat, 06 Aug 2016)
> 
>   Changed paths:
> M fvwm/events.c
> M fvwm/icons.c
> M fvwm/menus.c
> 
>   Log Message:
>   ---
>   Expose: don't flush accumulated events
> 
> When dealing with Expose events, don't ever flush the accumulated ones; the
> handling of the queue here is incorrect, and ultimately gets addressed during
> other operations.
> 
> This should help fix the problem of ParentRelative icon pixmaps from
> corrupting other icons, etc.
> 
> 
>   Commit: f51d113bf456d23fedbad73145d9c4f05d097bb8
>   
> https://github.com/fvwmorg/fvwm/commit/f51d113bf456d23fedbad73145d9c4f05d097bb8
>   Author: Thomas Adam <tho...@fvwm.org>
>   Date:   2016-08-06 (Sat, 06 Aug 2016)
> 
>   Changed paths:
> M fvwm/events.c
> M fvwm/icons.c
> M fvwm/menus.c

I fear this commit is too disruptive.  Aggregating Expose events
is very important to deal with race conditions cause by
applications doing crazy stuff.  Is there some explanation of the
problem that was fixed with this commit?  I'd like to revisit it
and see what needs to be done with the aggregation code to fix it
without completely removing it.  Probably it just needs to stop
aggregating more often.

This code is actually the result of many hours dealing with
totally broken applications and trying to keek fvwm responsive
even when flooded with all kinds of stupid events.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-24 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 01:08:21AM +0100, Dominik Vogt wrote:
> On Tue, Oct 25, 2016 at 12:53:44AM +0100, Thomas Adam wrote:
> > On Tue, Oct 25, 2016 at 12:48:01AM +0100, Dominik Vogt wrote:
> > > Okay, then how about this:
> > > 
> > > 1. Start a branch fvwm2-stable at 2.6.6 and document it as the
> > >long term stable branch.
> > 
> > OK.
> > 
> > > 2. Backport fixes and functional changes from master.
> > 
> > OK.  (Which, and why?)
> 
> Obviously at least the fix I've just made to FEvent.c as it was
> introduced in 2.6.6 and breaks things really badly.  The fix for
> the hang in FvwmButtons is another likely candidate.  There are
> only a few interesting commits.  Possibly the things you mentioned
> in NEWS, which sound all like small changes.
> 
> > > 3. Release 2.6.7 on this branch with a proper announcement.
> > 
> > OK.
> > 
> > > 4. Release 2.9.0* on master and announce it as the release
> > >starting future development towards fvwm3.
> > 
> > I wouldn't bother with this point---fvwm3 should be a separate repository
> > entirely.
> 
> Why?  Unless some people step up and tell us they'd want to take
> over fvwm2 development, what is the gain of duplicating all
> infrastructure?
> 
> Well, at the moment the only interesting issue is how to name the
> release tags.  I'd prefer a naming scheme like 3.-1.x, but the
> tools will probably not like this.  :-)
> 
> > > I can take care of 1 and 2 but need some help with 3 because I've
> > > never done a release using the new infrastructure.
> > 
> > I can take care of that if you like?
> 
> That would be good (I'm assuming that you mean just #3).  Give me
> some time to organise the fvwm2-stable branch (suggestions for a
> better name welcome maybe "stable-fvwm2").

The branch dv/stable-fvwm2 is up for review.  Collecting the
patches was a piece of cake.  Just one conflict with the NEWS
file.  The branch builds fine for me, without warnings, and I'm
using it now for work.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-24 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 12:53:44AM +0100, Thomas Adam wrote:
> On Tue, Oct 25, 2016 at 12:48:01AM +0100, Dominik Vogt wrote:
> > Okay, then how about this:
> > 
> > 1. Start a branch fvwm2-stable at 2.6.6 and document it as the
> >long term stable branch.
> 
> OK.
> 
> > 2. Backport fixes and functional changes from master.
> 
> OK.  (Which, and why?)

Obviously at least the fix I've just made to FEvent.c as it was
introduced in 2.6.6 and breaks things really badly.  The fix for
the hang in FvwmButtons is another likely candidate.  There are
only a few interesting commits.  Possibly the things you mentioned
in NEWS, which sound all like small changes.

> > 3. Release 2.6.7 on this branch with a proper announcement.
> 
> OK.
> 
> > 4. Release 2.9.0* on master and announce it as the release
> >starting future development towards fvwm3.
> 
> I wouldn't bother with this point---fvwm3 should be a separate repository
> entirely.

Why?  Unless some people step up and tell us they'd want to take
over fvwm2 development, what is the gain of duplicating all
infrastructure?

Well, at the moment the only interesting issue is how to name the
release tags.  I'd prefer a naming scheme like 3.-1.x, but the
tools will probably not like this.  :-)

> > I can take care of 1 and 2 but need some help with 3 because I've
> > never done a release using the new infrastructure.
> 
> I can take care of that if you like?

That would be good (I'm assuming that you mean just #3).  Give me
some time to organise the fvwm2-stable branch (suggestions for a
better name welcome maybe "stable-fvwm2").

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Need of a "devel" branch?

2016-10-24 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 12:23:45AM +0100, Thomas Adam wrote:
> On Sat, Oct 22, 2016 at 11:41:54PM +0100, Dominik Vogt wrote:
> > Unless we're doing lots of disruptive stuff I'd prefer to
> > propagate completed patchsets into master early so they get more
> > testing.
> 
> Yup.  Well, that's what we have enforced right now, so I think it's working as
> intended.  Of course, during development on a given feature, there's nothing
> stopping a few developers working against a common topic integration branch of
> their own, which is then used as the topic-branch for review before it hits
> master.  I suspect we'll never get there though, given the low number of
> developers, alas.

Let's just watch how things work for a while and then see if its
necessary or not.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 64d424: DEVELOPERS: mention NEWS file

2016-10-24 Thread Dominik Vogt
On Tue, Oct 25, 2016 at 12:27:40AM +0100, Thomas Adam wrote:
> On Tue, Oct 25, 2016 at 12:23:54AM +0100, Dominik Vogt wrote:
> > On Mon, Oct 24, 2016 at 11:54:00PM +0100, Thomas Adam wrote:
> > > On Mon, Oct 24, 2016 at 10:29:30PM +0100, Dominik Vogt wrote:
> > > > ... but in a separate commit please.  Patching the NEWS file in
> > > > the same commit as the code change makes bug hunting and reverting
> > > > patches more difficult.
> > > 
> > > Maybe, but how often does that really happen?
> > 
> > It actually happens all the time when you want to reshuffle or
> > revert commits with NEWS entries.  The was worse with the
> > ChangeLog.  In CVS you wouldn't notice this often becaus you
> > couldn't rebase anything, but in Git its quite annyoing to my
> > experience.
> 
> Hmm.  But then you'll also have to explicitly identify the other stuff in NEWS
> as well.  Ah, I dunno---maybe it's not such a problem, but I think trying to
> enforce this going to be hard.  It's not something I'll necessarily remember
> to follow.

I've made a habit of using "git add -i" to sort the pending
changes into series of small commits so I won't accidentally
changes that I don't want to (like debug printfs and accidental
formatting changes).  If I keep NEWS and ChangeLog changes and the
like in the commits that actually so the real work, I always get
conflicts when rebasing stuff, so keeping it separately comes with
lazyness.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-24 Thread Dominik Vogt
On Mon, Oct 24, 2016 at 11:52:03PM +0100, Thomas Adam wrote:
> On Mon, Oct 24, 2016 at 11:24:58PM +0100, Dominik Vogt wrote:
> > How about a compromise:  Leave the code in, but announce that
> > these features are deprecated and will not be maintained anymore.
> > So, if any people still use some of them (FvwmTheme, FvwmWinList,
> > FvwmTaskBar and GNOME support being the most liekely), they can
> > still use the code as it is.  If any problems arise with these
> > features, all we'll do is providing information on replacing the
> > features.
> 
> That's OK.  I'm done with it anyway; I've put a lot of effort into dragging
> FVWM out from its hiding place; improving it in the best way I could.  I'm
> actually proud to leave it in the state that's in in now---in the last six
> months of effort I've spent putting into this, I've yet to have anyone tell me
> that they'd miss these things, or that they're actually used.

Really, this is not about people who are interested in new fvwm
development or who are simply content with what fvwm2 does now.
It's only a service for people running obscure boxes with
configurations maybe a ten years old kiosk system config who need
an important fix.

> But maybe you know different, in which case you're more than free to go ahead
> with this

> ---but know that I find it rather insulting to think that my efforts
> have been largely ignored on the idea that the small minority of users might
> be inconvenienced by these changes.

Your efforts are *not* ignored.  All these removals are good; the
only thing I fell a bit uneasy about is removing GNOME support
because I've seen so many funny commercial applications that use
wild sets of GNOME/ICCCM2/EWMH hints, and these are notorius to be
still broken ten years after a bug was found.

> I just don't think that's true at all.

> Trying to rearrange things is madness---and I won't have master rebased
> because of that.  That's not how this works, and I'm not hearing a good reason
> for this at all.

Actually, another way is to make an fvwm2-stable branch from 2.6.6
and backport the fixes from master.  That's not much of an effort
either, only that the ChangeLog entries will be missing for some
of them.

> If we're leaving 2.6 behind, we should do that by releasing master as 2.6.7
> and calling it a day.  If people want something so badly, then they can use
> 2.6.6 and do whatever ontop of it.

Okay, then how about this:

1. Start a branch fvwm2-stable at 2.6.6 and document it as the
   long term stable branch.
2. Backport fixes and functional changes from master.
3. Release 2.6.7 on this branch with a proper announcement.
4. Release 2.9.0* on master and announce it as the release
   starting future development towards fvwm3.

I can take care of 1 and 2 but need some help with 3 because I've
never done a release using the new infrastructure.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 64d424: DEVELOPERS: mention NEWS file

2016-10-24 Thread Dominik Vogt
On Mon, Oct 24, 2016 at 11:54:00PM +0100, Thomas Adam wrote:
> On Mon, Oct 24, 2016 at 10:29:30PM +0100, Dominik Vogt wrote:
> > ... but in a separate commit please.  Patching the NEWS file in
> > the same commit as the code change makes bug hunting and reverting
> > patches more difficult.
> 
> Maybe, but how often does that really happen?

It actually happens all the time when you want to reshuffle or
revert commits with NEWS entries.  The was worse with the
ChangeLog.  In CVS you wouldn't notice this often becaus you
couldn't rebase anything, but in Git its quite annyoing to my
experience.

> The problem with making NEWS
> file special somehow is going to cause problems with git-bisect because you'd
> be forever skipping over commits.

The worst that can happen is that you have twice as many commits,
i.e. one bisect step more that usual.  But actually NEWS commits
are quite rare.  Most of the changes don't make it into the NEWS
file.  So, yes, sometimes you'll have one more bisect step, but
that's maybe an extra three minutes or so.  I wouldn't worry about
that.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-24 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 11:50:48AM +0100, Thomas Adam wrote:
> On Sun, Oct 23, 2016 at 11:46:23AM +0100, Dominik Vogt wrote:
> > The old stable branch should provide important fixes for people
> > who use old versions, and that includes not taking away stuff from
> > them, no?  The idea is that people who have some good (but rare)
> > reason to stick with the old version can continue doing so.
> > 
> > > Given all of this, I think it's safe to do this.  I have heard nothing 
> > > from
> > > anyone in recent years who are using the above, and/or who haven't already
> > > migrated to FvwmButtons or FvwmTaskbar for the most part.
> > 
> > But actually these removals are only half a year old and are not
> > part of any release yet.
> 
> So this work is going towards that next release.  If you were to forget about
> 2.6.7 being the last release of fvwm2 before we move away to pastures new,
> then this work is simply another iteration on improving fvwm2.  This is where
> I want to leave fvwm2, in a known good state, by removing all the things I've
> mentioned.  It means the user can actually use something which is "current",
> and more maintainable, and it also means that any maintenance work needed is
> reduced in scope because there's less things to worry about.

How about a compromise:  Leave the code in, but announce that
these features are deprecated and will not be maintained anymore.
So, if any people still use some of them (FvwmTheme, FvwmWinList,
FvwmTaskBar and GNOME support being the most liekely), they can
still use the code as it is.  If any problems arise with these
features, all we'll do is providing information on replacing the
features.

I understand your wish to leave fvwm2 in a clean, maintainable
state but think that leaving it as compatible as possible is more
important here so that people can keep using the feature set they
are used to.  Remember that we're not making the long term stable
release to win a beaty contest but to make the transition for the
users as painless as possible.  Anyway, leaving the modules in
won't cause anybody any pain.  The only thing that is potentially
problematic regarding maintenance is GNOME support (and removing
it may be problematic too because there are (mostly commercial)
applications out in the wild that still use it).

After this one time cut were free to conclusively remove any old
features and never look back.  With just a little more work (a few
hours), adding the removal patches right after the release is just
a matter of glueing the release label to the right commit.

Reshuffling the commits is quite easy (see dv/master-late-deletes
branch), and the commit before the removal patches still builds
fine.  It's just a bit more work to figure out what to do with
NEWS and INSTALL.fvwm.  The only thing that's not nice is that the
master needs to be rebased once.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] acd886: Infostore: persist on restart

2016-10-24 Thread Dominik Vogt
On Mon, Oct 24, 2016 at 03:02:11PM -0700, GitHub wrote:
>   Branch: refs/heads/dv/master-late-deletes

Forget about what the commit mail says.  This branch is an attempt
to resort the patches after 2.6.6 so that the patches removing
features come last.  It mostly works out of the box, except for
conflicts in the documentation files NEWS and INSTALL.fvwm.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 64d424: DEVELOPERS: mention NEWS file

2016-10-24 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 02:46:46AM +0100, Dominik Vogt wrote:
> On Sat, Oct 22, 2016 at 06:32:12PM -0700, GitHub wrote:
> >   Branch: refs/heads/ta/reluctant-news
> >   Home:   https://github.com/fvwmorg/fvwm
> >   Commit: 64d4244746754610a64ed35de9ca69e557d3e25a
> >   
> > https://github.com/fvwmorg/fvwm/commit/64d4244746754610a64ed35de9ca69e557d3e25a
> >   Author: Thomas Adam <tho...@xteddy.org>
> >   Date:   2016-10-23 (Sun, 23 Oct 2016)
> > 
> >   Changed paths:
> > M docs/DEVELOPERS.md
> > 
> >   Log Message:
> >   ---
> >   DEVELOPERS: mention NEWS file
> 
> Thanks.
> 
> > Let's try and get patches which introduce changes to also include changes to
> > the NEWS file.

... but in a separate commit please.  Patching the NEWS file in
the same commit as the code change makes bug hunting and reverting
patches more difficult.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-24 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 11:39:14AM -0300, zli...@ns.sympatico.ca wrote:
> On Sun, Oct 23, 2016 at 13:25 (+0100), Dominik Vogt wrote:
...
> > Can you please try out the branch "dv/fix-cr-merging" tha I've
> > just pushed and see if the fix works for you?  (For me, it does.)
> 
> And it does for me.

I've overwritten the branch with a new, hopefully portable version
of the patch.  Can you please try it again?

> What is slightly weird is that if I have the acroread window wholly
> contained on my laptop screen and go into full screen, the window
> warps over to the external monitor.

Is that something new or has it always been this way?

I'll have a look at how acroread actually does the transition to
fullscreen mode.  Maybe it's doing something differently.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-23 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 04:10:25PM +0100, Thomas Adam wrote:
> On Sun, Oct 23, 2016 at 04:05:03PM +0100, Dominik Vogt wrote:
> > I never can remember this; is it safe (in C) to assume that
> > negative integers are stored in two-complement format?  (Of course
> > the old code makes the same assumtion, but it's broken and I want
> > to fix it.)
> 
> It is not safe to make the assumption that negative integers are stored as
> twos-compliment.  C99 does not mandate whether that will be in
> twos-compliment, or ones-compliment.  Although most hardware will typically
> (in my experience) used twos-compliment, that's no guarantee.
> 
> So it's not portable; casting the values is the way to go.

Ah, the autoconf manual has some information in stdint.h:

  5.6.1 Portability of Headers

  ...

  inttypes.h vs. stdint.h

The C99 standard says that inttypes.h includes stdint.h, so
there's no need to include stdint.h separately in a standard
environment. Some implementations have inttypes.h but not
stdint.h (e.g., Solaris 7), but we don't know of any
implementation that has stdint.h but not inttypes.h. 

As far as I remember there was also an issue that inttypes.h does
not include stdint.h on all platforms, so we need configure tests
for both headers.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-23 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 04:39:53PM +0200, Viktor Griph wrote:
> Den 23 okt. 2016 14:36 skrev "Dominik Vogt" <dominik.v...@gmx.de>:
> > void fev_sanitise_configure_request(XConfigureRequestEvent *cr)
> > {
> > if (cr->value_mask & CWX)
> > {
> > cr->x = (((int)cr->x) & 0x);
> > }
> > ...
> > if (cr->value_mask & CWHeight)
> > {
> > cr->height = (((unsigned int)cr->height) &
> 0x);
> > }
> > ...
> > }
> >
> > This tries to deal with an inconsistency between the X protocol
> > and the Xlib structures:  In the X protocol, in the
> > ConfirureWindow request, X and Y are signed "INT16" quantities and
> > WIDTH and HEIGT are unsigned "CARD16" quantities, while in the
> > Xlib structures they are "int" or "unsigned int".
> >
> > The code tries to cut off the excess bits from X and Y and does it
> > wrong.  With 32-bit integers, if cr->x is -1:
> >
> >  ((int)-1) & 0x = 0x & 0x
> > = 0x
> > = 65535
> >
> > I'm not sure how to fix this.  The easiest approach would be to
> > cast these values to int16_t or uint16_t from stdint.h, but I
> > vaguely remember there are some portability issues with the
> > inttypes.s/stdint.h headers.
> 
> Instead of setting the excess bits to 0 we need to set them to 1 for the
> negative case.
> 
> What about
> if (cr->x & 0x8000)
> {
> cr->x = (((int)-1) ^ 0x7fff) | (((int)cr->x) & 0x7fff);
> }
> else
> {
>  cr->x = (((int)cr->x) & 0x);
> }
> 
> The negative case could be simplified to
> 
> (((int)-1) ^ 0x7fff) | ((int)cr->x)
> 
> Or
> 
> ((int)-1)<<16|((int)cr->x)

I never can remember this; is it safe (in C) to assume that
negative integers are stored in two-complement format?  (Of course
the old code makes the same assumtion, but it's broken and I want
to fix it.)

If it's really portable, the cleanest way is casting to int16_t
and uint16_t from stdint.h.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-23 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 08:36:10PM -0300, zli...@ns.sympatico.ca wrote:
> On Sun, Oct 23, 2016 at 00:20 (+0100), Thomas Adam wrote:
> 
> > On Sat, Oct 22, 2016 at 07:56:31PM -0300, zli...@ns.sympatico.ca wrote:
> >> I cloned the git version about 15 minutes ago and compiled it, and
> >> acroread still does not go full-screen correctly.
> 
> > Can you reproduce this using a more accessible program, please?  I'm using
> > FreeBSD.
> 
> No, I can't.  That is, all other programs I use which have a
> "full-screen" mode work fine.

Can you please try out the branch "dv/fix-cr-merging" tha I've
just pushed and see if the fix works for you?  (For me, it does.)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-23 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 11:51:52AM +0100, Thomas Adam wrote:
> On Sun, Oct 23, 2016 at 11:13:59AM +0100, Dominik Vogt wrote:
> > I'm now trying to identify the commit with which this strange
> > placement started.  Do you know of any other commit ids or dates
> > between 2.6.5 and 2.6.6 that were definitely fine or broken?
> 
> Whoever ends up doing this, should use git-bisect to ascertain how I broke
> this.  ;P

Don't panic, it's one of my commits.
9e08db937a873943721f247e3ddfaed358faa143

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-23 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 03:22:08AM +0100, Thomas Adam wrote:
> On Sun, Oct 23, 2016 at 03:12:19AM +0100, Dominik Vogt wrote:
> > On Sat, Oct 22, 2016 at 01:19:57PM +0100, Thomas Adam wrote:
> > > On Mon, Oct 17, 2016 at 11:20:25PM +0100, Dominik Vogt wrote:
> > > I am looking at releasing 2.6.7 this weekend.  AFAIAC, this release will 
> > > be
> > > the last stable/supported version.  Up to this point I've installed all
> > > optional libraries and fixed all the warnings for the versions I have
> > > available (FreeBSD) -- so that's something.  I think it's in a good state 
> > > to
> > > be left behind, and allowing it to receive minor fixes, etc.
> > 
> > Hm, is it actually a good idea to remove half the modules and
> > GNOME hints support in the last stable fvwm2 release?  Could the
> > commits be rearranged so that this stuff stays in 2.6.7 and is
> > removed immediately after that?
> > 
> > Or maybe start the long term stable branch at 2.6.6 and
> > cherry-pick only the patches that add something from master.
> 
> Hmm.  Why?

I'm *not* against removal of anything on that list.  It's just
very inconsinstent if we announce "2.6.7 is the last long time
stable version of fvwm2, and after that release we start rewriting
stuff from scratch and remove old things" and then actually start
removing things in 2.6.7.

The old stable branch should provide important fixes for people
who use old versions, and that includes not taking away stuff from
them, no?  The idea is that people who have some good (but rare)
reason to stick with the old version can continue doing so.

> Given all of this, I think it's safe to do this.  I have heard nothing from
> anyone in recent years who are using the above, and/or who haven't already
> migrated to FvwmButtons or FvwmTaskbar for the most part.

But actually these removals are only half a year old and are not
part of any release yet.

> As for GNOME hints support -- that's reduced code, and isn't used in the wild
> at all.

Good for me, I hate that code.

> Should enough people complain loudly enough, sure, I might add it back in, but
> I really don't think they will.  So I still think going ahead with 2.6.7 in
> this state--whereby we've made the best effort to leave it with *useful* stuff
> that we then don't have to fix in the future, can only been a good thing.

All I care is having a base for long term maintenance without
breaking things.  I'd even be fine to release 2.6.7 as the last
old stable release without the removals and 2.7.0 adding them back
on the same day.  (But first this acroread issue needs to be
resolved.)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 01:19:57PM +0100, Thomas Adam wrote:
> On Mon, Oct 17, 2016 at 11:20:25PM +0100, Dominik Vogt wrote:
> I am looking at releasing 2.6.7 this weekend.  AFAIAC, this release will be
> the last stable/supported version.  Up to this point I've installed all
> optional libraries and fixed all the warnings for the versions I have
> available (FreeBSD) -- so that's something.  I think it's in a good state to
> be left behind, and allowing it to receive minor fixes, etc.

Hm, is it actually a good idea to remove half the modules and
GNOME hints support in the last stable fvwm2 release?  Could the
commits be rearranged so that this stuff stays in 2.6.7 and is
removed immediately after that?

Or maybe start the long term stable branch at 2.6.6 and
cherry-pick only the patches that add something from master.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 58d1a6: NEWS: formatting tweaks

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 06:42:08PM -0700, GitHub wrote:
>   Branch: refs/heads/ta/reluctant-news
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 58d1a64671c12e93554dd48e6112f6c6e0d921ed
>   
> https://github.com/fvwmorg/fvwm/commit/58d1a64671c12e93554dd48e6112f6c6e0d921ed
>   Author: Thomas Adam <tho...@xteddy.org>
>   Date:   2016-10-23 (Sun, 23 Oct 2016)
> 
>   Changed paths:
> M NEWS
> 
>   Log Message:
>   ---
>   NEWS: formatting tweaks

I had always used an Xemacs highlighting mode for the NEWS file
(to highlight formatting inconsistencies).  If we make format
changes, it needs to be adapted.  Anyway, it may be useful to
others, and it might even be put in the git repo.  (attached)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt
;; NEWS file Major Mode for XEmacs (draft)
;
; (C) 2004 Dominik Vogt  <dominik.v...@gmx.de>

; This program is free software; you can redistribute it and/or modify
; it under the terms of the GNU General Public License as published by
; the Free Software Foundation; either version 2 of the License, or
; (at your option) any later version.
;
; This program is distributed in the hope that it will be useful,
; but WITHOUT ANY WARRANTY; without even the implied warranty of
; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; GNU General Public License for more details.
;
; You should have received a copy of the GNU General Public License
; along with this program; if not, write to the Free Software
; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

; Note: The major mode was designed for xemacs and may or may not work with
; plain emacs.
;
; Copy this file to a lisp library directory, for example
; /usr/share/xemacs/site-lisp or $HOME/share/xemacs/site-lisp
; To acticate put this line in your xemacs configuration file:
;
;   (load-library "news-file.el")
;
; or
;
;   (load-library "/news-file.el")

;; basic mode setup
; option group
(defgroup news-file nil
  "NEWS file mode."
  :tag "NEWS file"
  :group 'wp)

; mode hook
(defcustom news-file-mode-hook
  nil
  "Hook to be run when `news-file-mode' is entered."
  :type 'hook
  :group 'news-file)
;!!!how do you do this the right way?
(add-hook 'news-file-mode-hook (lambda () (setq fill-column 66)))
(add-hook 'news-file-mode-hook 'auto-fill-mode)

; mode map
(defvar news-file-mode-map ()
  "Keymap used in `news-file-mode' buffers.")
(if news-file-mode-map
()
  (setq myws-mode-map (make-sparse-keymap))
  ;; So far there aren't any news-file-mode specific functions
  )

; auto mode definition
(add-to-list 'auto-mode-alist '("O*NEWS$" . news-file-mode))

;; syntax highlighting
(defconst news-file-font-lock-keywords
  (list
   ; complain about tabs
   '("  " . highlight)
   ; separator
   '("^--*$" . font-lock-keyword-face)
   ; title + date
   '("^\\(Changes in \\)\\(.*\\)$" (1 font-lock-keyword-face t) (2 highlight t 
t))
   '("^Changes in \\(alpha\\|beta\\|official\\|stable\\|development\\).*$" 1 
font-lock-variable-name-face t)
   '("^Changes in [a-z]*\\( release \\).*$" 1 font-lock-keyword-face t)
   '("^Changes in [a-z]* release \\([0-9]+\\(\\.[0-9]+\\)*\\).*$" (1 
font-lock-variable-name-face t t))
   '("^Changes in [a-z]* release [0-9.]*\\( (\\).*$" 1 font-lock-keyword-face t)
   '("^Changes in [a-z]* release [0-9.]*\\( 
(\\)\\(\\([0-9][0-9]?-\\(Jan\\|Feb\\|Mar\\|Apr\\|May\\|Jun\\|Jul\\|Aug\\|Sep\\|Oct\\|Nov\\|Dec\\)-[1-9][0-9][0-9][0-9][0-9]*\\)\\|\\(not
 released yet\\)\\)).*$" (1 font-lock-keyword-face t) (2 
font-lock-variable-name-face t t))
   '("^Changes in [a-z]* release [0-9.]* ([-a-z0-9 ]*\\()\\).*$" 1 
font-lock-keyword-face t)
   ; section
   '("^\\(\\* \\)?[a-z][ a-z]*[a-z]:$" . font-lock-preprocessor-face)
   ; bullets
   '("^\\(\\* \\).*$" 1 font-lock-keyword-face)
   '("^\\( +- \\).*$" 1 font-lock-keyword-face)
   ; faulty lines
   '("^[^ \n].*[^:]$" . highlight)
   '("^.$" . highlight)
   )
  "Minimal highlighting expressions for NEWS file mode")

(defun news-file-mode ()
  "Major mode for editing NEWS files"
  (interactive)
  (kill-all-local-variables)
  (use-local-map news-file-mode-map)
  (setq major-mode 'news-file-mode)
  (setq mode-name "NEWS file")
  (set (make-local-variable 'font-lock-defaults)
   '(news-file-font-lock-keywords nil t))
  (run-hooks 'news-file-mode-hook)
)

(provide 'news-file-mode)


Re: [fvwmorg/fvwm] 64d424: DEVELOPERS: mention NEWS file

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 06:32:12PM -0700, GitHub wrote:
>   Branch: refs/heads/ta/reluctant-news
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 64d4244746754610a64ed35de9ca69e557d3e25a
>   
> https://github.com/fvwmorg/fvwm/commit/64d4244746754610a64ed35de9ca69e557d3e25a
>   Author: Thomas Adam <tho...@xteddy.org>
>   Date:   2016-10-23 (Sun, 23 Oct 2016)
> 
>   Changed paths:
> M docs/DEVELOPERS.md
> 
>   Log Message:
>   ---
>   DEVELOPERS: mention NEWS file

Thanks.

> Let's try and get patches which introduce changes to also include changes to
> the NEWS file.

That's what I've always done (for user visible changes or internal
changes with a high risk of breaking things).

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-22 Thread Dominik Vogt
As a little bit of explanation how to read this output:


On Sat, Oct 22, 2016 at 10:00:16PM -0300, zli...@ns.sympatico.ca wrote:
> cre: 935(1) 0(2) 985(0)x1080(0) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'Adobe Reader'
   ^^^   ^^^   ^^^   ^^
X Y   Width  HeightInternal window id

These are the values from the COnfigureRequest, i.e. the message
that was generated when the application tried to change the window
geometry.  If the number is parentheses after the value if zero,
that bit of information is unused, if it's non-zero, that part of
the geometry was requested.

This request looks sensible, and from that I guess your screen is
1920x1080 pixels (16:9).

> cre: 0(1) 0(2) 3276(4)x1048(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'

  "Move window to +0+0 and resize to 3276x1048"

The width looks weird.

> cre: 0(1) 0(2) 3286(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'

Similar, but some decorations seem to have been taken into
account.  From the requested height I assume your window window
border is 5 pixels thick and the window title is 22 pixels high.

> cre: 65529(1) 65481(2) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 
> 0x06200031  'zshguide.pdf - Adobe Reader'
   ^^

The program has added space for another border around the window
by subtracting some pixels from X and Y and adding some to Width
and Height.  The coordinates have become negative, but the program
seems to store them as "unsigned short", not as signed int as it
should.  So it gets a wraparound and requests some astronomically
huge coordinates (which the X server limits to 16 bits again).

> cre: 0(0) 0(0) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'

  "Resize window (without actually changing its size)

> cre: 1433(1) 65517(2) 985(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031 
>  'zshguide.pdf - Adobe Reader'

Back to the original size with what looks like random coordinates:
1433/18.

So, is this what you see, a window starting at X=1433 with a page
that is about 3300 pixels wide?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] b753a0: Remove stale files

2016-10-22 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 01:55:38AM +0100, Dominik Vogt wrote:
> On Sun, Oct 23, 2016 at 01:32:17AM +0100, Thomas Adam wrote:
> > On Sun, Oct 23, 2016 at 01:28:17AM +0100, Dominik Vogt wrote:
> > > On Thu, Aug 11, 2016 at 04:23:47PM -0700, GitHub wrote:
> > > >   Branch: refs/heads/ta/install
> > > >   Home:   https://github.com/fvwmorg/fvwm
> > > >   Commit: b753a06d2eb0325fd682563fcc127acbd6cf7813
> > > >   
> > > > https://github.com/fvwmorg/fvwm/commit/b753a06d2eb0325fd682563fcc127acbd6cf7813
> > > >   Author: Thomas Adam <tho...@fvwm.org>
> > > >   Date:   2016-08-11 (Thu, 11 Aug 2016)
> > > > 
> > > >   Changed paths:
> > > > R ChangeLog
> > > > R ChangeLog-pre-2.4
> > > > R ChangeLog-pre-2.6.6
> > > > R NEWS
> > > 
> > > Hm, what's the logic behind removing the NEWS file?  Is it
> > > somewhere else now?
> > 
> > It's mostly here:  http://fvwm.org/features/ (because stuff hasn't changed),
> 
> > and its successor will be release notes for the next version on Github 
> > anyway.
> 
> Okay, and where is the source for the release notes?  This needs
> to be kept in the fvwm source tree.  I don't see me writing up any
> decent quality release notes, say, half a year after committing a
> patch.  This stuff needs to be written down when the work is done,
> not at some indefinite time in the future.
> 
> (I see fvwm more as a GNU style project rather than a Github style
> project.  Using features of git or Github is fine, but I don't
> think we should give up the GNU project standards, where
> applicable: https://www.gnu.org/prep/standards/standards.txt

Specifically, it won't cost much to to stick to the following:

  3.5 Conditional Compilation
  4.4 Formatting Error Messages -> future work
  4.5 Standards for Interfaces Generally
  4.6 Standards for Graphical Interfaces
  4.7 Standards for Command Line Interfaces
  4.8 Standards for Dynamic Plug-in Interfaces
  4.9 Table of Long Options
  5.5 Portability between System Types
  5.6 Portability between CPUs
  5.7 Calling System Functions
  5.8 Internationalization
  5.9 Character Set
  5.10 Quote Characters
  6.7 The NEWS File
  6.8 Change Logs -> now kept in Git
  6.9 Man Pages
  7.1 How Configuration Should Work
  7.2 Makefile Conventions

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 10:00:16PM -0300, zli...@ns.sympatico.ca wrote:
> On Sun, Oct 23, 2016 at 01:21 (+0100), Dominik Vogt wrote:
> 
> > On Sat, Oct 22, 2016 at 08:36:10PM -0300, zli...@ns.sympatico.ca wrote:
> >> On Sun, Oct 23, 2016 at 00:20 (+0100), Thomas Adam wrote:
> 
> >>> On Sat, Oct 22, 2016 at 07:56:31PM -0300, zli...@ns.sympatico.ca wrote:
> >>>> I cloned the git version about 15 minutes ago and compiled it, and
> >>>> acroread still does not go full-screen correctly.
> 
> >>> Can you reproduce this using a more accessible program, please?  I'm using
> >>> FreeBSD.
> 
> >> No, I can't.  That is, all other programs I use which have a
> >> "full-screen" mode work fine.
> 
> > All right, I can see that acroread generates some weird requests
> > for new size and position.  For me, the size is good, but the
> > position is totally screwed (x=65600, y=66000).
> 
> > In fvwm/events.c at line 1077 there is this debug statement:
> 
> > #if 0
> > fprintf(stderr,
> > "cre: %d(%d) %d(%d) %d(%d)x%d(%d) fw 0x%08x w 0x%08x "
> > ...
> > #endif
> 
> > Can you please replace the "#if 0" with "#if 1", rebuild and post
> > the output that going fullscreen causes on the console?  (Don't
> > move or resize any windows when doing this to reduce the amount of
> > output.)  Also, please add this line to the fvwm config file (or
> > type it in FvwmConsole before starting acroread)
> 
> > bugopts explainwindowplacement
> 
> > This will produce some more output that may be helpful.
> 
> I trust this is what you were looking for?
> 
> cre: 0(0) 0(0) 48(4)x96(8) fw 0x00400cb3 w 0x0201 ew 0x0201  
> 'stalonetray'
> [fvwm][__execute_function]: <> No such command 'explainwindowplacement'

The command is

  bugopts explainwindowplacement

> cre: 935(1) 0(2) 985(0)x1080(0) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'Adobe Reader'
> cre: 0(1) 0(2) 200(0)x200(0) fw 0x00401166 w 0x0620086b ew 0x0620086b  
> 'acroread'
> cre: 0(1) 0(2) 3276(4)x1048(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'
> cre: 0(1) 0(2) 3286(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'
> cre: 65529(1) 65481(2) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 
> 0x06200031  'zshguide.pdf - Adobe Reader'
> cre: 0(0) 0(0) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
> 'zshguide.pdf - Adobe Reader'
> cre: 0(1) 0(2) 200(0)x200(0) fw 0x004012ac w 0x06200899 ew 0x06200899  
> 'acroread'
> cre: 1433(1) 65517(2) 985(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031 
>  'zshguide.pdf - Adobe Reader'

Uh, even stranger than on my box.

> Anything else I can provide?

Yes, a couple of things please:

1. What size are your pages, and how many pages do you use on the
   desktop?  On which page do you do this?  Do you have FvwmPager
   running and can see more of the window on other pages?

   If you have multiple monitors, please describe the geometry of
   this setup (coordinates and size of each monitor and on which one
   you expect the fullscreen window to appear).

2. Please do this again (and post the new output), and then,
   without movind or resizing the window, run FvwmIdent on the
   reader window and post the contents of the FvwmIdent window
   (a small screenshot is fine).  (I need the new console output
   so that I can relate the information in FvwmIdent to the debug
   output on the console.)

3. Is this really a regression between 2.6.6 and 2.6.5, or did you
   also switch to a different acroread release?  (If so, which one
   did work with 2.6.5?)

And please, (unless you write sensitive information), reply to
fvm-work...@fvwm.org, not to me personally.  (This should happen
automatically if you hit the "reply" button in your mail
porogram.)

It might also help to include your config file or at least the
commands not refering to modules.  (You can send that to me
directly if you don't want to write it to the list.)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



[zli...@ns.sympatico.ca: Re: regression from 2.6.5 to 2.6.6 ?]

2016-10-22 Thread Dominik Vogt
- Forwarded message from zli...@ns.sympatico.ca -

Date: Sat, 22 Oct 2016 22:00:16 -0300
From: zli...@ns.sympatico.ca
To: Dominik Vogt <dominik.v...@gmx.de>
Subject: Re: regression from 2.6.5 to 2.6.6 ?
User-Agent: Mutt/1.6.1 (2016-04-27)

On Sun, Oct 23, 2016 at 01:21 (+0100), Dominik Vogt wrote:

> On Sat, Oct 22, 2016 at 08:36:10PM -0300, zli...@ns.sympatico.ca wrote:
>> On Sun, Oct 23, 2016 at 00:20 (+0100), Thomas Adam wrote:

>>> On Sat, Oct 22, 2016 at 07:56:31PM -0300, zli...@ns.sympatico.ca wrote:
>>>> I cloned the git version about 15 minutes ago and compiled it, and
>>>> acroread still does not go full-screen correctly.

>>> Can you reproduce this using a more accessible program, please?  I'm using
>>> FreeBSD.

>> No, I can't.  That is, all other programs I use which have a
>> "full-screen" mode work fine.

> All right, I can see that acroread generates some weird requests
> for new size and position.  For me, the size is good, but the
> position is totally screwed (x=65600, y=66000).

> In fvwm/events.c at line 1077 there is this debug statement:

> #if 0
>   fprintf(stderr,
>   "cre: %d(%d) %d(%d) %d(%d)x%d(%d) fw 0x%08x w 0x%08x "
> ...
> #endif

> Can you please replace the "#if 0" with "#if 1", rebuild and post
> the output that going fullscreen causes on the console?  (Don't
> move or resize any windows when doing this to reduce the amount of
> output.)  Also, please add this line to the fvwm config file (or
> type it in FvwmConsole before starting acroread)

> bugopts explainwindowplacement

> This will produce some more output that may be helpful.

I trust this is what you were looking for?

cre: 0(0) 0(0) 48(4)x96(8) fw 0x00400cb3 w 0x0201 ew 0x0201  
'stalonetray'
[fvwm][__execute_function]: <> No such command 'explainwindowplacement'
cre: 935(1) 0(2) 985(0)x1080(0) fw 0x00401005 w 0x06200031 ew 0x06200031  
'Adobe Reader'
cre: 0(1) 0(2) 200(0)x200(0) fw 0x00401166 w 0x0620086b ew 0x0620086b  
'acroread'
cre: 0(1) 0(2) 3276(4)x1048(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
'zshguide.pdf - Adobe Reader'
cre: 0(1) 0(2) 3286(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
'zshguide.pdf - Adobe Reader'
cre: 65529(1) 65481(2) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 0x06200031 
 'zshguide.pdf - Adobe Reader'
cre: 0(0) 0(0) 3300(4)x1142(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
'zshguide.pdf - Adobe Reader'
cre: 0(1) 0(2) 200(0)x200(0) fw 0x004012ac w 0x06200899 ew 0x06200899  
'acroread'
cre: 1433(1) 65517(2) 985(4)x1080(8) fw 0x00401005 w 0x06200031 ew 0x06200031  
'zshguide.pdf - Adobe Reader'


Anything else I can provide?



- End forwarded message -


Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] b753a0: Remove stale files

2016-10-22 Thread Dominik Vogt
On Sun, Oct 23, 2016 at 01:32:17AM +0100, Thomas Adam wrote:
> On Sun, Oct 23, 2016 at 01:28:17AM +0100, Dominik Vogt wrote:
> > On Thu, Aug 11, 2016 at 04:23:47PM -0700, GitHub wrote:
> > >   Branch: refs/heads/ta/install
> > >   Home:   https://github.com/fvwmorg/fvwm
> > >   Commit: b753a06d2eb0325fd682563fcc127acbd6cf7813
> > >   
> > > https://github.com/fvwmorg/fvwm/commit/b753a06d2eb0325fd682563fcc127acbd6cf7813
> > >   Author: Thomas Adam <tho...@fvwm.org>
> > >   Date:   2016-08-11 (Thu, 11 Aug 2016)
> > > 
> > >   Changed paths:
> > > R ChangeLog
> > > R ChangeLog-pre-2.4
> > > R ChangeLog-pre-2.6.6
> > > R NEWS
> > 
> > Hm, what's the logic behind removing the NEWS file?  Is it
> > somewhere else now?
> 
> It's mostly here:  http://fvwm.org/features/ (because stuff hasn't changed),

> and its successor will be release notes for the next version on Github anyway.

Okay, and where is the source for the release notes?  This needs
to be kept in the fvwm source tree.  I don't see me writing up any
decent quality release notes, say, half a year after committing a
patch.  This stuff needs to be written down when the work is done,
not at some indefinite time in the future.

(I see fvwm more as a GNU style project rather than a Github style
project.  Using features of git or Github is fine, but I don't
think we should give up the GNU project standards, where
applicable: https://www.gnu.org/prep/standards/standards.txt
)

I don't care much about the other files (ChangeLogs and such), but
fvwm should have a NEWS file like other GNU projects.

> If people really want more detail they can look in git.  The point of removing
> these files is duplicating these things when git provides most of them is a
> good thing.

The NEWS file has been a readable summary of user visible changes.
I don't see how this could be generated from commit information
and diffs in git.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] b753a0: Remove stale files

2016-10-22 Thread Dominik Vogt
On Thu, Aug 11, 2016 at 04:23:47PM -0700, GitHub wrote:
>   Branch: refs/heads/ta/install
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: b753a06d2eb0325fd682563fcc127acbd6cf7813
>   
> https://github.com/fvwmorg/fvwm/commit/b753a06d2eb0325fd682563fcc127acbd6cf7813
>   Author: Thomas Adam <tho...@fvwm.org>
>   Date:   2016-08-11 (Thu, 11 Aug 2016)
> 
>   Changed paths:
> R ChangeLog
> R ChangeLog-pre-2.4
> R ChangeLog-pre-2.6.6
> R NEWS

Hm, what's the logic behind removing the NEWS file?  Is it
somewhere else now?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: regression from 2.6.5 to 2.6.6 ?

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 08:36:10PM -0300, zli...@ns.sympatico.ca wrote:
> On Sun, Oct 23, 2016 at 00:20 (+0100), Thomas Adam wrote:
> 
> > On Sat, Oct 22, 2016 at 07:56:31PM -0300, zli...@ns.sympatico.ca wrote:
> >> I cloned the git version about 15 minutes ago and compiled it, and
> >> acroread still does not go full-screen correctly.
> 
> > Can you reproduce this using a more accessible program, please?  I'm using
> > FreeBSD.
> 
> No, I can't.  That is, all other programs I use which have a
> "full-screen" mode work fine.

All right, I can see that acroread generates some weird requests
for new size and position.  For me, the size is good, but the
position is totally screwed (x=65600, y=66000).

In fvwm/events.c at line 1077 there is this debug statement:

#if 0
fprintf(stderr,
"cre: %d(%d) %d(%d) %d(%d)x%d(%d) fw 0x%08x w 0x%08x "
...
#endif

Can you please replace the "#if 0" with "#if 1", rebuild and post
the output that going fullscreen causes on the console?  (Don't
move or resize any windows when doing this to reduce the amount of
output.)  Also, please add this line to the fvwm config file (or
type it in FvwmConsole before starting acroread)

  bugopts explainwindowplacement

This will produce some more output that may be helpful.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Need of a "devel" branch?

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 11:23:17PM +0100, Thomas Adam wrote:
> On Sat, Oct 22, 2016 at 11:12:58PM +0100, Dominik Vogt wrote:
> > A "devel" branch could come in handy.  When a feature is complete
> > or ready for reviews, the patches are placed on the devel branch
> > and then every ambitious user can try them out and report
> > problems.  The "devel" branch would receive the same automatic
> > testing as master, but can be rebased or rewritten at any time.
> > 
> > Releasing commits drom devel to master just means to do a fast
> > forward rebase of the master's tip to a commit on devel.
> > 
> > Of course, devel must never be rebased past the current master,
> > and merge commits on the devel branch should be avoided (so it can
> > be reabes without disrupting things).
> 
> What you're fundamentally describing is what the git project does, although
> they call their next-release-branch "next", rather than "devel" (the name
> really doesn't matter).  See:
> 
> https://git-scm.com/docs/gitworkflows
> 
> I suspect that's overkill for us,

Yes, you're right.  We're not a project with dozens of developers,
so most of it is overkill.

> although we could adopt some of this ---
> namely, a devel branch which we rewind against master after every release.

Unless we're doing lots of disruptive stuff I'd prefer to
propagate completed patchsets into master early so they get more
testing.

> Topic branches still apply, and if any fixes are needed, they have to come
> from those branches and nowhere else.

Yes, nobody should be working on the integration or release
branches directly.  Although it's a bit more typing, I like it
that all changes go through mandatory topic branches.  Makes you
work more carefully.

> I don't think we need anything like their 'pu' concept since we don't have
> enough development.

Yep.

After all, it's not possible to completely prevent bad commits
from creeping into master.  Things can be changed on master, but
then it's the old CVS-like ways of undoing old commits.  It's not
the end of the world though.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Need of a "devel" branch?

2016-10-22 Thread Dominik Vogt
In the times of CVS we've pushed every dirty commit to the one CVS
branch we had, undoing things if need be.  Nowadays using Git I
feel really unconfortable doing this, not everything should be
pushed to the stable branch right away.

Although we do have topic branches with proposed changes now and
everybody could test them easily, I suspect there would be very
few people who would actually try out a topic branch.

A "devel" branch could come in handy.  When a feature is complete
or ready for reviews, the patches are placed on the devel branch
and then every ambitious user can try them out and report
problems.  The "devel" branch would receive the same automatic
testing as master, but can be rebased or rewritten at any time.

Releasing commits drom devel to master just means to do a fast
forward rebase of the master's tip to a commit on devel.

Of course, devel must never be rebased past the current master,
and merge commits on the devel branch should be avoided (so it can
be reabes without disrupting things).

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] c0ae18: Fix Gcc warnings.

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 10:55:39PM +0100, Thomas Adam wrote:
> OK, this looks better.  Thanks!
> 
> GCC/Clang don't moan at these changes, which is good.  The changes built via
> travis-ci just fine.
> 
> I say you're good to merge to master.

Good.  I think I've also figured out how these safety measures on
master work.  Thanks for your patience, Thomas.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] c0ae18: Fix Gcc warnings.

2016-10-22 Thread Dominik Vogt
Different approach at fixing the warning.  Hopefully this one
works without removing any "uninitialised variable" warnings.  The
macro SUPPRESS_UNUSED_VAR_WARNING(var) from config.h is used to
remove the "set but not used" warning in the discussed case.

I've forced a new version of the branch replacing the old one.

Plese double check this is sensible.

>   * fvwm/session.c (SessionInit, set_sm_properties): Fix warnings.
>   * fvwm/frame.c (frame_prepare_animation_shape)
>   (frame_setup_shape): Fix warnings.
>   * fvwm/icons.c (CreateIconWindow): Fix warnings.
>   * fvwm/add_window.c (setup_style_and_decor): Fix warnings.
>   * fvwm/events.c (_handle_cr_on_shaped): Fix warnings.
>   * configure.ac: Add helper macro SUPPRESS_UNUSED_VAR_WARNING to fake
>   using a variable and its value in certain hard to fix places.
>   * fvwm/menus.c (size_menu_vertically): Fix write access to read-only
>   location with gettext.
> 
> libs:
>   * fsm.c (SaveYourselfPhase2ReqProc, SaveYourselfDoneProc)
>   (NewConnectionMsg): Fix warnings.
>   * FGettext.c (FGettextInit): Fix warnings.
>   * FImage.c (FGetFImage): Fix warnings.
>   * Fft.c (FftGetFont): Fix warnings.
>   * FRender.c (FRenderVisualInit, FRenderCreateShadePicture)
>   (FRenderTintPicture, FRenderTintRectangle, FRenderRender): Fix
>   warnings.
>   * FScreen.c (FScreenInit): Fix warnings.
>   * Ficonv.c (is_translit_supported, convert_charsets): Fix warnings.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 5b3250: Fix gettext write to read only string; fix warning...

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 10:04:39PM +0100, Thomas Adam wrote:
> On Sat, Oct 22, 2016 at 07:55:01PM +0100, Dominik Vogt wrote:
> > Yes, but that does not fix the warning.  "x" is unused because of
> > the dummy replacement of the function call.  The compiler does not
> > see that if "x = 0" is ever executed, Fxyz_some_func always has a
> > non-empty definition.
> > 
> > I've always used
> > 
> >   if (FEATURE)
> >   {
> > ...
> >   }
> > 
> > Instead of 
> > 
> >   #if FEATURE
> > ...
> >   #endif
> > 
> > so that the conditional code is always compiled, even if the
> > feature is disabled (so we would catch compile errors earlier).
> > But in this case, it introduces a warning.
> 
> Yes -- which makes this impossible to fix unless the code is changed to be
> #ifdef'd out, rather than using 'if (FEATURE)', which makes things harder to
> read anyway.

In that case I'd rather have a warning in a rare corner case than
the code becoming un-compileable over time because nobody ever
bothers to disable all optional configure features before building
a release.  Ifdefs are a maintenance nightmare.

But of course it is fixable, we'd just have to replace the dummy
macros with real functions that do nothing.  A decent compiler
will remove the dead code anyway.  But I won't do that unless I
really find no better way.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 5b3250: Fix gettext write to read only string; fix warning...

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 06:19:46PM +0100, Thomas Adam wrote:
> On Sat, Oct 22, 2016 at 03:42:13PM +0100, Dominik Vogt wrote:
> > Proof reading this patch would also be helpful.
> 
> I've taken a look.  It's fine.  I can't say I like the void casts all over the
> place -- what's wrong with giving a default value?

It results in "set but not used" messages (gcc-4.7.2).  This is in
some functions where a feature is disabled with a macro:

void foo(void)
{
int x;

if (!FEATURE_XYZ)
{
return;
}
x = 0;
Fxyz_some_func();

return;
}

Where

#if FEATURE_XYZ
#define Fxyz_some_function(a) Xyz_some_sunction(a)
#else
#define Fxyz_some_function(a) do { } while (0)
#fi

If FEATURE_XYZ is disabled, the preprocessed code is just

...
x = 0;
do { } while (0);
...

And the least invasive way to prevent this is faking a read with
the coid-cast.

> However, since I'm using FreeBSD and hence clang, here's a further diff I'd
> like you to include (to shut up clang):
> 
> diff --git a/fvwm/icons.c b/fvwm/icons.c
> index a3cb0cd..a6cc234 100644
> --- a/fvwm/icons.c
> +++ b/fvwm/icons.c
> @@ -754,7 +754,7 @@ void CreateIconWindow(FvwmWindow *fw, int def_x, int 
> def_y)
> /* when fvwm is using the non-default visual client
>  * supplied icon pixmaps are drawn in a window with no
>  * relief */
> -   int off ;
> +   int off = 0;
> 
> (void)off;
> if (Pdefault || fw->iconDepth == 1 ||

Ouch.  So, the void casts are really bad because they actualy hide
real bugs.  This is not just a warning fix, the patch really
breaks code that was fine before, except for the warning.  There
must be another way then...

> Incidentally, you can always check to see what the different compilers are
> doing (gcc/clang) by looking at the output from the travis-ci builds.  In the
> Clang case, your build looks are here:
> 
> https://travis-ci.org/fvwmorg/fvwm/jobs/169749072

Hm, I just see a summary on top and below the heading "Job log" a
"loading" icon that never finishes.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Broken code spans in DEVELOPERS.md

2016-10-22 Thread Dominik Vogt
With markdown-1.0.1 the code spans in DEVELOPERS.md come out all
broken when converting the file to html, and I don't get how to do
it right.  Viewed with seamonkey they looks like this.

--
git checkout topic/branch git rebase origin/master git checkout master git 
merge topic/branch git push
--
without indentation and line breaks.

--
```
include "config.h"

```
--
The backticks have not been recognized, there's no indentation, an
extra blank line and the font is HUGE.  Seems to be misunderstood
as a chapter heading.

--
make CFLAGS="-g -O2 -Wall -Wpointer-arith -fno-strict-aliasing -Werror"
--
without indentation.

--
git clone g...@github.com:fvwmorg/fvwmorg.github.io.git
--
without indentation.

For me, this ``` construct doesn't do anything useful.  Markdown
documentation says a preformatted code block ist started by adding
an additional level of indentation.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] 5b3250: Fix gettext write to read only string; fix warning...

2016-10-22 Thread Dominik Vogt
Proof reading this patch would also be helpful.

On Sat, Oct 22, 2016 at 07:36:12AM -0700, GitHub wrote:
>   Branch: refs/heads/dv-gcc-warning-fixes
>   Home:   https://github.com/fvwmorg/fvwm
>   Commit: 5b325057dc569621230a2326d1640dcb07cacdb1
>   
> https://github.com/fvwmorg/fvwm/commit/5b325057dc569621230a2326d1640dcb07cacdb1
>   Author: Dominik Vogt <dominik.v...@gmx.de>
>   Date:   2016-10-22 (Sat, 22 Oct 2016)
> 
>   Changed paths:
> M fvwm/add_window.c
> M fvwm/events.c
> M fvwm/frame.c
> M fvwm/icons.c
> M fvwm/menus.c
> M fvwm/session.c
> M libs/FGettext.c
> M libs/FImage.c
> M libs/FRender.c
> M libs/FScreen.c
> M libs/Fft.c
> M libs/Ficonv.c
> M libs/fsm.c
> M modules/FvwmConsole/getline.c
> 
>   Log Message:
>   ---
>   Fix gettext write to read only string; fix warnings.
> 
>   * modules/FvwmConsole/getline.c (get_line): Fix warnings.
>   * fvwm/session.c (set_sm_properties, SessionInit): Fix warnings.
>   * fvwm/frame.c (frame_prepare_animation_shape)
>   (frame_setup_shape): Fix warnings.
>   * fvwm/icons.c (CreateIconWindow): Fix warnings.
>   * fvwm/add_window.c (setup_style_and_decor): Fix warnings.
>   * fvwm/events.c (_handle_cr_on_shaped): Fix warnings.
>   * fvwm/menus.c (size_menu_vertically): Fix write access to read-only
>   location with gettext.
> 
> libs:
>   * fsm.c (SaveYourselfPhase2ReqProc, SaveYourselfDoneProc)
>   (NewConnectionMsg): Fix warnings.
>   * FGettext.c (FGettextInit): Fix warnings.
>   * FImage.c (FGetFImage): Fix warnings.
>   * Fft.c (FftGetFont): Fix warnings.
>   * Ficonv.c (is_translit_supported, convert_charsets): Fix warnings.
>   * FRender.c (FRenderCreateShadePicture, FRenderVisualInit)
>   (FRenderTintRectangle, FRenderTintPicture, FRenderRender): Fix
>   warnings.
>   * FScreen.c (FScreenInit): Fix warnings.
> 
> 
> 
> 


Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-22 Thread Dominik Vogt
On Sat, Oct 22, 2016 at 01:19:57PM +0100, Thomas Adam wrote:
> On Mon, Oct 17, 2016 at 11:20:25PM +0100, Dominik Vogt wrote:
> >  * From version X+1 onwards, no guarantees are made about
> >continued support of obscure features, until there's an
> >official fvwm-3.0.
> 
> I am looking at releasing 2.6.7 this weekend.  AFAIAC, this release will be
> the last stable/supported version.  Up to this point I've installed all
> optional libraries and fixed all the warnings for the versions I have
> available (FreeBSD) -- so that's something.  I think it's in a good state to
> be left behind, and allowing it to receive minor fixes, etc.

I'm fixing the warnings I discovered through building with all
configurable features switched off.  The result should probably
make it into 2.6.7.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Removing libstroke support?

2016-10-18 Thread Dominik Vogt
On Tue, Oct 18, 2016 at 06:29:59AM +0200, Viktor Griph wrote:
> Den 17 okt. 2016 11:56 PM skrev "Dominik Vogt" <dominik.v...@gmx.de>:
> >
> > Does anybody really use libstroke support?
> 
> I've been using it in my configs since I started using fvwm.
> 
> > It's resonsible for
> > quite some hardly readably code, and I suspect nobody uses it
> > anymore.  If there's a need for mouse gesture or touchpad support,
> > there must certainly be some other library around that does a
> > better job.
> 
> I haven't looked for alternatives, but it feels like the functionality
> really should live in a separate application. It's not about managing
> windows, but being able to execute commands on gestures.

So, for what kind of actions do you use it?  Somthing window
manager related like, say iconifying windows etc., or something
else that could be done without the WM?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: Final long term stable version

2016-10-17 Thread Dominik Vogt
On Mon, Oct 17, 2016 at 11:25:47PM +0100, Thomas Adam wrote:
> On Mon, Oct 17, 2016 at 11:20:25PM +0100, Dominik Vogt wrote:
> > While the enthusiasm to remove outdated stuff (strokes, Xinerama,
> > colourmaps, old parser etc.) is an important step towards a
> > maintainable and nice future fvwm3, there are certainly some old
> > systems still running that use some obscure features.
> > 
> > In order to not alienate long time users from fvwm we may need to
> > make a clean cut at some time:
> > 
> >  * Up to version X, the old feature set and syntax is supported
> >"forever".  There won't be any new features anymore, but if
> >need be, we'll look into fixes like to new library versions and
> >such, so that the old version will continue to run on old boxes.
> >Patches fixing such problems are welcome, and once in a while a
> >new maintenance release is made.
> > 
> >  * From version X+1 onwards, no guarantees are made about
> >continued support of obscure features, until there's an
> >official fvwm-3.0.
> > 
> > Is that doable?  WIth X == 2.6.7?  (Of course this is all depends
> > on people actually doing that work.)
> 
> It's doable from a code/maintenance point of view, yes.  But I hope that
> there's no real expectation that developers or future developers (chance would
> be a fine thing!) who might be working on this mythical fvwm-3, should care
> about fvwm-legacy.
> 
> Oh, and I love the idea---but I am incredibly skpetical about it coming to
> fruition, given that there are so few people developing fvwm these days.

Well, developers or not is one thing, but the first step would be
to *announce* that fvwm2 is not going to be disposed off on the
compost heap.  That anybody is welcome if she wants to take care
of the fvwm2 branch for a while, and that the "fvwm3" developers
are not going to put a spoke in her wheel, and support that
maintenance work if possible.

(If it turns out that there are no developers for fvwm this
discussion is moot anyway.)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Final long term stable version

2016-10-17 Thread Dominik Vogt
While the enthusiasm to remove outdated stuff (strokes, Xinerama,
colourmaps, old parser etc.) is an important step towards a
maintainable and nice future fvwm3, there are certainly some old
systems still running that use some obscure features.

In order to not alienate long time users from fvwm we may need to
make a clean cut at some time:

 * Up to version X, the old feature set and syntax is supported
   "forever".  There won't be any new features anymore, but if
   need be, we'll look into fixes like to new library versions and
   such, so that the old version will continue to run on old boxes.
   Patches fixing such problems are welcome, and once in a while a
   new maintenance release is made.

 * From version X+1 onwards, no guarantees are made about
   continued support of obscure features, until there's an
   official fvwm-3.0.

Is that doable?  WIth X == 2.6.7?  (Of course this is all depends
on people actually doing that work.)

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Removing colour map support

2016-10-17 Thread Dominik Vogt
The last time I've had a system where private colourmap support
was useful was back in 1991 or so.  Many people nowadays probably
don't even know what it is:  On systems with a limited number of
colours (anybody remembers graphics cards that could only display
256 colours in parallel) every window could have its own set of
colours to use, and when it got the focus, that map would be
installed, rendering all other windows in funny colours.

I've honestly no ideas if there are still applications around that
do that (Netscape was one).  Is there a reason to keep it?

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



Re: [fvwmorg/fvwm] d30479: Make PNG support mandatory

2016-10-17 Thread Dominik Vogt
On Mon, Oct 17, 2016 at 10:30:37PM +0100, Thomas Adam wrote:
> On Mon, Oct 17, 2016 at 10:05:04PM +0100, Dominik Vogt wrote:
> > The intention of having a show off or default config using PNG is
> > a good idea, but one can still have an option "--disable-png" and
> > tell people:
> 
> [...]
> 
> OK -- so what if we do that, but it defaults to using PNG if it's on the
> system?

Fine with me, even if it produces an error message if libpng-devel
is not found and --disable-png is not explicitly used.

> Would that make things easier for everyone?  If so, I'm happy to do that.

Ciao

Dominik ^_^  ^_^

-- 

Dominik Vogt



  1   2   3   4   5   >