Updating branch refs/heads/master to 006f92a6d3308a9cde8decd3e47d75f3c5181f5e (commit) from 407a67dc68bcf3e10406f2d79bc7c1d649f098f5 (commit)
commit 006f92a6d3308a9cde8decd3e47d75f3c5181f5e Author: Olivier Fourdan <four...@xfce.org> Date: Tue Oct 18 09:07:08 2011 +0200 Increase timeout for other WM to exit with "--replace", add visual feedback while waiting. src/screen.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-) diff --git a/src/screen.c b/src/screen.c index 9851387..1642a5d 100644 --- a/src/screen.c +++ b/src/screen.c @@ -50,6 +50,10 @@ #include "compositor.h" #include "ui_style.h" +#ifndef WM_EXITING_TIMEOUT +#define WM_EXITING_TIMEOUT 15 /*seconds */ +#endif + gboolean myScreenCheckWMAtom (ScreenInfo *screen_info, Atom atom) { @@ -109,8 +113,9 @@ myScreenSetWMAtom (ScreenInfo *screen_info, gboolean replace_wm) /* Waiting for previous window manager to exit */ if (current_wm) { + g_print ("Waiting for current window manager on screen %d to exit", screen_info->screen); wait = 0; - timeout = 10 * G_USEC_PER_SEC; + timeout = WM_EXITING_TIMEOUT * G_USEC_PER_SEC; while (wait < timeout) { if (XCheckWindowEvent (display_info->dpy, current_wm, StructureNotifyMask, &event) && (event.type == DestroyNotify)) @@ -119,13 +124,19 @@ myScreenSetWMAtom (ScreenInfo *screen_info, gboolean replace_wm) } g_usleep(G_USEC_PER_SEC / 10); wait += G_USEC_PER_SEC / 10; + if (wait % G_USEC_PER_SEC == 0) + { + g_print ("."); + } } if (wait >= timeout) { + g_print(" Failed\n"); g_warning("Previous window manager on screen %d is not exiting", screen_info->screen); return FALSE; } + g_print(" Done\n"); } return TRUE; } _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits