| --- 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 */ |