Subject: Stacking order is broken if windows are on different layers

From: Mikhael Goikhman <[email-masked]>
Date: Fri, 25 Oct 2002 10:15:53 +0000

This is the last days problem. At least I don't remember seeing anything
wrong on 2002-09-22 (from fvwm-themes ChangeLog).

Start fvwm without config, open 3 xterms and one FvwmConsole from the
menu. Place them somehow, so they cover 2 others, no matter how.
Execute:

  Layer +1

on any window. Stacking list goes crazy when you lower/raise windows.
Open new xterm. All windows end up in pretty random layering possitions
relatively to each other. FvwmPager shows them correctly.

Regards,
Mikhael.
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Dominik Vogt <[email-masked]>
Date: Sat, 26 Oct 2002 13:38:35 +0200

> relatively to each other. FvwmPager shows them correctly.

Fixed.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, [email-masked]
Reply-To: [email-masked]
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Sat, 26 Oct 2002 19:44:56 +0000

> > relatively to each other. FvwmPager shows them correctly.

I'll explain what happens for me, maybe you may identify the new problem.

My main X has about 30 windows now on 4 desks and I can't kill it for now.
When I do restart, the stacking order is broken even if all my windows are
on Layer 4. Either Raise or Lower or both do not work on all windows, so
RaiseLower issued for more than once does nothing.

I started another X (also with fvwm-themes) and I can't reproce any
problem.

But when I restart on the main X with many windows, it is pretty broken.
So I tried instead of one of these (that are equivalent):

  Restart
  Restart --dont-preserve-state
  Restart fvwm-themes-start

to divide such full Restart into 3 parts:

  Restart /full/path/to/be/sure/fvwm -f no-rc
  Read themes-rc
  StartFunction

After doing the first command Raise/Lower on these 30 windows works fine.
The second is fine too. The problems start after the third.

I managed to narrow this down to a single command. You will not believe
it, the command is "Style * NoIcon". If I issue it on the second X, fvwm
enters to this horrible state too, when Raise/Lower do not work on all
windows. (When I tried to reproduce this again on new X it did not work).

I should leave for today, if you have enough information to fix it, fine.
If no, I will try tommorow to find a minimal config. It is not very easy,
some unknown condition is needed to reproduce it. "Style * NoIcon" does
not triggers it without this condition.

Regards,
Mikhael.

---

From: Mikhael Goikhman <[email-masked]>
Date: Sun, 27 Oct 2002 01:09:53 +0000

Actually, it turned out easier to reproduce than I thought.

Start fvwm without config.
Open several windows (use 4 FvwmConsole and one xterm for example).
Issue:

  Style XTerm /some/valid.xpm

Iconify several (xterm and FvwmConsole) windows.
Now:

  Style * NoIcon

Try to Raise/Lower the remaining 3 windows. Either Raise or Lower
or both do not work on all windows. (Either double click the title or
issue Raise/Lower from FvwmConsole).

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Sun, 27 Oct 2002 18:59:42 +0100

> issue Raise/Lower from FvwmConsole).

Fixed.  The stacking code has just too many side effects.  At
least it's much easier to debug nowadays.  By the way, do you feel
like writing a test script for the stacking code?  Something that
issues stacking commands and verifies the results after each step,
similar to what the verify_stack_ring() function does?

Bye

Dominik ^_^  ^_^

---

From: Mikhael Goikhman <[email-masked]>
Date: Sun, 27 Oct 2002 23:04:05 +0000

On 27 Oct 2002 18:59:42 +0100, Dominik Vogt wrote:
> least it's much easier to debug nowadays.

Ok. Now please fix one more problem, but try not to break the previous
fixes. :)

Start fvwm without config. Start xterm. Iconify it. Restart.
Open one FvwmConsole, move it to the right/bottom.
Open another FvwmConsole, move it so it overlaps the first.
Double click on the new (second) FvwmConsole. It is not lowered.
But this is only a one time small problem, much better than it was.

> By the way, do you feel

Maybe after I implement different automatical trackers in perllib. I will
need a test module for each tracker anyway. Mostly to test perllib, but it
may be of general use too. So, it will be a test module, not a script.
This way it will test M_RESTACK/M_RAISE/M_LOWER, not just Next (Raised).
But don't expect it to be very soon.

Regards,
Mikhael.

---

From: Dominik Vogt <[email-masked]>
Date: Mon, 28 Oct 2002 12:03:04 +0100

> Ok. Now please fix one more problem, but try not to break the previous

It's not that I do this intentionally, you know?  I could have
stared at this code for weeks and I would not have found any bug.
I don't even understand what went wrong now that I 'fixed' it.  I
fully expect more oddities in the stacking order when icons are
involved.

  Style xterm StartIconic

and

  $ xterm -iconic

are good candidates for more problems.

> But don't expect it to be very soon.

Too much to do and too little time.  I know the feeling.

Bye

Dominik ^_^  ^_^

 --
Dominik Vogt, mail: [email-masked], phone: 0721/91374-382
Schlund + Partner AG, Erbprinzenstr. 4-12, D-76133 Karlsruhe
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [email-masked].
To report problems, send mail to [email-masked]

---

From: Mikhael Goikhman <[email-masked]>
Date: Mon, 28 Oct 2002 16:12:25 +0000

On 28 Oct 2002 12:03:04 +0100, Dominik Vogt wrote:
> It's not that I do this intentionally, you know?

Sure, it was redudant to ask.

Stacking problems are ones of the most annoying. You may get mad if you
can't lower or raise that window. I will check again whether this last
problem is annoying or not (it is autofixed) and decide later today
whether to let it to be in the release.

Regards,
Mikhael.