From 1cb8cd3930e2c8410bbc99baa0a5bea91994bd71 Mon Sep 17 00:00:00 2001 From: Vaxry <43317083+vaxerski@users.noreply.github.com> Date: Wed, 17 Sep 2025 14:03:49 +0200 Subject: solitary: fix check for config error (#11733) Adds a blocker for solitary optimizations if there is a hyprerror present --- src/helpers/Monitor.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/helpers/Monitor.cpp') diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index e5b60597..4a9f93ff 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -25,6 +25,7 @@ #include "../managers/animation/AnimationManager.hpp" #include "../managers/animation/DesktopAnimationManager.hpp" #include "../managers/input/InputManager.hpp" +#include "../hyprerror/HyprError.hpp" #include "sync/SyncTimeline.hpp" #include "time/Time.hpp" #include "../desktop/LayerSurface.hpp" @@ -1499,8 +1500,8 @@ void CMonitor::setCTM(const Mat3x3& ctm_) { g_pCompositor->scheduleFrameForMonitor(m_self.lock(), Aquamarine::IOutput::scheduleFrameReason::AQ_SCHEDULE_NEEDS_FRAME); } -uint16_t CMonitor::isSolitaryBlocked(bool full) { - uint16_t reasons = 0; +uint32_t CMonitor::isSolitaryBlocked(bool full) { + uint32_t reasons = 0; if (g_pHyprNotificationOverlay->hasAny()) { reasons |= SC_NOTIFICATION; @@ -1508,6 +1509,12 @@ uint16_t CMonitor::isSolitaryBlocked(bool full) { return reasons; } + if (g_pHyprError->active() && g_pCompositor->m_lastMonitor == m_self) { + reasons |= SC_ERRORBAR; + if (!full) + return reasons; + } + if (g_pSessionLockManager->isSessionLocked()) { reasons |= SC_LOCK; if (!full) -- cgit v1.2.3