[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
Re: multiple displays under Win32
- From: Mike Davis <mdavis_mailbox 3drevolution net>
- To: jamesm internode on net
- Cc: gtk-perl-list gnome org
- Subject: Re: multiple displays under Win32
- Date: Fri, 26 Aug 2005 12:41:37 +0200
On Thu, 25 Aug 2005 19:52:17 +0930
James McArthur <jamesm internode on net> wrote:
> It would appear Mike Davis said the following on 08/25/05 18:04:
> > Under WinXP it's just one big screen with the geometry being the
> > maximum width/height of all the screens together.
>
> To the best of my knowledge, Windows treats two monitors as one big
> screen (stretch mode) or as a direct copy of the main screen (clone
> mode). Thats the best Windows provides.
>
> I think you're going to be stuck with a nasty hard coding exercise.
>
Thanks for all the responses, last night I found the solution I'm looking for :-)
Here's a way of getting the monitor geometry for Win32 multi displays:
<code>
foreach my $display (Gtk2::Gdk::DisplayManager->get->list_displays) {
print "display name [", $display->get_name, "] num screens [", $display->get_n_screens, "]";
my $defaultScreen = $display->get_default_screen;
print "\tscreen num monitors [", $defaultScreen->get_n_monitors, "]\n";
for(my $monitorNumber = 0; $monitorNumber < $defaultScreen->get_n_monitors; $monitorNumber++) {
my $monitorGeometry = $defaultScreen->get_monitor_geometry($monitorNumber);
print "\t\tmonitorNumber [$monitorNumber] geometry h [", $monitorGeometry->height, "] w [", $monitorGeometry->width, "] x [", $monitorGeometry->x, "] y [", $monitorGeometry->y, "]\n";
}
}
</code>
I suppose the '->list_displays' loop is unnecessary for Win32, but this way it can be made to work for both Linux and Win32, although a loop is required for the screens under Linux.
Thanks
Mike
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]