Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
compiz
bug-475349-moveInputFocusToOtherWindow.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File bug-475349-moveInputFocusToOtherWindow.diff of Package compiz
diff --git a/src/display.c b/src/display.c index 72515b6..1e3593b 100644 --- a/src/display.c +++ b/src/display.c @@ -2634,7 +2634,7 @@ manageDisplay (CompDisplay *d) /* move input focus to root window so that we get a FocusIn event when moving it to the default window */ - XSetInputFocus (dpy, d->screens->root.id, RevertToPointerRoot, + XSetInputFocus (dpy, d->screens->root.id, RevertToNone, CurrentTime); if (focus == None || focus == PointerRoot) diff --git a/src/event.c b/src/event.c index f9edcfc..35ee54e 100644 --- a/src/event.c +++ b/src/event.c @@ -149,9 +149,8 @@ moveInputFocusToOtherWindow (CompWindow *w) CompWindowTypeDockMask))) { moveInputFocusToWindow (ancestor); + return; } - else - focusDefaultWindow (w->screen); } else if (w->type & (CompWindowTypeDialogMask | CompWindowTypeModalDialogMask)) @@ -184,12 +183,16 @@ moveInputFocusToOtherWindow (CompWindow *w) CompWindowTypeDockMask))) { moveInputFocusToWindow (focus); + return; } - else - focusDefaultWindow (w->screen); } - else + + if (!w->attrib.override_redirect) + { + w->attrib.override_redirect = TRUE; focusDefaultWindow (w->screen); + w->attrib.override_redirect = FALSE; + } } } @@ -2262,10 +2265,6 @@ handleEvent (CompDisplay *d, if (w->parent == &w->screen->root) d->activeWindow = w->id; - w->activeNum = w->screen->activeNum++; - - addToCurrentActiveWindowHistory (w->screen, w->id); - XChangeProperty (d->display, w->screen->root.id, d->winActiveAtom, XA_WINDOW, 32, PropModeReplace, diff --git a/src/screen.c b/src/screen.c index 12ac091..1669059 100644 --- a/src/screen.c +++ b/src/screen.c @@ -2670,7 +2670,7 @@ focusDefaultWindow (CompScreen *s) } else { - XSetInputFocus (d->display, s->root.id, RevertToPointerRoot, + XSetInputFocus (d->display, s->root.id, RevertToNone, CurrentTime); } } diff --git a/src/window.c b/src/window.c index 4ef55d9..37d9cb5 100644 --- a/src/window.c +++ b/src/window.c @@ -3215,7 +3215,7 @@ moveInputFocusToWindow (CompWindow *w) if (w->state & CompWindowStateHiddenMask) { - XSetInputFocus (d->display, w->frame, RevertToPointerRoot, + XSetInputFocus (d->display, w->frame, RevertToNone, CurrentTime); XChangeProperty (d->display, w->parent->id, d->winActiveAtom, XA_WINDOW, 32, PropModeReplace, @@ -3227,7 +3227,7 @@ moveInputFocusToWindow (CompWindow *w) if (w->inputHint) { - XSetInputFocus (d->display, w->id, RevertToPointerRoot, + XSetInputFocus (d->display, w->id, RevertToNone, CurrentTime); setFocus = TRUE; } @@ -3268,6 +3268,11 @@ moveInputFocusToWindow (CompWindow *w) } } } + else + { + w->activeNum = w->screen->activeNum++; + addToCurrentActiveWindowHistory (w->screen, w->id); + } } }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor