small fix for mac menu when using focus follows mouse (even though this
combination does not make sense at all) svn path=/trunk/kdebase/kwin/; revision=68919
This commit is contained in:
parent
1b3e517fa8
commit
2d59aac1c8
2 changed files with 5 additions and 3 deletions
|
@ -77,7 +77,7 @@ public:
|
||||||
m_client->maximize( Client::MaximizeRestore );
|
m_client->maximize( Client::MaximizeRestore );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( state & NET::StaysOnTop ) {
|
if ( ( mask & NET::StaysOnTop) != 0 && (state & NET::StaysOnTop) != 0 ) {
|
||||||
m_client->setStaysOnTop( state & NET::StaysOnTop );
|
m_client->setStaysOnTop( state & NET::StaysOnTop );
|
||||||
m_client->workspace()->raiseClient( m_client );
|
m_client->workspace()->raiseClient( m_client );
|
||||||
}
|
}
|
||||||
|
@ -1049,6 +1049,8 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
|
||||||
switch (stack_mode){
|
switch (stack_mode){
|
||||||
case Above:
|
case Above:
|
||||||
case TopIf:
|
case TopIf:
|
||||||
|
if ( isMenu() && mainClient() != this )
|
||||||
|
break; // in this case, we already do the raise
|
||||||
workspace()->raiseClient( this );
|
workspace()->raiseClient( this );
|
||||||
break;
|
break;
|
||||||
case Below:
|
case Below:
|
||||||
|
|
|
@ -955,7 +955,7 @@ void Workspace::setActiveClient( Client* c )
|
||||||
|
|
||||||
if ( menubar ) {
|
if ( menubar ) {
|
||||||
menubar->show();
|
menubar->show();
|
||||||
raiseClient( menubar );
|
menubar->raise(); // better for FocusFollowsMouse than raiseClient(menubar)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ... then hide the other ones. Avoids flickers.
|
// ... then hide the other ones. Avoids flickers.
|
||||||
|
@ -1002,7 +1002,7 @@ void Workspace::iconifyOrDeiconifyTransientsOf( Client* c )
|
||||||
for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
|
for ( ClientList::ConstIterator it = clients.begin(); it != clients.end(); ++it) {
|
||||||
if ( (*it)->transientFor() == c->window()
|
if ( (*it)->transientFor() == c->window()
|
||||||
&& !(*it)->isIconified()
|
&& !(*it)->isIconified()
|
||||||
&& !(*it)->isShade()
|
&& !(*it)->isShade()
|
||||||
&& ( !exclude_menu || !(*it)->isMenu() ) ) {
|
&& ( !exclude_menu || !(*it)->isMenu() ) ) {
|
||||||
(*it)->setMappingState( XIconicState );
|
(*it)->setMappingState( XIconicState );
|
||||||
(*it)->hide();
|
(*it)->hide();
|
||||||
|
|
Loading…
Reference in a new issue