diff --git a/abstract_client.h b/abstract_client.h index a69c63cdce..beb53d5be0 100644 --- a/abstract_client.h +++ b/abstract_client.h @@ -557,7 +557,7 @@ public: void removeRule(Rules* r); void setupWindowRules(bool ignore_temporary); void evaluateWindowRules(); - void applyWindowRules(); + virtual void applyWindowRules(); virtual void takeFocus() = 0; virtual bool wantsInput() const = 0; /** diff --git a/x11client.cpp b/x11client.cpp index 3e645e84bd..9838e741a5 100644 --- a/x11client.cpp +++ b/x11client.cpp @@ -4944,4 +4944,10 @@ bool X11Client::hasOffscreenXineramaStrut() const return !region.isEmpty(); } +void X11Client::applyWindowRules() +{ + AbstractClient::applyWindowRules(); + setBlockingCompositing(info->isBlockingCompositing()); +} + } // namespace diff --git a/x11client.h b/x11client.h index 6b3b2c050d..e59dd5c5ff 100644 --- a/x11client.h +++ b/x11client.h @@ -109,6 +109,7 @@ public: void checkGroup(Group* gr = nullptr, bool force = false); void changeClientLeaderGroup(Group* gr); void updateWindowRules(Rules::Types selection) override; + void applyWindowRules() override; void updateFullscreenMonitors(NETFullscreenMonitors topology); bool hasNETSupport() const;