summaryrefslogtreecommitdiff
path: root/decorations
diff options
authorMarco Trevisan (Treviño) <mail@3v1n0.net>2016-08-02 13:03:56 +0200
committerMarco Trevisan (Treviño) <mail@3v1n0.net>2016-08-02 13:03:56 +0200
commit5688b9e9a535dfdcaa824944e7371d815b238503 (patch)
tree7389815bedd232b3abf05e289b05cf6e282868f5 /decorations
parentc11db5db7e67d6ae52accb06d2e0f7315a405ba2 (diff)
DecoratedWindow: change the type of the maximize button when window state changes
(bzr r4163.3.3)
Diffstat (limited to 'decorations')
-rw-r--r--decorations/DecoratedWindow.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/decorations/DecoratedWindow.cpp b/decorations/DecoratedWindow.cpp
index 8ac9197d2..d15748559 100644
--- a/decorations/DecoratedWindow.cpp
+++ b/decorations/DecoratedWindow.cpp
@@ -118,9 +118,19 @@ void Window::Impl::Update()
else
Undecorate();
- auto const& maximize_button = maximize_button_.lock();
- if (maximize_button)
- maximize_button->UpdateTexture();
+ if (maximize_button_)
+ {
+ auto const& maximize_button = maximize_button_.lock();
+
+ if (win_->state() & (CompWindowStateMaximizedVertMask|CompWindowStateMaximizedHorzMask))
+ {
+ maximize_button->type = WindowButtonType::UNMAXIMIZE;
+ }
+ else
+ {
+ maximize_button->type = WindowButtonType::MAXIMIZE;
+ }
+ }
last_mwm_decor_ = win_->mwmDecor();
last_actions_ = win_->actions();