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->setFullscreenable(isFullScreenable());
w->setThemedIconName(icon().name().isEmpty() ? QStringLiteral("xorg") : icon().name()); w->setThemedIconName(icon().name().isEmpty() ? QStringLiteral("xorg") : icon().name());
w->setAppId(QString::fromUtf8(resourceName())); 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::captionChanged, w, [w, this] { w->setTitle(caption()); });
connect(this, &AbstractClient::desktopChanged, w, connect(this, &AbstractClient::desktopChanged, w,
[w, this] { [w, this] {

View file

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