Set pid on the ClientConnection backing the PlasmaWindow surface.

Summary: Depends on D5747.

Reviewers: #plasma, sebas, graesslin

Reviewed By: #plasma, graesslin

Subscribers: kwin, plasma-devel, #kwin

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D5756
This commit is contained in:
Eike Hein 2017-05-14 00:02:30 +09:00 committed by Roman Gilg
parent d8ec2e0466
commit e7e79124aa
4 changed files with 16 additions and 1 deletions

View file

@ -704,6 +704,7 @@ void AbstractClient::setupWindowManagementInterface()
};
updateAppId();
w->setSkipTaskbar(skipTaskbar());
w->setPid(pid());
w->setShadeable(isShadeable());
w->setShaded(isShade());
w->setResizable(isResizable());

View file

@ -980,6 +980,11 @@ void ShellClient::updateInternalWindowGeometry()
m_internalWindow->geometry().size() + QSize(borderLeft() + borderRight(), borderTop() + borderBottom())));
}
pid_t ShellClient::pid() const
{
return surface()->client()->processId();
}
bool ShellClient::isInternal() const
{
return m_internal;

View file

@ -108,6 +108,15 @@ public:
quint32 windowId() const override {
return m_windowId;
}
/**
* The process for this client.
* Note that processes started by kwin will share its process id.
* @since 5.11
* @returns the process if for this client.
**/
pid_t pid() const override;
bool isInternal() const;
bool isLockScreen() const override;
bool isInputMethod() const override;

View file

@ -295,7 +295,7 @@ public:
QByteArray wmClientMachine(bool use_localhost) const;
const ClientMachine *clientMachine() const;
Window wmClientLeader() const;
pid_t pid() const;
virtual pid_t pid() const;
static bool resourceMatch(const Toplevel* c1, const Toplevel* c2);
bool readyForPainting() const; // true if the window has been already painted its contents