re-enabled the nice feature that Alt-Tab and Ctrl-Tab won't do anything
if there are popup windows open (that is, if we cannot obtain a mouse pointer grab). Avoids "hanging" Window or Desktop boxes. This broke when the (otherwise very nice) transition to KGlobalAccel was introduced. svn path=/trunk/kdebase/kwin/; revision=89105icc-effect-5.14.5
parent
e2beba0abe
commit
9547820ecc
|
@ -1007,6 +1007,7 @@ bool Client::configureRequest( XConfigureRequestEvent& e )
|
|||
if ( isShade() )
|
||||
setShade( FALSE );
|
||||
|
||||
qDebug("configureRequest %s: %d %d %d %d", caption().latin1(), e.x, e.y, e.width, e.height );
|
||||
/*
|
||||
// compress configure requests
|
||||
XEvent otherEvent;
|
||||
|
|
4
main.cpp
4
main.cpp
|
@ -221,8 +221,8 @@ int kdemain( int argc, char * argv[] )
|
|||
// manager, since the session manager will register multiple kwins,
|
||||
// one for each screen...
|
||||
QCString multiHead = getenv("KDE_MULTIHEAD");
|
||||
if (multiHead.lower() == "true")
|
||||
{
|
||||
if (multiHead.lower() == "true") {
|
||||
|
||||
Display* dpy = XOpenDisplay( NULL );
|
||||
if ( !dpy ) {
|
||||
fprintf(stderr, "%s: FATAL ERROR while trying to open display %s\n",
|
||||
|
|
|
@ -697,7 +697,7 @@ void Workspace::slotWalkThroughWindows()
|
|||
CDEWalkThroughWindows( true );
|
||||
else {
|
||||
if(( keyToXMod( walkThroughWindowsKeycode ) & XMODMASK ) != 0 ) {
|
||||
startKDEWalkThroughWindows();
|
||||
if ( startKDEWalkThroughWindows() )
|
||||
KDEWalkThroughWindows( true );
|
||||
}
|
||||
else
|
||||
|
@ -718,18 +718,18 @@ void Workspace::slotWalkBackThroughWindows()
|
|||
return;
|
||||
if( tab_grab || control_grab )
|
||||
return;
|
||||
if ( options->altTabStyle == Options::CDE || !options->focusPolicyIsReasonable() )
|
||||
if ( options->altTabStyle == Options::CDE || !options->focusPolicyIsReasonable() ) {
|
||||
// CDE style raise / lower
|
||||
CDEWalkThroughWindows( true );
|
||||
else {
|
||||
} else {
|
||||
if (( keyToXMod( walkBackThroughWindowsKeycode ) & XMODMASK ) != 0 ) {
|
||||
startKDEWalkThroughWindows();
|
||||
if ( startKDEWalkThroughWindows() )
|
||||
KDEWalkThroughWindows( false );
|
||||
}
|
||||
else
|
||||
} else {
|
||||
KDEOneStepThroughWindows( false );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Workspace::slotWalkThroughDesktops()
|
||||
{
|
||||
|
@ -738,12 +738,12 @@ void Workspace::slotWalkThroughDesktops()
|
|||
if( tab_grab || control_grab )
|
||||
return;
|
||||
if (( keyToXMod( walkThroughDesktopsKeycode ) & XMODMASK ) != 0 ) {
|
||||
startWalkThroughDesktops();
|
||||
if ( startWalkThroughDesktops() )
|
||||
walkThroughDesktops( true );
|
||||
}
|
||||
else
|
||||
} else {
|
||||
oneStepThroughDesktops( true );
|
||||
}
|
||||
}
|
||||
|
||||
void Workspace::slotWalkBackThroughDesktops()
|
||||
{
|
||||
|
@ -752,14 +752,14 @@ void Workspace::slotWalkBackThroughDesktops()
|
|||
if( tab_grab || control_grab )
|
||||
return;
|
||||
if (( keyToXMod( walkBackThroughDesktopsKeycode ) & XMODMASK ) != 0 ) {
|
||||
startWalkThroughDesktops();
|
||||
if ( startWalkThroughDesktops() )
|
||||
walkThroughDesktops( false );
|
||||
}
|
||||
else
|
||||
} else {
|
||||
oneStepThroughDesktops( false );
|
||||
}
|
||||
}
|
||||
|
||||
void Workspace::startKDEWalkThroughWindows()
|
||||
bool Workspace::startKDEWalkThroughWindows()
|
||||
{
|
||||
if ( XGrabPointer( qt_xdisplay(), root, TRUE,
|
||||
(uint)(ButtonPressMask | ButtonReleaseMask |
|
||||
|
@ -768,7 +768,7 @@ void Workspace::startKDEWalkThroughWindows()
|
|||
GrabModeSync, GrabModeAsync,
|
||||
None, None, kwin_time ) != GrabSuccess ) {
|
||||
freeKeyboard(FALSE);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
XGrabKeyboard(qt_xdisplay(),
|
||||
root, FALSE,
|
||||
|
@ -778,9 +778,10 @@ void Workspace::startKDEWalkThroughWindows()
|
|||
keys->setEnabled( FALSE );
|
||||
tab_box->setMode( TabBox::WindowsMode );
|
||||
tab_box->reset();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void Workspace::startWalkThroughDesktops()
|
||||
bool Workspace::startWalkThroughDesktops()
|
||||
{
|
||||
if ( XGrabPointer( qt_xdisplay(), root, TRUE,
|
||||
(uint)(ButtonPressMask | ButtonReleaseMask |
|
||||
|
@ -789,7 +790,7 @@ void Workspace::startWalkThroughDesktops()
|
|||
GrabModeSync, GrabModeAsync,
|
||||
None, None, kwin_time ) != GrabSuccess ) {
|
||||
freeKeyboard(FALSE);
|
||||
return;
|
||||
return FALSE;
|
||||
}
|
||||
XGrabKeyboard(qt_xdisplay(),
|
||||
root, FALSE,
|
||||
|
@ -799,6 +800,7 @@ void Workspace::startWalkThroughDesktops()
|
|||
keys->setEnabled( FALSE );
|
||||
tab_box->setMode( TabBox::DesktopMode );
|
||||
tab_box->reset();
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void Workspace::KDEWalkThroughWindows( bool forward )
|
||||
|
|
|
@ -265,8 +265,8 @@ private:
|
|||
void createKeybindings();
|
||||
void freeKeyboard(bool pass);
|
||||
|
||||
void startKDEWalkThroughWindows();
|
||||
void startWalkThroughDesktops();
|
||||
bool startKDEWalkThroughWindows();
|
||||
bool startWalkThroughDesktops();
|
||||
void KDEWalkThroughWindows( bool forward );
|
||||
void CDEWalkThroughWindows( bool forward );
|
||||
void walkThroughDesktops( bool forward );
|
||||
|
|
Loading…
Reference in New Issue