Don't show windows that have modals in the Alt+Tab dialog, show the modals instead.

svn path=/trunk/kdebase/kwin/; revision=258584
This commit is contained in:
Luboš Luňák 2003-10-13 16:22:58 +00:00
parent 8b5159bb1a
commit f91bd865af

View file

@ -96,9 +96,20 @@ void TabBox::reset()
&& (!c->isMinimized() || !c->isTransient() || c->isUtility()) ) && (!c->isMinimized() || !c->isTransient() || c->isUtility()) )
{ {
if ( client == c ) if ( client == c )
{
clients.remove( c );
clients.prepend( c ); clients.prepend( c );
}
else else
clients += c; { // don't add windows that have modal dialogs
Client* modal = c->findModal();
if( modal == NULL || modal == c )
clients += c;
else if( !clients.contains( modal ))
clients += modal;
else
; // nothing
}
cw = fm.width( c->caption() ) + 40; cw = fm.width( c->caption() ) + 40;
if ( cw > wmax ) if ( cw > wmax )
wmax = cw; wmax = cw;
@ -151,16 +162,7 @@ void TabBox::nextPrev( bool next)
client = 0; client = 0;
break; break;
} }
} while (client && } while ( client && !clients.contains( client ));
(( !options_traverse_all &&
!client->isOnDesktop(workspace()->currentDesktop()) ) ||
( client->isMinimized() && client->isTransient() && !client->isUtility()))
);
if (!options_traverse_all && client
&& !client->isOnDesktop(workspace()->currentDesktop()))
client = 0;
} }
else if( mode() == DesktopMode ) else if( mode() == DesktopMode )
{ {