diff --git a/kwin/clients/aurorae/themes/plastik/package/contents/ui/main.qml b/kwin/clients/aurorae/themes/plastik/package/contents/ui/main.qml
index 77676bf..6772d06 100644
--- a/kwin/clients/aurorae/themes/plastik/package/contents/ui/main.qml
+++ b/kwin/clients/aurorae/themes/plastik/package/contents/ui/main.qml
@@ -19,6 +19,29 @@ import org.kde.kwin.decoration 0.1
import org.kde.kwin.decorations.plastik 1.0
Decoration {
+ function removeDisabledButtons(buttons) {
+ var btns = "";
+ for (var i = 0; i < buttons.length; i++) {
+ if (buttons[i] == 'I') {
+ if (!decoration.minimizeable) {
+ continue;
+ }
+ }
+ if (buttons[i] == 'A') {
+ if (!decoration.maximizeable) {
+ continue;
+ }
+ }
+ if (buttons[i] == 'X') {
+ if (!decoration.closeable) {
+ continue;
+ }
+ }
+ btns += buttons[i];
+ }
+ return btns;
+ }
+
function readConfig() {
switch (decoration.readConfig("BorderSize", DecorationOptions.BorderNormal)) {
case DecorationOptions.BorderTiny:
@@ -263,11 +286,13 @@ Decoration {
shadeButton: shadeButtonComponent
allDesktopsButton: stickyButtonComponent
closeButton: closeButtonComponent
- buttons: options.titleButtonsLeft
anchors {
top: parent.top
left: parent.left
}
+ Component.onCompleted: {
+ buttons = removeDisabledButtons(options.titleButtonsLeft);
+ }
}
Text {
id: caption
@@ -304,11 +329,13 @@ Decoration {
shadeButton: shadeButtonComponent
allDesktopsButton: stickyButtonComponent
closeButton: closeButtonComponent
- buttons: options.titleButtonsRight
anchors {
top: parent.top
right: parent.right
}
+ Component.onCompleted: {
+ buttons = removeDisabledButtons(options.titleButtonsRight);
+ }
}
}
}