libxfcegui4's xinerama wrapper

Jasper Huijsmans jasper at xfce.org
Thu May 13 09:50:49 CEST 2004


On Thu, May 13, 2004 at 03:19:53AM -0400, Brian J. Tarricone wrote:
> Jasper Huijsmans wrote:
> 
> >I was wondering, how about using the GdkScreen API? It is available 
> >since gtk 2.2, so we could use it for Xfce 4.2. Are there any problems 
> >with that?
> 
> i started using some of it with xfdesktop, but frankly i find it 
> somewhat confusing.  i just looked at it again, and i think ive figured 
> it out.  here's how i understand it:
> 

[Good stuff skipped]

Wow, you get rather verbose, just before you go to sleep ;-)

It all seemed to be correct. Summary:

GdkDisplayManager : apparently gtk can manage multiple displays (or
connections to display?). Not useful for us.

GdkDisplay : GDK representation of a X 'Display'. Mentally maps to
'computer + input devices + monitor(s)'. We only have to deal with the
default display.

GdkScreen : GDK representation of an 'XScreen'. This is where the action is
for us ;)

For (non-xinerama) multihead setups a display has multiple
screens. Xfdesktop manages all screens with one instance. The panel and
xfwm rely on the user to set the correct DISPLAY variable and then simply
use the default screen.

Xinerama is weird in that it makes multiple monitors part of one GdkScreen.
Normal non-xinerama setups can of course be seen as xinerama with only one
monitor ;) The GdkScreen API seems to provide all information we need
to get information about the monitors, number of monitoris and geometry
of each. I used it in my panel widget prototype and it did seem to work
properly.

	Jasper



More information about the Xfce4-dev mailing list