[Development] QX11EmbedWidget in Qt5

Richard Moore rich at kde.org
Thu Nov 8 21:23:57 CET 2012


On 8 November 2012 09:37, Alberto Mardegan <mardy at users.sourceforge.net> wrote:
> Hi all!
>   At some point I might need to use XEmbed, so I'm interested in helping
> out the implementation of QX11EmbedWidget in Qt5, as time permits.
> Now I'm just studying the code to evaluate how much of an effort it
> would be.
>
> I've seen the merge request about QX11Info, which is somehow related:
> https://codereview.qt-project.org/#change,26714
> Unfortunately it didn't progress, so it's a bit unclear to me how the
> feature should be integrated.

The current stumbling block with the change are:

1) The desire to remove the dependency on QDesktopWidget so that the
code would not have a dependency on the widgets module.

2) My available time.

Regarding (1) for porting I think having the widgets dependency is
fine, but it is obviously a barrier to use in a pure-qml environment.
I guess the first question with that is if people would like to use it
that way? I attempted to trace the way QDesktopWidget works and got
pretty much stuck figuring out how I could get at the information
without it.

Regarding (2) I am still extremely busy which is why I haven't
advanced this any further. Is it allowed for more than one person to
work on/update the same gerrit request? If so then I'd be more than
happy if people are willing to step in to help.

QX11Info is one of the blockers for porting KDE to Qt5, so it's very
important to me that we get it implemented one way or another. I'll be
at the devdays in Berlin next week and am very happy to discuss this
(I'll also be at the contributor day on Monday).

>
> Should the API be exposed by a separate library which is linked to the
> client code only if "QT += x11support" is specified? Or should it be
> part of the QtWidgets module?

My vision was that this would be an x11support module, containing this
and any other X11 specific glue.

>
> I don't know much about Windows and OS X: is there some functionality
> there to embed windows belonging to other processes? If so, then maybe
> we could have a QEmbed{Widget,Container} in QtWidgets?

That is feasible yes, there are facilities on Windows and I believe OS
X for this purpose.

Cheers

Rich.



More information about the Development mailing list