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.

Reply via email to