[Gambas-user] an observation on window placement with multiple screens
bsteers4 at gmail.com
Thu Oct 20 13:18:08 CEST 2022
On Thu, 13 Oct 2022 at 17:19, Benoit Minisini <
benoit.minisini at gambas-basic.org> wrote:
> Le 13/10/2022 à 17:44, Bruce Steers a écrit :
> > On Thu, 13 Oct 2022 at 13:43, Benoit Minisini
> > <benoit.minisini at gambas-basic.org
> > <mailto:benoit.minisini at gambas-basic.org>> wrote:
> > Le 13/10/2022 à 14:03, Bruce Steers a écrit :
> > > I want to handle it first hand, not after via save/restore a
> > > if i use Settings.Write(MyForm)
> > > It saves the window geometry and the screen number so i could
> > read the
> > > Form.Settings property but Benoit has stated this syntax may
> > change so
> > > it's not wise to use it.
> > > I've looked at the Screen class and there is no ID or Number
> > property to
> > > get data about the current screen.
> > >
> > > Can the Screens array Index be a reliable Id, so Screens is
> > 1 as
> > > the Form.Settings would save it?
> > >
> > > Can i tell what screen my open application is on?
> > > Then force other windows like Dialogs and Messages and widows
> > that have
> > > not had their position saved to be on the chosen screen?
> > >
> > > If not then i think gambas could really do with this feature.
> > > It was not my experience that all other applications behaved this
> > way.
> > > only some.
> > >
> > > Respects
> > > BruceS
> > >
> > The problem are the following:
> > - You can't directly specifiy the screen a window is. You can only
> > specify its position, and the screen is deduced from that position
> > screens making one sole big logical screen).
> > - The window manager decides where a window appears. On X11, you can
> > suggest a position.
> > - On Wayland, you can't specify a window position!
> > So it's almost impossible to have a window opening intelligently
> > automatically in all cases. I will think a bit and see what I can do,
> > but I'm afraid that on Wayland we can't do anything.
> > Regards,
> > --
> > Benoît Minisini.
> > I thought the "one big screen" was only relevant to virtual desktops not
> > physical displays/monitors?
> > Virtual desktop positions is also pretty uncontrollable as you can get
> > window positions but they are relevant to the active window.
> > So for an application that has a window on desktop 1 and 2 from desktop
> > 1 window positions for both windows are window 1 as normal and window 2
> > is it's position + screen width but if on desktop 2 window 2 is normal
> > and window 1 is position - screen width.
> > That's a bit confusing but can be dealt with.
> > The problem though is you cannot re-open a window on another desktop as
> > you cannot set a screen position greater than a single screen width or
> > less than 0 so windows only ever open on the active desktop
> > So the problem here is not to do with virtual desktop screens as they in
> > fact do open windows on the relevant desktop.
> > it's actual physical displays
> > Respects
> > BruceS
> I don't see physical screens from the toolkits. I see only one big
> logical screen, with part of it associated with a screen number.
> Benoît Minisini.
I just read your reply to this question on stack overflow but it didn't
work for me.
But to be fair i was working on the Virtual desktops not actual physical
screens, is your comment correct for actual screens?
There seems to be no way to move a window beyond the current screen size,
any number larger than the screen width just opens the window to the far
right of the visible screen.
Is this the window managers doing or is gambas using a Max() somewhere to
limit the position?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the User