summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-misc/xkbd/files/xkbd-0.8.16-fix-geometry.patch')
-rw-r--r--x11-misc/xkbd/files/xkbd-0.8.16-fix-geometry.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/x11-misc/xkbd/files/xkbd-0.8.16-fix-geometry.patch b/x11-misc/xkbd/files/xkbd-0.8.16-fix-geometry.patch
new file mode 100644
index 000000000000..d90824085ea4
--- /dev/null
+++ b/x11-misc/xkbd/files/xkbd-0.8.16-fix-geometry.patch
@@ -0,0 +1,36 @@
+--- xkbd-0.8.16/src/xkbd.c
++++ xkbd-0.8.16/src/xkbd.c
+@@ -307,21 +307,22 @@
+ 0, BlackPixel(display, screen_num),
+ WhitePixel(display, screen_num));
+
++ wret = DisplayWidth(display, screen_num);
++ hret = DisplayHeight(display, screen_num)/4;
++ xret = 0;
++ yret = DisplayHeight(display, screen_num) - hret;
++
+ // deactivate geometry for 0.8.16 release - mb
+ geometry = NULL;
+ if (geometry != NULL)
+ {
+- XParseGeometry(geometry, &xret, &yret, &wret, &hret );
+- }
+- else
+- {
+- if (wm_type != WM_MATCHBOX)
+- {
+- wret = DisplayWidth(display, screen_num);
+- hret = DisplayHeight(display, screen_num)/4;
+- xret = 0;
+- yret = DisplayHeight(display, screen_num) - hret;
+- }
++ int flags;
++
++ flags = XParseGeometry(geometry, &xret, &yret, &wret, &hret );
++ if( flags & XNegative )
++ xret += DisplayWidth( display, screen_num ) - wret;
++ if( flags & YNegative )
++ yret += DisplayHeight( display, screen_num ) - hret;
+ }
+
+ /* check for user selected keyboard conf file */