[aurorae] Add support for shaded windows

Summary:
Aurorae did not render correctly. This change addresses the problem for
both maximized and restored windows.

BUG: 373319
FIXED-IN: 5.10.4

Test Plan: shaded windows with Plastik and SVG based theme

Reviewers: #kwin, #plasma

Subscribers: plasma-devel, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D6719
This commit is contained in:
Martin Flöser 2017-07-15 18:59:23 +02:00
parent 139b4dc82a
commit bf0e0f071c
2 changed files with 3 additions and 1 deletions

View file

@ -405,6 +405,7 @@ void Decoration::init()
connect(m_extendedBorders, &KWin::Borders::bottomChanged, this, updateExtendedBorders); connect(m_extendedBorders, &KWin::Borders::bottomChanged, this, updateExtendedBorders);
} }
connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateBorders, Qt::QueuedConnection); connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, &Decoration::updateBorders, Qt::QueuedConnection);
connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, &Decoration::updateBorders);
updateBorders(); updateBorders();
if (!m_view.isNull()) { if (!m_view.isNull()) {
auto resizeWindow = [this] { auto resizeWindow = [this] {
@ -418,6 +419,7 @@ void Decoration::init()
connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, resizeWindow); connect(client().data(), &KDecoration2::DecoratedClient::widthChanged, this, resizeWindow);
connect(client().data(), &KDecoration2::DecoratedClient::heightChanged, this, resizeWindow); connect(client().data(), &KDecoration2::DecoratedClient::heightChanged, this, resizeWindow);
connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, resizeWindow); connect(client().data(), &KDecoration2::DecoratedClient::maximizedChanged, this, resizeWindow);
connect(client().data(), &KDecoration2::DecoratedClient::shadedChanged, this, resizeWindow);
resizeWindow(); resizeWindow();
} else { } else {
// create a dummy shadow for the configuration interface // create a dummy shadow for the configuration interface

View file

@ -32,5 +32,5 @@ Item {
} }
property bool alpha: true property bool alpha: true
width: decoration.client.width + decoration.borderLeft + decoration.borderRight + (decoration.client.maximized ? 0 : (padding.left + padding.right)) width: decoration.client.width + decoration.borderLeft + decoration.borderRight + (decoration.client.maximized ? 0 : (padding.left + padding.right))
height: decoration.client.height + decoration.borderTop + decoration.borderBottom + (decoration.client.maximized ? 0 : (padding.top + padding.bottom)) height: (decoration.client.shaded ? 0 : decoration.client.height) + decoration.borderTop + (decoration.client.shaded ? 0 : decoration.borderBottom) + (decoration.client.maximized ? 0 : (padding.top + padding.bottom))
} }