[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