Subject: FvwmPager & DeskTopSize

From: Mikhael Goikhman <[email-masked]>
Date: Tue, 7 Dec 1999 13:15:50 +0200

There is a problem with specifying non-default DeskTopSize (3x3).
A pager calculates its geometry as if it were specified for this default
desktop size and then recalculates it for the real desktop size.

Here is a minimal rc file:

DeskTopSize 2x2
# Press Ctrl-Mouse3 on the root to get a pager
Mouse 3 R C Module FvwmPager -transient
#*FvwmPagerGeometry 300x300+0+0

Here the pager immediately changes its size by 2/3.

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: Bob Woodside <[email-masked]>
Date: Tue, 07 Dec 1999 09:56:19 -0500

> Here the pager immediately changes its size by 2/3.

	What gives with the Pager lately? (Lately = since around the week
ending 11/13 - the last version I consider stable enough to do any real
work dates from sometime in that week.)

	As I noted on 1 Dec., the Pager also seems - most of the time - to
ignore DeskTopScale, except on random occasions when it decides to
notice it. I've also seen it size itself very small, as though it were
doing a double calculation as you suggest (my DeskTopSize is 4x4). And
I've seen it get so tiny I can't imagine *what* it's thinking. I can see
no pattern to it yet.

	I just discovered - by forgetting to change my ModulePath before
switching versions - that the current Pager works fine with the 3 or 4
week old version of FVWM (the Button1-won't-switch-desks problem also
disappeared). So, I tried it the other way around, and the old Pager
misbehaves the same way with the current FVWM. 

	So, what's changed recently in the FVWM core with respect to module
communication that could get the Pager so hopelessly confused?

Cheers,
Bob

---

From: Dominik Vogt <[email-masked]>
Date: Tue, 7 Dec 1999 18:11:09 +0100

> communication that could get the Pager so hopelessly confused?

Perhaps the fix in the gotoDeskAndPage_func() (virtual.c) is
responsible?

new code:

  if (is_new_desk)
  {
    UnmapDesk(Scr.CurrentDesk, True);
    Scr.CurrentDesk = val[0];
  }
  MoveViewport((val[1] * Scr.MyDisplayWidth), (val[2] * Scr.MyDisplayHeight),
               True);
  if (is_new_desk)
  {
    MapDesk(val[0], True);
  }

old code:

  if (Scr.CurrentDesk != val [0])                                               
  {                                                                             
    UnmapDesk(Scr.CurrentDesk, True);                                           
  }                                                                             
  MoveViewport((val[1] * Scr.MyDisplayWidth), (val[2] * Scr.MyDisplayHeight),   
               True);                                                           
  if (Scr.CurrentDesk != val [0])                                               
  {                                                                             
    Scr.CurrentDesk = val[0];                                                   
    MapDesk(val[0], True);                                                      
  }                                                                             

With this change the current desk is changed before the MoveViewport()
call instead of after it as it was before.  I'm not sur why this might
confuse the pager, though.  Can you try using the old code, Bob?

Bye

Dominik ^_^

-- 
Dominik Vogt, Agilent Technologies, Dept. BVS
Herrenberger Str.130, 71034 Boeblingen, Germany
phone: 07031/464-4596, fax: 07031/464-3883, [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]