use ignore enters instead of removing them from the queue
This commit is contained in:
parent
d6e49acf0f
commit
037654f3f8
2 changed files with 4 additions and 9 deletions
|
@ -512,11 +512,9 @@ void client_unmanage(ObClient *self)
|
||||||
XSync(ob_display, FALSE);
|
XSync(ob_display, FALSE);
|
||||||
|
|
||||||
if (focus_client == self) {
|
if (focus_client == self) {
|
||||||
XEvent e;
|
/* ignore enter events from the unmap so it doesnt mess with the focus
|
||||||
|
*/
|
||||||
/* focus the last focused window on the desktop, and ignore enter
|
event_ignore_queued_enters();
|
||||||
events from the unmap so it doesnt mess with the focus */
|
|
||||||
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -213,14 +213,11 @@ void popup_show(ObPopup *self, gchar *text)
|
||||||
void popup_hide(ObPopup *self)
|
void popup_hide(ObPopup *self)
|
||||||
{
|
{
|
||||||
if (self->mapped) {
|
if (self->mapped) {
|
||||||
XEvent e;
|
|
||||||
|
|
||||||
XUnmapWindow(ob_display, self->bg);
|
XUnmapWindow(ob_display, self->bg);
|
||||||
self->mapped = FALSE;
|
self->mapped = FALSE;
|
||||||
|
|
||||||
/* kill enter events cause by this unmapping */
|
/* kill enter events cause by this unmapping */
|
||||||
XSync(ob_display, FALSE);
|
event_ignore_queued_enters();
|
||||||
while (XCheckTypedEvent(ob_display, EnterNotify, &e));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue