Browse Source

Attempt to minimize the time in which new notifications are displayed before being hidden

(cherry picked from commit 1f33dc8fd2)
v3.5.13-sru v3.5.13.1
Timothy Pearson 10 years ago committed by Slávek Banko
parent
commit
d13723b49a
  1. 1
      kdesktop/lock/lockprocess.cc
  2. 18
      kdesktop/lock/main.cc

1
kdesktop/lock/lockprocess.cc

@ -980,6 +980,7 @@ void LockProcess::createSaverWindow()
trinity_desktop_lock_hidden_window_list.append(children[i]);
}
XLowerWindow(x11Display(), children[i]);
XFlush(x11Display());
}
}
}

18
kdesktop/lock/main.cc

@ -90,6 +90,7 @@ bool MyApp::x11EventFilter( XEvent *ev )
trinity_desktop_lock_hidden_window_list.append(map_event.window);
}
XLowerWindow(map_event.display, map_event.window);
XFlush(map_event.display);
}
}
}
@ -106,10 +107,27 @@ bool MyApp::x11EventFilter( XEvent *ev )
trinity_desktop_lock_hidden_window_list.append(visibility_event.window);
}
XLowerWindow(visibility_event.display, visibility_event.window);
XFlush(visibility_event.display);
}
}
}
}
else if (ev->type == CreateNotify) {
// HACK
// Close all tooltips and notification windows
XCreateWindowEvent create_event = ev->xcreatewindow;
XWindowAttributes childAttr;
Window childTransient;
if (XGetWindowAttributes(create_event.display, create_event.window, &childAttr) && XGetTransientForHint(create_event.display, create_event.window, &childTransient)) {
if ((childAttr.override_redirect) && (childTransient)) {
if (!trinity_desktop_lock_hidden_window_list.contains(create_event.window)) {
trinity_desktop_lock_hidden_window_list.append(create_event.window);
}
XLowerWindow(create_event.display, create_event.window);
XFlush(create_event.display);
}
}
}
else if (ev->type == DestroyNotify) {
XDestroyWindowEvent destroy_event = ev->xdestroywindow;
if (trinity_desktop_lock_hidden_window_list.contains(destroy_event.window)) {

Loading…
Cancel
Save