summaryrefslogtreecommitdiffstats
path: root/redhat/kdebase/kdebase-bp128-1f33dc8f.diff
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/kdebase/kdebase-bp128-1f33dc8f.diff')
-rw-r--r--redhat/kdebase/kdebase-bp128-1f33dc8f.diff58
1 files changed, 58 insertions, 0 deletions
diff --git a/redhat/kdebase/kdebase-bp128-1f33dc8f.diff b/redhat/kdebase/kdebase-bp128-1f33dc8f.diff
new file mode 100644
index 000000000..e552a069b
--- /dev/null
+++ b/redhat/kdebase/kdebase-bp128-1f33dc8f.diff
@@ -0,0 +1,58 @@
+commit 1f33dc8fd2fc14c2abb74be4e27ef08fdda784d6
+Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
+Date: 1348374670 -0500
+
+ Attempt to minimize the time in which new notifications are displayed before being hidden
+
+diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
+index 7191346..db92c00 100644
+--- a/kdesktop/lock/lockprocess.cc
++++ b/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());
+ }
+ }
+ }
+diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
+index a95747e..7235776 100644
+--- a/kdesktop/lock/main.cc
++++ b/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)) {