From 81ccbdc743c160aab6e10f768717fd1b8a02af06 Mon Sep 17 00:00:00 2001 From: dan Date: Wed, 11 Apr 2001 00:14:41 +0000 Subject: [PATCH] - Fixed problem with GNOME apps that have windows which need to stay on the desktop level. - Fixed incorrect parsing of display and screen number from $DISPLAY. --- ChangeLog | 3 +++ src/main.c | 2 +- src/window.c | 7 +++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index fa0bee8f..85fadd96 100644 --- a/ChangeLog +++ b/ChangeLog @@ -16,6 +16,9 @@ Changes since version 0.64.0: - fixed a memleak in the dialog panels. - made "Keep on Top" in the dock/clip menu a checked menu entry. It's _much_ easier to work with it this way. +- Fixed problem with GNOME apps that have windows which need to stay on the + desktop level. +- Fixed incorrect parsing of display and screen number from $DISPLAY. Changes since version 0.63.1: diff --git a/src/main.c b/src/main.c index f2861609..269ae4b0 100644 --- a/src/main.c +++ b/src/main.c @@ -731,7 +731,7 @@ main(int argc, char **argv) else str = NULL; - if (str && sscanf(str, "%i.%i", &d, &s)==2) + if (str && sscanf(str, ":%i.%i", &d, &s)==2) multiHead = False; DisplayName = XDisplayName(DisplayName); diff --git a/src/window.c b/src/window.c index 593b6943..258c69ce 100644 --- a/src/window.c +++ b/src/window.c @@ -408,7 +408,7 @@ wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace) } } else { int tmp_workspace = -1; - int tmp_level = -1; + int tmp_level = INT_MIN; /* INT_MIN is never used by the window levels */ Bool check; check = False; @@ -430,7 +430,10 @@ wWindowSetupInitialAttributes(WWindow *wwin, int *level, int *workspace) wOLWMCheckClientHints(wwin); #endif /* OLWM_HINTS */ - if (tmp_level < 0) { + /* window levels are between INT_MIN+1 and INT_MAX, so if we still + * have INT_MIN that means that no window level was requested. --Dan + */ + if (tmp_level == INT_MIN) { if (WFLAGP(wwin, floating)) *level = WMFloatingLevel; else if (WFLAGP(wwin, sunken)) -- 2.11.4.GIT