[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kwin
From:       Luboš Luňák <l.lunak () kde ! org>
Date:       2005-05-02 12:49:06
Message-ID: 20050502124906.087FA4A6 () office ! kde ! org
[Download RAW message or body]

CVS commit by lunakl: 

BUG:97490


  M +12 -2     bridge.cpp   2.11
  M +12 -0     useractions.cpp   2.40


--- kdebase/kwin/bridge.cpp  #2.10:2.11
@@ -50,6 +50,16 @@ BRIDGE_HELPER( void, minimize,,, )
 BRIDGE_HELPER( void, showContextHelp,,, )
 BRIDGE_HELPER( void, setDesktop, int desktop, desktop, )
-BRIDGE_HELPER( void, setKeepAbove, bool set, set, )
-BRIDGE_HELPER( void, setKeepBelow, bool set, set, )
+
+void Bridge::setKeepAbove( bool set )
+    {
+    if( c->keepAbove() != set )
+        c->workspace()->performWindowOperation( c, KeepAboveOp );
+    }
+
+void Bridge::setKeepBelow( bool set )
+    {
+    if( c->keepBelow() != set )
+        c->workspace()->performWindowOperation( c, KeepBelowOp );
+    }
 
 NET::WindowType Bridge::windowType( unsigned long supported_types ) const

--- kdebase/kwin/useractions.cpp  #2.39:2.40
@@ -397,9 +397,21 @@ void Workspace::performWindowOperation( 
             break;
         case Options::KeepAboveOp:
+            {
+            StackingUpdatesBlocker blocker( this );
+            bool was = c->keepAbove();
             c->setKeepAbove( !c->keepAbove() );
+            if( was && !c->keepAbove())
+                raiseClient( c );
             break;
+            }
         case Options::KeepBelowOp:
+            {
             c->setKeepBelow( !c->keepBelow() );
+            StackingUpdatesBlocker blocker( this );
+            bool was = c->keepBelow();
+            if( was && !c->keepBelow())
+                lowerClient( c );
             break;
+            }
         case Options::WindowRulesOp:
             editWindowRules( c );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic