On Mon, 2023-01-16 at 21:35 -0300, Lisandro Damián Nicanor Pérez Meyer wrote: > Hi > > Private packages have only been created when required for other Qt > submodules or key plasma packages, no more.
They are required for key plasma packages here, as well. It is necessary to use these private headers to be able to write plugins to Qt itself, such as for providing support for additional wayland protocols in Qt, and to provide input method support on Wayland using Qt API. I found this issue as I was getting build errors on doing some work to port the wayland code in maliit-framework to Qt6. > > That's because kwin required those headers. As soon as kwin switches > to Qt6 we will know if we need to make them available. If kwin is also using them, then you can be assured they will still be needed, as very little has changed in QtWayland in 6.x from 5.x. As I have found, they are still needed for the on-screen keyboard support. > And no, existing private headers are not free, it is a real pain > because they normally just make transitions more complicated. > > Ideally people should work with Qt upstream in order to avoid > requiring private headers. Most of these needs are long standing issues which I'm sure Qt upstream is well aware of. Third party style plugins for example is a well known case where one must use private API, and it is still the case. Migrating things from private to public API is never a simple task, and even if we could get it done, it would likely take years to get there.