gtk2.2 depend on libxfcegui4

Olivier Fourdan fourdan at xfce.org
Mon May 5 23:24:03 CEST 2003


Hi Benny,

The problem comes mainly from the use og GdkScreen which is a new
addition in gtk+-2.2

The "constructor" netk_tray_icon_new() takes that as an argument, so
that means that being backward compatible with gtk+-2.0 requires to have
different API (one using GdkScreen * with gtk+-2.2 and another one using
void and defaulting to default screen when using gtk+-2.0)

I have no problem with this approach, but that means that apps that use
the systray will need to check and call the constructor differently when
compiled against gtk+-2.0 and gtk+-2.2

Another (better IMO) approach would be to make a default constructor
that take no argument and use the default screen (obtained differently
depending on the gtk version) and another one like
netk_tray_icon_new_for_screen() only available when using gtk+-2.2

In both case, there is an API change. That's mandatory since the API
depends on gtk+-2.2 due to GdkScreen

Something like :

#if defined (GTK_CHECK_VERSION) && GTK_CHECK_VERSION(2,2,0)
  display = gdk_x11_lookup_xdisplay (DisplayOfScreen (xscreen));
  screen = gdk_display_get_screen (display, XScreenNumberOfScreen
(xscreen));
#else
  display = gdk_display;
#endif

Cheers,
-- 
Olivier Fourdan <fourdan at xfce.org>
http://www.xfce.org




More information about the Xfce4-dev mailing list