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:
parent
8b5159bb1a
commit
f91bd865af
1 changed files with 13 additions and 11 deletions
24
tabbox.cpp
24
tabbox.cpp
|
@ -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 )
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue