Ports and multihead

One thing that hasn't been addressed yet, and will have to be 
addressed very soon after multihead hits the main tree is making
the linux-fb and windows ports compile and work with GdkDisplay
and GdkScreen.

The basic steps I see needing to be done here are:

 * For functions that have gotten per-display or per-screen variants,
   move the compatibility function that works on the default display
   out of the port-specific code into the port independent code.

   For instance, gdk_pointer_ungrab() would be in the port-independent
   part and call gdk_display_pointer_ungrab (gdk_get_default_display (), ...)

   An important goal is to avoid increasing the number of port-specific
   functions that need to be implemented, and the amount of cut-and-paste
   between the different ports.

 * Add dummy GdkScreen and GdkDisplay implementations to the other
   ports. Hopefully this will be small enough that it can be cut
   and pasted without introducing maintainence problems.

   (If it isn't one possibility would be to implement some of the
   dummy implementation in the GdkScreen/GdkDisplay base classes.)

 * Rename the old functions in the ports to the new name, add 
   GdkDisplay/GdkScreen arguments, but ignore them.

 * (later) Implement the "xinerama" functionality for Windows.

 * (later) Consider moving global variables into the GdkDisplay and GdkScreen
   structures even for ports that only support one display and one screen,
   for cleanliness.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]