From 97e3bd0ca6cdc58c1915038eaf28822a60d0206e Mon Sep 17 00:00:00 2001
From: Alexander Golubev <fatzer2@gmail.com>
Date: Thu, 8 Jan 2026 06:08:21 +0300
Subject: twin: treat keepAbove() windows exactly as active

Before this the keepAbove() windows were always completely when inactive
regardless whether active windows have some degree of translucency or
not. But as prompt in the config says they should be just treated as
active.

Signed-off-by: Alexander Golubev <fatzer2@gmail.com>
---
 twin/client.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/twin/client.cpp b/twin/client.cpp
index 050d1e965..e9e74e139 100644
--- a/twin/client.cpp
+++ b/twin/client.cpp
@@ -2827,7 +2827,7 @@ void Client::setShadowSize(uint shadowSize)
 
 uint Client::defaultOpacity()
     {
-    if (isActive())
+    if (isActive() || (keepAbove() && options->keepAboveAsActive))
         {
         if( ruleOpacityActive() )
             return rule_opacity_active;
@@ -2839,9 +2839,7 @@ uint Client::defaultOpacity()
         if( ruleOpacityInactive() )
             return rule_opacity_inactive;
         else
-            return options->translucentInactiveWindows && !(keepAbove() && options->keepAboveAsActive) ?
-                      options->inactiveWindowOpacity
-                    : Opacity::Opaque;
+            return options->translucentInactiveWindows ? options->inactiveWindowOpacity : Opacity::Opaque;
         }
     }
 
-- 
cgit v1.2.3

