[Gambas-user] an observation on window placement with multiple screens
bsteers4 at gmail.com
Thu Oct 13 23:48:15 CEST 2022
On Thu, 13 Oct 2022, 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.
Dang. My apologies.
Maybe the other bruces request to attach windows to other windows could be
Something like using the With keyword perhaps would make sense?
Message("text") With FMain
FNewWindow.ShowModal() With FMain
Dialog.OpenFile() With FMain.
Possibly handled at top level Window.class or Form.class so it works for
all kinds of new windows/dialogs?
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the User