On Tue, Mar 12, 2002 at 09:41:18PM -0500, Dan Espen wrote:
> 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
Finally, I am able to reproduce the problem. It does not happen
for all applications (xterm has the problem, rxvt and xemacs do
not). And the -dont-preserve-starte option to restart prevents it
too. Nota that it is usually correct to call Iconify with x/y =
0 since the auto place code does not use these values normally.
Bye
Dominik ^_^ ^_^
--
Dominik Vogt, dominik.vogt_at_gmx.de
Reply-To: dominik.vogt_at_gmx.de
--
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 Sun Mar 24 2002 - 13:17:45 GMT