Hi,

Thanks for your helpful replies. They've set me on the right track
nicely (and of course reminded me of the difference between a screen
and a monitor).

Mark.

2009/9/7 Stephane Delcroix <[email protected]>
>
> If by *screen* you mean *monitor* and you hav a single *sceen* splitted
> on 2 *monitors*, you can do this:
>
> //This will tell you on which monitor your window is on
> Gdk.Screen screen = this.Screen;
> int monitor = screen.GetMonitorAtWindow (parent.GdkWindow);
>
> //Now, you can move it at will using Move (x, y), and it's easy to get
> one monitor Bounds with:
> Gdk.Rectangle bounds = screen.GetMonitorGeometry (monitor);
>
> More info on
> http://www.go-mono.com/docs/index.aspx?link=T%3aGdk.Screen%2f*
>
> hot it helps
>
> s


2009/9/7 Jason Smith <[email protected]>
>
> Monitor != Screen;
>
> Those functions are mapped as Gtk.Window.Screen. But you know, as
> instance methods. To figure out what physical monitor a window is on
> (sounds like what you want). You do something like;
>
> Gdk.Rectangle geo;
> window.GetPosition (out geo.X, out geo.Y);
> window.GetSize (out geo.Width, out geo.Height);
>
> for (int i=0; i < window.Screen.NMonitors; i++) {
>        if (geo.IntersectsWith (window.Screen.GetMonitorGeometry (i)) {
>                Console.WriteLine ("Window on monitor " + i);
>                break;
>        }
> }
>
> I am doing this from memory, so the method names may not be exact, but
> thats the idea.
_______________________________________________
Gtk-sharp-list maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list

Reply via email to