[848] in testers
xterm scrollbars & internal borders
daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Tue May 22 23:27:14 1990
Date: Tue, 22 May 90 23:26:34 -0400
From: "Jonathan I. Kamens" <jik@pit-manager.MIT.EDU>
To: xbugs@expo.lcs.mit.edu
In-Reply-To: testers[0826]
Cc: testers@ATHENA.MIT.EDU
X Window System Bug Report
xbugs@expo.lcs.mit.edu
VERSION:
R4
CLIENT MACHINE and OPERATING SYSTEM:
NA
DISPLAY TYPE:
NA
WINDOW MANAGER:
NA
AREA:
xterm
SYNOPSIS:
Xterm doesn't take into account the one-pixel border width on the
scrollbar when figuring out how far right the xterm text has to be
moved when the scrollbar is activated.
DESCRIPTION:
The distance between the right border of the scrollbar and the
leftmost text in the window should be equal to the internal
borderwidth of the window, but it is actually one less than the
internal borderwidth. With an internal border width of 0, for
example, the leftmost pixels in the text window are obscured by
the border of the scrollbar.
REPEAT BY:
Create an xterm and activate the scrollbar. Notice the distance
from the scrollbar border to the xterm text.
SAMPLE FIX:
Patch provided below.
Jonathan Kamens USnail:
MIT Project Athena 11 Ashford Terrace
jik@Athena.MIT.EDU Allston, MA 02134
Office: 617-253-8495 Home: 617-782-0710
*** /tmp/,RCSt1001348 Tue May 22 23:25:59 1990
--- scrollbar.c Tue May 22 22:18:15 1990
***************
*** 174,182 ****
register XtermWidget xw;
{
int border = 2 * xw->screen.border;
! int sb = (xw->screen.scrollbar ? xw->screen.scrollWidget->core.width : 0);
!
! ResizeScreen (xw, border + sb, border);
}
--- 174,180 ----
register XtermWidget xw;
{
int border = 2 * xw->screen.border;
! ResizeScreen (xw, border + xw->screen.scrollbar, border);
}
***************
*** 391,397 ****
ResizeScrollBar (screen->scrollWidget, -1, -1,
Height (screen) + border);
RealizeScrollBar (screen->scrollWidget, screen);
! screen->scrollbar = screen->scrollWidget->core.width;
ScrollBarDrawThumb(screen->scrollWidget);
DoResizeScreen (xw);
--- 389,396 ----
ResizeScrollBar (screen->scrollWidget, -1, -1,
Height (screen) + border);
RealizeScrollBar (screen->scrollWidget, screen);
! screen->scrollbar = screen->scrollWidget->core.width +
! screen->scrollWidget->core.border_width;
ScrollBarDrawThumb(screen->scrollWidget);
DoResizeScreen (xw);