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

List:       kde-commits
Subject:    KDE/kdebase/workspace/kwin
From:       Chani Armitage <chanika () gmail ! com>
Date:       2011-01-12 18:09:00
Message-ID: 20110112180900.39BB4AC8B3 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1214045 by chani:

improve stack & focuschain activity checks

BUG: 262730

 M  +1 -1      layers.cpp  
 M  +2 -2      tabbox.cpp  
 M  +1 -1      useractions.cpp  
 M  +7 -7      workspace.cpp  


--- trunk/KDE/kdebase/workspace/kwin/layers.cpp #1214044:1214045
@@ -263,7 +263,7 @@
          i >= 0;
          --i )
         {
-        if( list.at( i )->isOnDesktop( desktop ) && list.at( i )->isShown( false ))
+        if( list.at( i )->isOnDesktop( desktop ) && list.at( i )->isShown( false ) \
&& list.at(i)->isOnCurrentActivity())  {
             if( screen != -1 && list.at( i )->screen() != screen )
                 continue;
--- trunk/KDE/kdebase/workspace/kwin/tabbox.cpp #1214044:1214045
@@ -977,7 +977,7 @@
          --i )
         {
         Client* it = stacking_order.at( i );
-        if ( it->isOnCurrentDesktop() && !it->isSpecialWindow()
+        if ( it->isOnCurrentActivity() && it->isOnCurrentDesktop() && \
!it->isSpecialWindow()  && it->isShown( false ) && it->wantsTabFocus()
             && !it->keepAbove() && !it->keepBelow())
             {
@@ -1010,7 +1010,7 @@
             }
         } while (nc && nc != c &&
             (( !options_traverse_all && !nc->isOnDesktop(currentDesktop())) ||
-             nc->isMinimized() || !nc->wantsTabFocus() || nc->keepAbove() || \
nc->keepBelow() ) ); +             nc->isMinimized() || !nc->wantsTabFocus() || \
nc->keepAbove() || nc->keepBelow() || !nc->isOnCurrentActivity() ) );  if (nc)
         {
         if (c && c != nc)
--- trunk/KDE/kdebase/workspace/kwin/useractions.cpp #1214044:1214045
@@ -1619,7 +1619,7 @@
     for( QList<Client *>::Iterator i = clist.begin(); i != clist.end(); ++i )
         {
         if( (*i)->wantsTabFocus() && *i != c &&
-            (*i)->desktop() == d && ! (*i)->isMinimized() )
+            (*i)->desktop() == d && ! (*i)->isMinimized() && \
(*i)->isOnCurrentActivity() )  {
             // Centre of the other window
             QPoint other( (*i)->pos().x() + (*i)->geometry().width() / 2,
--- trunk/KDE/kdebase/workspace/kwin/workspace.cpp #1214044:1214045
@@ -1459,7 +1459,7 @@
         for( ClientList::ConstIterator it = stacking_order.constBegin();
             it != stacking_order.constEnd();
             ++it )
-            if( !(*it)->isOnDesktop( new_desktop ) && (*it) != movingClient )
+            if( !(*it)->isOnDesktop( new_desktop ) && (*it) != movingClient && \
(*it)->isOnCurrentActivity() )  {
                 if( (*it)->isShown( true ) && (*it)->isOnDesktop( old_desktop ))
                     obs_wins.create( *it );
@@ -1483,7 +1483,7 @@
             }
 
         for( int i = stacking_order.size() - 1; i >= 0 ; --i )
-            if( stacking_order.at( i )->isOnDesktop( new_desktop ))
+            if( stacking_order.at( i )->isOnDesktop( new_desktop ) && \
stacking_order.at( i )->isOnCurrentActivity())  stacking_order.at( i \
)->updateVisibility();  
         --block_showing_desktop;
@@ -1506,7 +1506,7 @@
             for( int i = focus_chain[currentDesktop()].size() - 1; i >= 0; --i )
                 {
                 if( focus_chain[currentDesktop()].at( i )->isShown( false ) &&
-                    focus_chain[currentDesktop()].at( i )->isOnCurrentDesktop() )
+                    focus_chain[currentDesktop()].at( i )->isOnCurrentActivity() )
                     {
                     c = focus_chain[currentDesktop()].at( i );
                     break;
@@ -1591,7 +1591,7 @@
         for( ClientList::ConstIterator it = stacking_order.constBegin();
             it != stacking_order.constEnd();
             ++it )
-            if( !(*it)->isOnActivity( new_activity ) && (*it) != movingClient )
+            if( !(*it)->isOnActivity( new_activity ) && (*it) != movingClient && \
(*it)->isOnCurrentDesktop())  {
                 if( (*it)->isShown( true ) && (*it)->isOnActivity( old_activity ))
                     obs_wins.create( *it );
@@ -1639,7 +1639,7 @@
             for( int i = focus_chain[currentDesktop()].size() - 1; i >= 0; --i )
                 {
                 if( focus_chain[currentDesktop()].at( i )->isShown( false ) &&
-                    focus_chain[currentDesktop()].at( i )->isOnCurrentDesktop() )
+                    focus_chain[currentDesktop()].at( i )->isOnCurrentActivity() )
                     {
                     c = focus_chain[currentDesktop()].at( i );
                     break;
@@ -1650,7 +1650,7 @@
     // If "unreasonable focus policy" and active_client is on_all_desktops and
     // under mouse (Hence == old_active_client), conserve focus.
     // (Thanks to Volker Schatz <V.Schatz at thphys.uni-heidelberg.de>)
-    else if( active_client && active_client->isShown( true ) && \
active_client->isOnCurrentDesktop() ) +    else if( active_client && \
active_client->isShown( true ) && active_client->isOnCurrentDesktop() && \
active_client->isOnCurrentActivity() )  c = active_client;
 
     if( c == NULL && !desktops.isEmpty() )
@@ -2933,7 +2933,7 @@
         for( ClientList::ConstIterator it = cls.constBegin();
             it != cls.constEnd();
             ++it )
-            if( (*it)->isOnCurrentDesktop() && (*it)->isShown( true ) && \
!(*it)->isSpecialWindow() ) +            if( (*it)->isOnCurrentActivity() && \
                (*it)->isOnCurrentDesktop() && (*it)->isShown( true ) && \
                !(*it)->isSpecialWindow() )
                 showing_desktop_clients.prepend( *it ); // Topmost first to reduce \
                flicker
         for( ClientList::ConstIterator it = showing_desktop_clients.constBegin();
             it != showing_desktop_clients.constEnd();


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

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