Re: FVWM: Re: 5.0 stability

From: Dan Espen <dane_at_mk.telcordia.com>
Date: Tue, 12 Mar 2002 21:41:18 -0500

Dominik Vogt <dominik.vogt_at_gmx.de> writes:
> On Mon, Mar 11, 2002 at 04:22:54PM -0500, Dan Espen wrote:
> > Elliot Sowadsky <elliot_at_lsil.com> writes:
> > > > I tried it....and icons started in the top-left corner instead of the
> > > > iconbox. I had to open them to get them to use the iconbox.
> > >
> > > < I am not sure, but your icon box problem may be caused if you restarted
> > > < from 2.4.3 to 2.5.0. This may be a one time restart problem, it was fix
> > >
> > > Still bad.
> >
> > Hmm, I restart so seldomly.
> >
> > I see it too.
> > I'm using fairly recent CVS.
>
> If you can see this, could you take a look at the problem please?

Since you said please, how can I resist?

There are so many things going on during restart, its hard to
tell what the plan is. I guess it doesn't want to AutoPlace
the icons, but rather put them where they just were.

On a restart, it places the icons using the logic at line 1130 in
events.c. Since I may be using CVS from a week or so ago, this is the
routine:

    case IconicState:
      if (isIconifiedByParent ||
          ((tmp = get_transientfor_fvwmwindow(Tmp_win)) && IS_ICONIFIED(tmp)))
      {
        isIconifiedByParent = False;
        SET_ICONIFIED_BY_PARENT(Tmp_win, 1);
      }
      if (USE_ICON_POSITION_HINT(Tmp_win) && Tmp_win->wmhints &&
          (Tmp_win->wmhints->flags & IconPositionHint))
      {
        Iconify(Tmp_win, Tmp_win->wmhints->icon_x,
                Tmp_win->wmhints->icon_y);
      }
      else
      {
        Iconify(Tmp_win, 0, 0);
      }

The last iconify is the one it goes to.
The reason it goes there is
(Tmp_win->wmhints->flags & IconPositionHint)
is zero.

I do have one icon that gets placed correctly, that has X resources
that set its icon position.

Back in 2.2.5, that logic would position the icon using wmhints
on just the condition "Tmp_win->wmhints". Ie. the logic looked
like this:

        case IconicState:
          if (Tmp_win->wmhints)
            {
              Iconify(Tmp_win,
                      Tmp_win->wmhints->icon_x, Tmp_win->wmhints->icon_y);
            }
          else
            {
              Iconify(Tmp_win, 0, 0);
            }

So, I don't think it should be using the position hint flag,
and I'm not sure why it should be testing the USE_ICON_POSITION_HINT.

I didn't verify this, but I'm guessing this is the change:

2001-03-02 Dominik Vogt <dominik.vogt_at_gmx.de>

        * fvwm/events.c (HandleMapRequestKeepRaised):
        icon position hint was sometimes used although it was not set


-- 
Dan Espen                           E-mail: dane_at_mk.telcordia.com
444 Hoes Lane  Room RRC 1C-214      Phone: (732) 699-5570
Piscataway, NJ 08854
--
Visit the official FVWM web page at <URL: http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_fvwm.org.
To report problems, send mail to fvwm-owner_at_fvwm.org.
Received on Tue Mar 12 2002 - 20:47:00 GMT

This archive was generated by hypermail 2.3.0 : Mon Aug 29 2016 - 19:37:52 BST