supports kwayland skipsTaskbar

read the skipTaskbar property from plasmashellsurface
and set it accordingly in the corresponding PlasmaWindow
for the model
REVIEW:125454
This commit is contained in:
Marco Martin 2015-09-29 20:25:04 +02:00
parent 8173deab6b
commit 9912d84f74
2 changed files with 15 additions and 1 deletions

View file

@ -635,6 +635,12 @@ void AbstractClient::setupWindowManagementInterface()
w->setFullscreenable(isFullScreenable());
w->setThemedIconName(icon().name().isEmpty() ? QStringLiteral("xorg") : icon().name());
w->setAppId(QString::fromUtf8(resourceName()));
w->setSkipTaskbar(skipTaskbar());
connect(this, &AbstractClient::skipTaskbarChanged, w,
[w, this] {
w->setSkipTaskbar(skipTaskbar());
}
);
connect(this, &AbstractClient::captionChanged, w, [w, this] { w->setTitle(caption()); });
connect(this, &AbstractClient::desktopChanged, w,
[w, this] {

View file

@ -562,7 +562,7 @@ void ShellClient::clientFullScreenChanged(bool fullScreen)
StackingUpdatesBlocker blocker(workspace());
workspace()->updateClientLayer(this); // active fullscreens get different layer
if (fullScreen) {
if (fullScreen) {qWarning()<<"AAAAAAAAAA"<<fullScreen;
m_geomFsRestore = geometry();
requestGeometry(workspace()->clientArea(FullScreenArea, this));
workspace()->raiseClient(this);
@ -657,6 +657,11 @@ void ShellClient::installPlasmaShellSurface(PlasmaShellSurfaceInterface *surface
);
updatePosition();
updateRole();
setSkipTaskbar(surface->skipTaskbar());
connect(surface, &PlasmaShellSurfaceInterface::skipTaskbarChanged, this, [this] {
setSkipTaskbar(m_plasmaShellSurface->skipTaskbar());
});
}
bool ShellClient::isInitialPositionSet() const
@ -664,6 +669,9 @@ bool ShellClient::isInitialPositionSet() const
if (m_plasmaShellSurface) {
return m_plasmaShellSurface->isPositionSet();
}
if (isFullScreen()) {
return true;
}
return false;
}