On Sat, Dec 04, 2021 at 02:04:48PM +0000, Hegel3DReloaded wrote:
> On Sat, Dec 04, 2021 at 02:13:06PM +0100, Dominik Vogt wrote:
> >> On Sat, Dec 04, 2021 at 02:03:46PM +0100, Dominik Vogt wrote:
>
> >> Maybe the scaling argument can be set to "auto" or something to
> >> keep the desktopscale within reasonable limits?  (The example with
> >> desktopsize 50x1 earlkier in the discussion showed that the pager
> >> currently does not have a reasonable scaling algorithm).
>
> >> Maybe something like this by default?
>
> >>   desktopscale auto [max%]
>
> >> "auto" means to make the pager consume "max%" of the desktop width
> >> and height.  The default would be "auto 10" or something, so (a)
> >> by default the pager autoscales and (b) it always consumes 10% of
> >> the screen size in one direction and no more than 10% in the other
> >> direction.
>
> > Experimental patch attached (only initial size calculation; no
> > live resizing yet).
>
> Sounds ok. Which branch should I checkout to test this?

The dv/pager-noaspect should work now, but I've not tested it with
multiple monitors.

By default, the pager uses no more than 25% of the screen size
(the root window size) in both directions (and tries to maximize
within these limits), i.e.  the default is

  AutoScale 25

When the desktop is resized with the "desktopsize" command or by
adding or removing monitors, the window is resized within the
given limits to match the aspect ratio.  (That happens even if the
user has manually resized the pager window).

Things to test:

 * When the pager window is created or the desktop layout changes,
   the dimensions of the *current* desk are used for size
   calculations.  I'm not sure if there are unwanted effects if
   the pointer is on a different screen than the pager window when
   that happens.  Is this still something one would have with
   Xrandr?

 * Multi-monitor setup with one screen, i.e. one fvwm manages all
   monitors.

 * Multi-monitor setup with multiple screens, a separate fvwm
   instance runs for each screen.

 * Add and remove monitors in each setup.

Ciao

Dominik ^_^  ^_^

--

Dominik Vogt

Reply via email to