summaryrefslogtreecommitdiffstats
path: root/redhat/tdebase/kdebase-bp127-57f5c069.diff
diff options
context:
space:
mode:
Diffstat (limited to 'redhat/tdebase/kdebase-bp127-57f5c069.diff')
-rw-r--r--redhat/tdebase/kdebase-bp127-57f5c069.diff159
1 files changed, 0 insertions, 159 deletions
diff --git a/redhat/tdebase/kdebase-bp127-57f5c069.diff b/redhat/tdebase/kdebase-bp127-57f5c069.diff
deleted file mode 100644
index da6a95d22..000000000
--- a/redhat/tdebase/kdebase-bp127-57f5c069.diff
+++ /dev/null
@@ -1,159 +0,0 @@
-commit 57f5c0698d49f0a0a7a55c75404f5b9ded910002
-Author: Timothy Pearson <kb9vqf@pearsoncomputing.net>
-Date: 1348355175 -0500
-
- Lower override redirect windows instead of unmapping them on lock start
- Restore lowered windows on lock exit
- This provides a better solution to Bug 1079
-
-diff --git a/kdesktop/lock/lockprocess.cc b/kdesktop/lock/lockprocess.cc
-index 5265bc6..7191346 100644
---- a/kdesktop/lock/lockprocess.cc
-+++ b/kdesktop/lock/lockprocess.cc
-@@ -138,6 +138,8 @@ extern bool trinity_desktop_lock_delay_screensaver_start;
- extern bool trinity_desktop_lock_use_sak;
- extern bool trinity_desktop_lock_forced;
-
-+extern TQXLibWindowList trinity_desktop_lock_hidden_window_list;
-+
- bool trinity_desktop_lock_autohide_lockdlg = TRUE;
- bool trinity_desktop_lock_closing_windows = FALSE;
- bool trinity_desktop_lock_in_sec_dlg = FALSE;
-@@ -961,7 +963,7 @@ void LockProcess::createSaverWindow()
- setGeometry(0, 0, mRootWidth, mRootHeight);
-
- // HACK
-- // Close all tooltips and notification windows
-+ // Hide all tooltips and notification windows
- {
- Window rootWindow = RootWindow(x11Display(), x11Screen());
- Window parent;
-@@ -974,7 +976,10 @@ void LockProcess::createSaverWindow()
- for (unsigned int i=0; i<noOfChildren; i++) {
- if (XGetWindowAttributes(x11Display(), children[i], &childAttr) && XGetTransientForHint(x11Display(), children[i], &childTransient)) {
- if ((childAttr.map_state == IsViewable) && (childAttr.override_redirect) && (childTransient)) {
-- XUnmapWindow(x11Display(), children[i]);
-+ if (!trinity_desktop_lock_hidden_window_list.contains(children[i])) {
-+ trinity_desktop_lock_hidden_window_list.append(children[i]);
-+ }
-+ XLowerWindow(x11Display(), children[i]);
- }
- }
- }
-diff --git a/kdesktop/lock/lockprocess.h b/kdesktop/lock/lockprocess.h
-index 0dacc46..7fd4236 100644
---- a/kdesktop/lock/lockprocess.h
-+++ b/kdesktop/lock/lockprocess.h
-@@ -38,6 +38,8 @@ struct GreeterPluginHandle {
- #define FIFO_FILE_OUT "/tmp/ksocket-global/kdesktoplockcontrol_out"
- #define PIPE_CHECK_INTERVAL 50
-
-+typedef TQValueList<Window> TQXLibWindowList;
-+
- //===========================================================================
- //
- // Screen saver handling process. Handles screensaver window,
-diff --git a/kdesktop/lock/main.cc b/kdesktop/lock/main.cc
-index e74d9f9..a95747e 100644
---- a/kdesktop/lock/main.cc
-+++ b/kdesktop/lock/main.cc
-@@ -47,6 +47,8 @@ else { \
- } \
- tdmconfig->setGroup("X-*-Greeter");
-
-+TQXLibWindowList trinity_desktop_lock_hidden_window_list;
-+
- // [FIXME] Add GUI configuration checkboxes for these three settings (see kdesktoprc [ScreenSaver] UseUnmanagedLockWindows, DelaySaverStart, and UseTDESAK)
- bool trinity_desktop_lock_use_system_modal_dialogs = FALSE;
- bool trinity_desktop_lock_delay_screensaver_start = FALSE;
-@@ -78,16 +80,43 @@ bool MyApp::x11EventFilter( XEvent *ev )
- }
- else if (ev->type == MapNotify) {
- // HACK
-- // Close all tooltips and notification windows
-+ // Hide all tooltips and notification windows
- XMapEvent map_event = ev->xmap;
- XWindowAttributes childAttr;
- Window childTransient;
- if (XGetWindowAttributes(map_event.display, map_event.window, &childAttr) && XGetTransientForHint(map_event.display, map_event.window, &childTransient)) {
- if((childAttr.map_state == IsViewable) && (childAttr.override_redirect) && (childTransient)) {
-- XUnmapWindow(map_event.display, map_event.window);
-+ if (!trinity_desktop_lock_hidden_window_list.contains(map_event.window)) {
-+ trinity_desktop_lock_hidden_window_list.append(map_event.window);
-+ }
-+ XLowerWindow(map_event.display, map_event.window);
- }
- }
- }
-+ else if (ev->type == VisibilityNotify) {
-+ // HACK
-+ // Hide all tooltips and notification windows
-+ XVisibilityEvent visibility_event = ev->xvisibility;
-+ XWindowAttributes childAttr;
-+ Window childTransient;
-+ if ((visibility_event.state == VisibilityUnobscured) || (visibility_event.state == VisibilityPartiallyObscured)) {
-+ if (XGetWindowAttributes(visibility_event.display, visibility_event.window, &childAttr) && XGetTransientForHint(visibility_event.display, visibility_event.window, &childTransient)) {
-+ if((childAttr.map_state == IsViewable) && (childAttr.override_redirect) && (childTransient)) {
-+ if (!trinity_desktop_lock_hidden_window_list.contains(visibility_event.window)) {
-+ trinity_desktop_lock_hidden_window_list.append(visibility_event.window);
-+ }
-+ XLowerWindow(visibility_event.display, visibility_event.window);
-+ }
-+ }
-+ }
-+ }
-+ else if (ev->type == DestroyNotify) {
-+ XDestroyWindowEvent destroy_event = ev->xdestroywindow;
-+ if (trinity_desktop_lock_hidden_window_list.contains(destroy_event.window)) {
-+ trinity_desktop_lock_hidden_window_list.remove(destroy_event.window);
-+ }
-+ }
-+#if 0
- else if (ev->type == CreateNotify) {
- // HACK
- // Close all tooltips and notification windows
-@@ -100,6 +129,7 @@ bool MyApp::x11EventFilter( XEvent *ev )
- }
- }
- }
-+#endif
- return KApplication::x11EventFilter( ev );
- }
-
-@@ -114,6 +144,14 @@ static KCmdLineOptions options[] =
- KCmdLineLastOption
- };
-
-+void restore_hidden_override_redirect_windows() {
-+ TQXLibWindowList::iterator it;
-+ for (it = trinity_desktop_lock_hidden_window_list.begin(); it != trinity_desktop_lock_hidden_window_list.end(); ++it) {
-+ Window win = *it;
-+ XRaiseWindow(qt_xdisplay(), win);
-+ }
-+}
-+
- static void sigusr1_handler(int)
- {
- signalled_forcelock = TRUE;
-@@ -356,7 +394,10 @@ int main( int argc, char **argv )
- }
-
- if (in_internal_mode == FALSE) {
-- return app.exec();
-+ trinity_desktop_lock_hidden_window_list.clear();
-+ int ret = app.exec();
-+ restore_hidden_override_redirect_windows();
-+ return ret;
- }
- else {
- pid_t kdesktop_pid = atoi(args->getOption( "internal" ));
-@@ -364,7 +405,9 @@ int main( int argc, char **argv )
- // The controlling kdesktop process probably died. Commit suicide...
- return 12;
- }
-+ trinity_desktop_lock_hidden_window_list.clear();
- app.exec();
-+ restore_hidden_override_redirect_windows();
- if (kill(kdesktop_pid, SIGUSR1) < 0) {
- // The controlling kdesktop process probably died. Commit suicide...
- return 12;