diff --git a/client.h b/client.h index e5599c2f97..7588181e0a 100644 --- a/client.h +++ b/client.h @@ -103,10 +103,14 @@ class Client Q_PROPERTY(bool fullScreenable READ isFullScreenable) // TODO: notify signal Q_PROPERTY(QRect geometry READ geometry WRITE setGeometry) - // TODO: notify signal - Q_PROPERTY(bool keepAbove READ keepAbove WRITE setKeepAbove) - // TODO: notify signal - Q_PROPERTY(bool keepBelow READ keepBelow WRITE setKeepBelow) + /** + * Whether the Client is set to be kept above other windows. + **/ + Q_PROPERTY(bool keepAbove READ keepAbove WRITE setKeepAbove NOTIFY keepAboveChanged) + /** + * Whether the Client is set to be kept below other windows. + **/ + Q_PROPERTY(bool keepBelow READ keepBelow WRITE setKeepBelow NOTIFY keepBelowChanged) // TODO: notify signal Q_PROPERTY(bool maximizable READ isMaximizable) // TODO: notify signal @@ -577,6 +581,8 @@ signals: void transientChanged(); void modalChanged(); void shadeChanged(); + void keepAboveChanged(); + void keepBelowChanged(); private: void exportMappingState(int s); // ICCCM 4.1.3.1, 4.1.4, NETWM 2.5.1 diff --git a/layers.cpp b/layers.cpp index 931b988aa2..de882da5f3 100644 --- a/layers.cpp +++ b/layers.cpp @@ -775,6 +775,7 @@ void Client::setKeepAbove(bool b) // Update states of all other windows in this group if (clientGroup()) clientGroup()->updateStates(this); + emit keepAboveChanged(); } void Client::setKeepBelow(bool b) @@ -798,6 +799,7 @@ void Client::setKeepBelow(bool b) // Update states of all other windows in this group if (clientGroup()) clientGroup()->updateStates(this); + emit keepBelowChanged(); } Layer Client::layer() const