diff --git a/abstract_client.h b/abstract_client.h --- a/abstract_client.h +++ b/abstract_client.h @@ -557,7 +557,7 @@ 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.h b/x11client.h --- a/x11client.h +++ b/x11client.h @@ -109,6 +109,7 @@ 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; diff --git a/x11client.cpp b/x11client.cpp --- a/x11client.cpp +++ b/x11client.cpp @@ -4944,4 +4944,10 @@ return !region.isEmpty(); } +void X11Client::applyWindowRules() +{ + AbstractClient::applyWindowRules(); + setBlockingCompositing(info->isBlockingCompositing()); +} + } // namespace