[848] in testers

home help back first fref pref prev next nref lref last post

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);


home help back first fref pref prev next nref lref last post