diff --git a/abstract_client.h b/abstract_client.h --- a/abstract_client.h +++ b/abstract_client.h @@ -544,7 +544,7 @@ * Returns whether the window is maximizable or not. */ virtual bool isMaximizable() const = 0; - virtual bool isMinimizable() const = 0; + virtual bool isMinimizable() const; virtual QRect iconGeometry() const; virtual bool userCanSetFullScreen() const; virtual bool userCanSetNoBorder() const = 0; diff --git a/abstract_client.cpp b/abstract_client.cpp --- a/abstract_client.cpp +++ b/abstract_client.cpp @@ -3162,4 +3162,14 @@ Q_UNUSED(user) } +/** + * Returns @c true if the AbstractClient can be minimized; otherwise @c false. + * + * Default implementation returns @c false. + */ +bool AbstractClient::isMinimizable() const +{ + return false; +} + } diff --git a/internal_client.h b/internal_client.h --- a/internal_client.h +++ b/internal_client.h @@ -54,7 +54,6 @@ void closeWindow() override; bool isCloseable() const override; bool isMaximizable() const override; - bool isMinimizable() const override; bool isMovable() const override; bool isMovableAcrossScreens() const override; bool isResizable() const override; diff --git a/internal_client.cpp b/internal_client.cpp --- a/internal_client.cpp +++ b/internal_client.cpp @@ -213,11 +213,6 @@ return false; } -bool InternalClient::isMinimizable() const -{ - return false; -} - bool InternalClient::isMovable() const { return true;