graesslin added inline comments.

INLINE COMMENTS

> abstract_client.h:667
> +    void applicationMenuActiveChanged(bool);
> +    void requestShowApplicationMenu();
>  

is that a signal (context is missing in diff)? If yes it sounds more like a 
slot.

> abstract_client.h:1017
> +
> +    bool m_applicationMenuActive;
> +    QString m_applicationMenuServiceName;

default init missing

> appmenu.cpp:68-71
> +    return Workspace::self()->findClient([&](const Client *c) {
> +        return c->applicationMenuServiceName() == serviceName
> +        && c->applicationMenuObjectPath() == menuObjectPath.path();
> +    });

careful here: that will only find (X11) Clients but not ShellClient. You might 
want a variant which finds AbstractClients.

> client.cpp:2150-2151
> +{
> +    const QString &serviceName = 
> QString::fromUtf8(Xcb::StringProperty(m_client, 
> atoms->kde_net_wm_appmenu_service_name));
> +    const QString &objectPath = 
> QString::fromUtf8(Xcb::StringProperty(m_client, 
> atoms->kde_net_wm_appmenu_object_path));
> +

this causes two roundtrips to the X server. Please split into variants which 
reduce to one roundtrip in the case of the update  (from events.cpp) and to 
zero roundtrips in case of manage.

> client.h:334
>  
> +    void updateApplicationMenu();
> +

I don't like that it has the same name as a method in parent class

> shell_client.h:138
>  
> +    void updateApplicationMenu();
> +

I don't like that it has the same name as a method in parent class

REPOSITORY
  rKWIN KWin

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

EMAIL PREFERENCES
  https://phabricator.kde.org/settings/panel/emailpreferences/

To: broulik, #plasma
Cc: graesslin, plasma-devel, kwin, lesliezhai, ali-mohamed, hardening, 
jensreuterberg, abetts, sebas

Reply via email to