add: x1--; x2--;  if (HAS_BORDER(wwin)) { x1 += FRAME_BORDER_WIDTH; x2 += FRAME_BORDER_WIDTH; y1 += FRAME_BORDER_WIDTH; y2 += FRAME_BORDER_WIDTH; }
context: showGeometry(WWindow *wwin, int x1, int y1, int x2, int y2, int direction){    WScreen *scr = wwin->screen_ptr;    Window root = scr->root_win;    GC gc = scr->line_gc, saveGC;    int ty, by, my, x, y, mx, s;    char num[16];    XSegment segment[4];    int fw, fh;    WMColor *color;    WMPixel pixel;    ty = y1 + wwin->frame->top_width;    by = y2 - wwin->frame->bottom_width;    if (wPreferences.size_display == WDIS_NEW) {        fw = WMWidthOfString(scr->tech_draw_font, "8888", 4);        fh = WMFontHeight(scr->tech_draw_font);        XSetForeground(dpy, gc, scr->line_pixel);        /* vertical geometry */        if (((direction & LEFT) && (x2 < scr->scr_width - fw)) || (x1 < fw)) {            x = x2;            s = -15;        } else {            x = x1;            s = 15;        }        my = (ty + by) / 2;        /* top arrow */        /* end bar */        segment[0].x1 = x - (s + 6);  segment[0].y1 = ty;        segment[0].x2 = x - (s - 10); segment[0].y2 = ty;        /* arrowhead */        segment[1].x1 = x - (s - 2); segment[1].y1 = ty + 1;        segment[1].x2 = x - (s - 5); segment[1].y2 = ty + 7;        segment[2].x1 = x - (s - 2); segment[2].y1 = ty + 1;        segment[2].x2 = x - (s + 1); segment[2].y2 = ty + 7;        /* line */        segment[3].x1 = x - (s - 2); segment[3].y1 = ty + 1;        segment[3].x2 = x - (s - 2); segment[3].y2 = my - fh/2 - 1;        XDrawSegments(dpy, root, gc, segment, 4);        /* bottom arrow */        /* end bar */        segment[0].y1 = by;        segment[0].y2 = by;        /* arrowhead */        segment[1].y1 = by - 1;        segment[1].y2 = by - 7;        segment[2].y1 = by - 1;        segment[2].y2 = by - 7;        /* line */        segment[3].y1 = my + fh/2 + 2;        segment[3].y2 = by - 1;        XDrawSegments(dpy, root, gc, segment, 4);        snprintf(num, sizeof(num), "%i", (by - ty - wwin->normal_hints->base_height) /                 wwin->normal_hints->height_inc);        fw = WMWidthOfString(scr->tech_draw_font, num, strlen(num));        /* XSetForeground(dpy, gc, WMColorPixel(scr->window_title_color[WS_UNFOCUSED])); */        color = WMBlackColor(scr->wmscreen);        saveGC = scr->wmscreen->drawStringGC;        pixel = color->color.pixel;        /* Display the height. */        /* // ugly hack */        color->color.pixel = scr->line_pixel;        scr->wmscreen->drawStringGC = gc;        WMDrawString(scr->wmscreen, root, color, scr->tech_draw_font,                     x - s + 3 - fw/2, my - fh/2 + 1, num, strlen(num));        scr->wmscreen->drawStringGC = saveGC;        color->color.pixel = pixel;        XSetForeground(dpy, gc, scr->line_pixel);        /* horizontal geometry */        if (y1 < 15) {            y = y2;            s = -15;        } else {            y = y1;            s = 15;        }        mx = x1 + (x2 - x1)/2;        snprintf(num, sizeof(num), "%i", (x2 - x1 - wwin->normal_hints->base_width) /                 wwin->normal_hints->width_inc);        fw = WMWidthOfString(scr->tech_draw_font, num, strlen(num));        /* left arrow */        /* end bar */        segment[0].x1 = x1; segment[0].y1 = y - (s + 6);        segment[0].x2 = x1; segment[0].y2 = y - (s - 10);        /* arrowhead */        segment[1].x1 = x1 + 7; segment[1].y1 = y - (s + 1);        segment[1].x2 = x1 + 1; segment[1].y2 = y - (s - 2);        segment[2].x1 = x1 + 1; segment[2].y1 = y - (s - 2);        segment[2].x2 = x1 + 7; segment[2].y2 = y - (s - 5);        /* line */        segment[3].x1 = x1 + 1; segment[3].y1 = y - (s - 2);        segment[3].x2 = mx - fw/2 - 2; segment[3].y2 = y - (s - 2);        XDrawSegments(dpy, root, gc, segment, 4);        /* right arrow */        /* end bar */        segment[0].x1 = x2 + 1;        segment[0].x2 = x2 + 1;        /* arrowhead */        segment[1].x1 = x2 - 6;        segment[1].x2 = x2;        segment[2].x1 = x2;        segment[2].x2 = x2 - 6;        /* line */        segment[3].x1 = mx + fw/2 + 2;        segment[3].x2 = x2;        XDrawSegments(dpy, root, gc, segment, 4);        /* XSetForeground(dpy, gc, WMColorPixel(scr->window_title_color[WS_UNFOCUSED])); */        /* Display the width. */        /* // ugly hack */        color->color.pixel = scr->line_pixel;        scr->wmscreen->drawStringGC = gc;        WMDrawString(scr->wmscreen, root, color, scr->tech_draw_font,                     mx - fw/2 + 1, y - s - fh/2 + 1, num, strlen(num));        scr->wmscreen->drawStringGC = saveGC;        color->color.pixel = pixel;        WMReleaseColor(color);    } else {        WSetGeometryViewShownSize(scr->gview,                                  (x2 - x1 - wwin->normal_hints->base_width)                                  / wwin->normal_hints->width_inc,                                  (by - ty - wwin->normal_hints->base_height)                                  / wwin->normal_hints->height_inc);    }}