[Pkg-wmaker-commits] [wmbiff] 29/38: try doing geometry the way X intends it to be done, at least as far as I can tell.

Doug Torrance dtorrance-guest at moszumanska.debian.org
Thu Aug 20 03:03:41 UTC 2015


This is an automated email from the git hooks/post-receive script.

dtorrance-guest pushed a commit to tag wmbiff_0_4_16
in repository wmbiff.

commit be262764a1962816c5bd765f753461573fc1bf39
Author: bluehal <bluehal>
Date:   Thu Jul 3 05:12:00 2003 +0000

    try doing geometry the way X intends it to be done, at least as far as I can tell.
---
 wmgeneral/wmgeneral.c | 44 ++++++++++++++++++++++++++++++++------------
 1 file changed, 32 insertions(+), 12 deletions(-)

diff --git a/wmgeneral/wmgeneral.c b/wmgeneral/wmgeneral.c
index d881707..fc58899 100644
--- a/wmgeneral/wmgeneral.c
+++ b/wmgeneral/wmgeneral.c
@@ -464,6 +464,7 @@ void openXwindow(int argc, const char *argv[],
 	unsigned long gcm;
 
 	const char *geometry = NULL;
+	char default_geometry[128];
 
 	int dummy = 0;
 	int i;
@@ -479,6 +480,8 @@ void openXwindow(int argc, const char *argv[],
 		}
 	}
 
+	sprintf(default_geometry, "%dx%d+0+0", pixmask_width, pixmask_height);
+
 	if (!(display = XOpenDisplay(display_name))) {
 		fprintf(stderr, "%s: can't open display %s\n",
 				wname, XDisplayName(display_name));
@@ -501,9 +504,9 @@ void openXwindow(int argc, const char *argv[],
 	back_pix = GetColor("black");
 	fore_pix = GetColor("cyan");
 
-	XWMGeometry(display, screen, Geometry, NULL, borderwidth, &mysizehints,
-				&mysizehints.x, &mysizehints.y, &mysizehints.width,
-				&mysizehints.height, &dummy);
+	XWMGeometry(display, screen, geometry, default_geometry, borderwidth,
+				&mysizehints, &mysizehints.x, &mysizehints.y,
+				&mysizehints.width, &mysizehints.height, &dummy);
 
 	mysizehints.width = pixmask_width;	/* changed 11/2002 for wmbiff non 64x64-ness */
 	mysizehints.height = pixmask_height;	/* was statically 64. */
@@ -574,15 +577,32 @@ void openXwindow(int argc, const char *argv[],
 	XMapWindow(display, win);
 
 	if (geometry) {
+		/* we'll silently drop width and height as well as negative positions */
+		/* mostly because I don't know how to deal with them */
 		int wx, wy, x, y;
-		if (sscanf(geometry, "+%d+%d", &wx, &wy) == 2) {
-			XMoveWindow(display, win, wx, wy);
-		} else if (sscanf(geometry, "%dx%d+%d+%d", &x, &y, &wx, &wy) == 4) {
-			XMoveWindow(display, win, wx, wy);
-		} else {
-			fprintf(stderr, "Unsupported geometry string '%s'\n",
-					geometry);
-			exit(1);
-		}
+		int specified = XParseGeometry(geometry, &x, &y, &wx, &wy);
+		printf("%d %d %d %d\n", x, y, wx, wy);
+		/* if( specified & XNegative ) {
+		   x = DisplayWidth(display, DefaultScreen(display)) - x - pixmask_width;
+		   }
+		   if( specified & YNegative ) {
+		   y = DisplayHeight(display, DefaultScreen(display)) - y - pixmask_height;
+		   }
+		   if( specified & XValue || specified & YValue ) { 
+		   XMoveWindow(display, win, x, y);
+		   } */
+
+		/*
+		   if (sscanf(geometry, "+%d+%d", &wx, &wy) == 2) {
+		   XMoveWindow(display, win, wx, wy);
+		   } else if (sscanf(geometry, "%dx%d+%d+%d", &x, &y, &wx, &wy) == 4) {
+		   XMoveWindow(display, win, wx, wy);
+		   } else if (sscanf(geometry, "+%d-%d", &wx, &wy) == 2) {
+		   XMoveWindow(display, win, wx, 0 - wy);
+		   }  else {
+		   fprintf(stderr, "Unsupported geometry string '%s'\n",
+		   geometry);
+		   exit(1);
+		   } */
 	}
 }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-wmaker/wmbiff.git



More information about the Pkg-wmaker-commits mailing list