D6047: WIP: Support XDG v6

Martin Flöser noreply at phabricator.kde.org
Thu Jun 22 16:11:00 UTC 2017


graesslin added a comment.


  could you please upload a version with context?

INLINE COMMENTS

> mart wrote in xdgshell_interface.h:80
> from kwin, client.cpp:
> i guess that's the kwin part that will have to use this.
> it uses a single timer, and tries for a couple of timeout, as soon as the client answers it's considered good, no serial for pings is considered.
> 
> void Client::pingWindow()
> {
> 
>   if (!info->supportsProtocol(NET::PingProtocol))
>       return; // Can't ping :(
>   if (options->killPingTimeout() == 0)
>       return; // Turned off
>   if (ping_timer != NULL)
>       return; // Pinging already
>   ping_timer = new QTimer(this);
>   connect(ping_timer, &QTimer::timeout, this,
>       [this]() {
>           if (unresponsive()) {
>               qCDebug(KWIN_CORE) << "Final ping timeout, asking to kill:" << caption();
>               ping_timer->deleteLater();
>               ping_timer = nullptr;
>               killProcess(true, m_pingTimestamp);
>               return;
>           }
>   
>           qCDebug(KWIN_CORE) << "First ping timeout:" << caption();
>   
>           setUnresponsive(true);
>           ping_timer->start();
>       }
>   );

please note that this is X11 code which has a different ping concept. On Wayland we don't ping yet.

> davidedmundson wrote in xdgshell_interface.h:80
> We need the serial Ids here, otherwise it's not very usable; especially as the pong doesn't have an elapsed time.
> 
> A kjob like API wrapping this might be perfect for here?

@davidedmundson  for the ping you could check the old wl_shell_surface implementation in KWayland.

> xdgshell_interface.h:75
> +    /*
> +     * Invert the anchor and gravity on the X axis
> +     */

what is "gravity"?

> xdgshell_interface.h:124
>       *
> +     * @deprecated
>       * @param surface The popup xdg shell surface which got created

please add what the replacement is

> xdgshell_interface.h:142
> +     */
> +    void popupCreated2(KWayland::Server::XdgShellPopupInterface *surface);
> +

can we have a better name than popupCreated2?

> xdgshell_interface.h:145
> +
> +    void pongReceived();
> +

documentation missing

REVISION DETAIL
  https://phabricator.kde.org/D6047

To: davidedmundson, #plasma
Cc: graesslin, mart, plasma-devel, #frameworks, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, lukas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20170622/a19901cd/attachment.html>


More information about the Plasma-devel mailing list