graesslin added inline comments. INLINE COMMENTS
> mart wrote in shell_client.cpp:1319 > how could it be done as addtransient/transientfor/settransient are all > protected? what I was thinking of is something like: SurfaceInterface *WaylandServer::findForeignForSurface(SurfaceInterface *surface) { return m_XdgForeign->transientFor(surface); } and here a simple: if (!s) { s = waylandSurface()->findForeignForSurface(surface()); } but I think your question is more about how to do the connect: just make waylandServer forward the signal, so that ShellClient can connect to it. What I don't want is that the global is passed to ShellClient - we don't do that for any other global in ShellClient. Normally it always goes through WaylandServer. There are very few exceptions to it where a class has direct access to a global. REPOSITORY R108 KWin REVISION DETAIL https://phabricator.kde.org/D7521 To: mart, #plasma, graesslin Cc: graesslin, davidedmundson, plasma-devel, kwin, #kwin, ZrenBot, progwolff, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart, lukas