[RFC] Fixing fixx11h.h

Martin Graesslin mgraesslin at kde.org
Sun Mar 10 11:41:10 UTC 2013


Hi all,

as mentioned in my feedback mail fixx11h.h is currently broken. There are two 
independent issues.
1. fixx11h.h includes <config-kdeui.h> which doesn't get installed.
2. KWindowSystem has a copy as fixx11h_p.h which is included in e.g. netwm.h 
and doesn't get installed.

Currently fixx11h.h is in kdeui/util on which kwindowsystem as a tier1 lib 
cannot depend.

My suggestion to fix the situation:
1. move fixx11h.h to the tier1 lib kwindowsystem
2. remove the #if HAVE_X11 from the header
3. make all other usages include the headers from kwindowsystem. Later step: 
port away from XLib to XCB (fixes the issue as XCB is more sane in that regard)

Rational:
1. fixx11h is for interaction with the X window system. If one needs this 
header he is doing something wrong in the first place and it is very likely 
that also kwindowsystem is needed.
2. Looking through the usage of fixx11h in frameworks the include is always in 
a HAVE_X11 block. Why would one want to include it on non-X11? The HAVE_X11 in 
the header is redundant and is causing issues.
3. I would like to see KF5 being released without XLib usage. Most usages need 
to be changed anyway as it's currently not yet testing whether it's on X11 
platform or Wayland platform.

Comments? If there is agreement on these steps I'll prepare the move of 
fixx11h.

Cheers
Martin


More information about the Kde-frameworks-devel mailing list