diff options
Diffstat (limited to 'redhat/kdebase/kdebase-bp128-1f33dc8f.diff')
-rw-r--r-- | redhat/kdebase/kdebase-bp128-1f33dc8f.diff | 58 |
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)) { |