File kterm-6.2.0-rightbar.patch of Package kterm

diff -c kterm-6.2.0.orig/charproc.c kterm-6.2.0/charproc.c
*** kterm-6.2.0.orig/charproc.c	Fri Jul 12 14:01:36 1996
--- kterm-6.2.0/charproc.c	Tue Sep  4 05:38:36 2001
***************
*** 170,175 ****
--- 170,177 ----
  #define XtNautoWrap "autoWrap"
  #define XtNsaveLines "saveLines"
  #define XtNscrollBar "scrollBar"
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ #define XtNrightScrollBar "rightScrollBar"
  #define XtNscrollTtyOutput "scrollTtyOutput"
  #define XtNscrollKey "scrollKey"
  #define XtNscrollLines "scrollLines"
***************
*** 230,235 ****
--- 232,239 ----
  #define XtCAutoWrap "AutoWrap"
  #define XtCSaveLines "SaveLines"
  #define XtCScrollBar "ScrollBar"
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ #define XtCRightScrollBar "RightScrollBar"
  #define XtCScrollLines "ScrollLines"
  #define XtCScrollPos "ScrollPos"
  #define XtCScrollCond "ScrollCond"
***************
*** 660,665 ****
--- 664,673 ----
  {XtNscrollBar, XtCScrollBar, XtRBoolean, sizeof(Boolean),
  	XtOffsetOf(XtermWidgetRec, misc.scrollbar),
  	XtRBoolean, (XtPointer) &defaultFALSE},
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ {XtNrightScrollBar, XtCRightScrollBar, XtRBoolean, sizeof(Boolean),
+ 	XtOffsetOf(XtermWidgetRec, misc.useRight),
+ 	XtRBoolean, (XtPointer) &defaultFALSE},
  {XtNscrollTtyOutput,XtCScrollCond, XtRBoolean, sizeof(Boolean),
  	XtOffsetOf(XtermWidgetRec, screen.scrollttyoutput),
  	XtRBoolean, (XtPointer) &defaultTRUE},
***************
*** 2540,2546 ****
  					    (Widget) termw, 
  					    (Dimension) FontWidth(screen) * j
  					        + 2*screen->border
! 						+ screen->scrollbar,
  					    (Dimension) FontHeight(screen)
  						* (screen->max_row + 1)
  #ifdef STATUSLINE
--- 2548,2556 ----
  					    (Widget) termw, 
  					    (Dimension) FontWidth(screen) * j
  					        + 2*screen->border
! 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 						+ screen->scrollbar
! 						+ screen->useRight,
  					    (Dimension) FontHeight(screen)
  						* (screen->max_row + 1)
  #ifdef STATUSLINE
***************
*** 2781,2787 ****
  					    (Widget) termw,
  					    (Dimension) FontWidth(screen) * j 
  						+ 2*screen->border
! 						+ screen->scrollbar,
  					    (Dimension) FontHeight(screen)
  						* (screen->max_row + 1)
  						+ 2*screen->border,
--- 2791,2799 ----
  					    (Widget) termw,
  					    (Dimension) FontWidth(screen) * j 
  						+ 2*screen->border
! 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 						+ screen->scrollbar
! 						+ screen->useRight,
  					    (Dimension) FontHeight(screen)
  						* (screen->max_row + 1)
  						+ 2*screen->border,
***************
*** 3624,3629 ****
--- 3636,3643 ----
  
  	if (term->misc.scrollbar) {
  		screen->scrollbar = 0;
+ 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ 		screen->useRight = 0;
  		ScrollBarOn (term, FALSE, TRUE);
  	}
  	CursorSave (term, &screen->sc);
***************
*** 4147,4153 ****
  			XtMakeResizeRequest(
  			    (Widget) term,
  			    (Dimension) 80*FontWidth(screen)
! 				+ 2 * screen->border + screen->scrollbar,
  #ifdef STATUSLINE
  			    (Dimension) screen->statusheight +
  #endif /* STATUSLINE */
--- 4161,4168 ----
  			XtMakeResizeRequest(
  			    (Widget) term,
  			    (Dimension) 80*FontWidth(screen)
! 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 				+ 2 * screen->border + screen->scrollbar + screen->useRight,
  #ifdef STATUSLINE
  			    (Dimension) screen->statusheight +
  #endif /* STATUSLINE */
***************
*** 4206,4214 ****
  		return;
  	screen->statusheight = FontHeight(screen) + 2;
  	DoResizeScreen(term);
! 	if (screen->scrollWidget)
  		ResizeScrollBar(screen->scrollWidget, -1, -1,
! 		  Height(screen) + screen->border * 2 + screen->statusheight);
  }
  
  HideStatus()
--- 4221,4238 ----
  		return;
  	screen->statusheight = FontHeight(screen) + 2;
  	DoResizeScreen(term);
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if (screen->scrollWidget){
! 	    if( term->misc.useRight == True ){
! 		ResizeScrollBar (screen->scrollWidget, 
! 				 (screen->max_col+1)*FontWidth(screen)+(screen->border)*2, -1,
! 				 Height(screen) + screen->border * 2 + screen->statusheight);
! 	    }
! 	    else{
  		ResizeScrollBar(screen->scrollWidget, -1, -1,
! 				Height(screen) + screen->border * 2 + screen->statusheight);
! 	    }
! 	}
  }
  
  HideStatus()
***************
*** 4232,4240 ****
  	bzero(screen->buf[i + 1], j);
  # endif /* !KTERM */
  	DoResizeScreen(term);
! 	if (screen->scrollWidget)
! 		ResizeScrollBar(screen->scrollWidget, -1, -1,
! 		  Height(screen) + screen->border * 2);
  }
  
  EraseStatus()
--- 4256,4273 ----
  	bzero(screen->buf[i + 1], j);
  # endif /* !KTERM */
  	DoResizeScreen(term);
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if (screen->scrollWidget){
! 	    if( term->misc.useRight == True ){
! 		ResizeScrollBar (screen->scrollWidget, 
! 				 (screen->max_col+1)*FontWidth(screen)+(screen->border)*2, -1,
! 				 Height(screen) + screen->border * 2);
! 	    }
! 	    else{
! 		ResizeScrollBar(screen->scrollWidget, -1, -1, 
! 				Height(screen) + screen->border * 2);
! 	    }
! 	}
  }
  
  EraseStatus()
***************
*** 5085,5096 ****
  	    XClearWindow (screen->display, VWindow(screen));
  	}
  	DoResizeScreen (term);		/* set to the new natural size */
! 	if (screen->scrollWidget)
! 	  ResizeScrollBar (screen->scrollWidget, -1, -1,
  #ifdef STATUSLINE
! 			   screen->statusheight +
  #endif /* STATUSLINE */
! 			   Height(screen) + screen->border * 2);
  	Redraw ();
      }
      set_vt_box (screen);
--- 5118,5141 ----
  	    XClearWindow (screen->display, VWindow(screen));
  	}
  	DoResizeScreen (term);		/* set to the new natural size */
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if (screen->scrollWidget){
! 	    if( term->misc.useRight == True ){
! 		ResizeScrollBar (screen->scrollWidget, 
! 				 (screen->max_col+1)*FontWidth(screen)+(screen->border)*2, -1,
! #ifdef STATUSLINE
! 				 screen->statusheight +
! #endif /* STATUSLINE */
! 				 Height(screen) + screen->border * 2);
! 	    }
! 	    else{
! 		ResizeScrollBar (screen->scrollWidget, -1, -1,
  #ifdef STATUSLINE
! 				 screen->statusheight +
  #endif /* STATUSLINE */
! 				 Height(screen) + screen->border * 2);
! 	    }
! 	}
  	Redraw ();
      }
      set_vt_box (screen);
Only in kterm-6.2.0: charproc.c.orig
diff -c kterm-6.2.0.orig/main.c kterm-6.2.0/main.c
*** kterm-6.2.0.orig/main.c	Fri Jul 12 14:01:38 1996
--- kterm-6.2.0/main.c	Tue Sep  4 05:28:54 2001
***************
*** 745,750 ****
--- 745,753 ----
  {"+s",		"*multiScroll",	XrmoptionNoArg,		(caddr_t) "off"},
  {"-sb",		"*scrollBar",	XrmoptionNoArg,		(caddr_t) "on"},
  {"+sb",		"*scrollBar",	XrmoptionNoArg,		(caddr_t) "off"},
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ {"-leftbar",	"*rightScrollBar", XrmoptionNoArg,	(caddr_t) "off"},
+ {"-rightbar",	"*rightScrollBar", XrmoptionNoArg,	(caddr_t) "on"},
  {"-sf",		"*sunFunctionKeys", XrmoptionNoArg,	(caddr_t) "on"},
  {"+sf",		"*sunFunctionKeys", XrmoptionNoArg,	(caddr_t) "off"},
  {"-si",		"*scrollTtyOutput",	XrmoptionNoArg,		(caddr_t) "off"},
***************
*** 859,864 ****
--- 862,870 ----
  { "-/+rw",                 "turn on/off reverse wraparound" },
  { "-/+s",                  "turn on/off multiscroll" },
  { "-/+sb",                 "turn on/off scrollbar" },
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ { "-rightbar",             "force scrollbar right (default left)" },
+ { "-leftbar",              "force scrollbar left" },
  { "-/+sf",                 "turn on/off Sun Function Key escape codes" },
  { "-/+si",                 "turn on/off scroll-on-tty-output inhibit" },
  { "-/+sk",                 "turn on/off scroll-on-keypress" },
diff -c kterm-6.2.0.orig/menu.c kterm-6.2.0/menu.c
*** kterm-6.2.0.orig/menu.c	Sat Jun 29 12:56:43 1996
--- kterm-6.2.0/menu.c	Tue Sep  4 05:28:54 2001
***************
*** 566,573 ****
      caddr_t closure, data;
  {
      register TScreen *screen = &term->screen;
! 
!     if (screen->scrollbar) {
  	ScrollBarOff (screen);
      } else {
  	ScrollBarOn (term, FALSE, FALSE);
--- 566,573 ----
      caddr_t closure, data;
  {
      register TScreen *screen = &term->screen;
!     /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
!     if ( screen->scrollbar!=0 || screen->useRight!=0 ) {
  	ScrollBarOff (screen);
      } else {
  	ScrollBarOn (term, FALSE, FALSE);
***************
*** 1184,1190 ****
      String *params;
      Cardinal *param_count;
  {
!     handle_toggle (do_scrollbar, (int) term->screen.scrollbar,
  		   params, *param_count, w, NULL, NULL);
  }
  
--- 1184,1191 ----
      String *params;
      Cardinal *param_count;
  {
!     /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
!     handle_toggle (do_scrollbar, (int)( term->screen.scrollbar || term->screen.useRight ),
  		   params, *param_count, w, NULL, NULL);
  }
  
diff -c kterm-6.2.0.orig/menu.h kterm-6.2.0/menu.h
*** kterm-6.2.0.orig/menu.h	Tue Jul  2 14:01:52 1996
--- kterm-6.2.0/menu.h	Tue Sep  4 05:28:54 2001
***************
*** 239,248 ****
  		    term->screen.logging)
  #endif
  
  #define update_scrollbar() \
    update_menu_item (term->screen.vtMenu, \
  		    vtMenuEntries[vtMenu_scrollbar].widget, \
! 		    term->screen.scrollbar)
  
  #define update_jumpscroll() \
    update_menu_item (term->screen.vtMenu, \
--- 239,249 ----
  		    term->screen.logging)
  #endif
  
+ /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
  #define update_scrollbar() \
    update_menu_item (term->screen.vtMenu, \
  		    vtMenuEntries[vtMenu_scrollbar].widget, \
! 		    term->screen.scrollbar || term->screen.useRight )
  
  #define update_jumpscroll() \
    update_menu_item (term->screen.vtMenu, \
diff -c kterm-6.2.0.orig/misc.c kterm-6.2.0/misc.c
*** kterm-6.2.0.orig/misc.c	Fri Jul 12 14:01:43 1996
--- kterm-6.2.0/misc.c	Tue Sep  4 05:28:54 2001
***************
*** 517,523 ****
  		event.width = term->core.width;
  		event.height = term->core.height;
  		(*term->core.widget_class->core_class.expose)((Widget)term, (XEvent *)&event, NULL);
! 		if(screen->scrollbar) 
  			(*screen->scrollWidget->core.widget_class->core_class.expose)(screen->scrollWidget, (XEvent *)&event, NULL);
  		}
  
--- 517,524 ----
  		event.width = term->core.width;
  		event.height = term->core.height;
  		(*term->core.widget_class->core_class.expose)((Widget)term, (XEvent *)&event, NULL);
! 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 		if( screen->scrollbar!=0 || screen->useRight!=0 ) 
  			(*screen->scrollWidget->core.widget_class->core_class.expose)(screen->scrollWidget, (XEvent *)&event, NULL);
  		}
  
diff -c kterm-6.2.0.orig/ptyx.h kterm-6.2.0/ptyx.h
*** kterm-6.2.0.orig/ptyx.h	Tue Jul  2 14:01:53 1996
--- kterm-6.2.0/ptyx.h	Tue Sep  4 05:28:54 2001
***************
*** 362,367 ****
--- 362,369 ----
  	Widget		scrollWidget;	/* pointer to scrollbar struct	*/
  	int		scrollbar;	/* if > 0, width of scrollbar, and
  						scrollbar is showing	*/
+         /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+         int             useRight;
  	int		topline;	/* line number of top, <= 0	*/
  	int		savedlines;     /* number of lines that've been saved */
  	int		savelines;	/* number of lines off top to save */
***************
*** 546,551 ****
--- 548,555 ----
      Boolean tekInhibit;
  #endif /* !KTERM_NOTEK */
      Boolean scrollbar;
+     /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+     Boolean useRight;
      Boolean titeInhibit;
  #ifndef KTERM_NOTEK
      Boolean tekSmall;	/* start tek window in small size */
diff -c kterm-6.2.0.orig/screen.c kterm-6.2.0/screen.c
*** kterm-6.2.0.orig/screen.c	Sun Jun 23 17:00:26 1996
--- kterm-6.2.0/screen.c	Tue Sep  4 05:40:21 2001
***************
*** 869,875 ****
  	rows = (height + FontHeight(screen) / 2 - border) /
  #endif /* !STATUSLINE */
  	 FontHeight(screen);
! 	cols = (width + FontWidth(screen) / 2 - border - screen->scrollbar) /
  	 FontWidth(screen);
  	if (rows < 1) rows = 1;
  	if (cols < 1) cols = 1;
--- 869,877 ----
  	rows = (height + FontHeight(screen) / 2 - border) /
  #endif /* !STATUSLINE */
  	 FontHeight(screen);
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	cols = (width + FontWidth(screen) / 2 - border 
! 		- screen->scrollbar - screen->useRight ) /
  	 FontWidth(screen);
  	if (rows < 1) rows = 1;
  	if (cols < 1) cols = 1;
***************
*** 964,977 ****
  #else /* !STATUSLINE */
  		screen->fullVwin.height = height - border;
  #endif /* !STATUSLINE */
! 		screen->fullVwin.width = width - border - screen->scrollbar;
  
  	} else if(FullHeight(screen) == height && FullWidth(screen) == width)
  	 	return(0);	/* nothing has changed at all */
  
! 	if(screen->scrollWidget)
  		ResizeScrollBar(screen->scrollWidget, -1, -1, height);
! 	
  	screen->fullVwin.fullheight = height;
  	screen->fullVwin.fullwidth = width;
  	ResizeSelection (screen, rows, cols);
--- 966,988 ----
  #else /* !STATUSLINE */
  		screen->fullVwin.height = height - border;
  #endif /* !STATUSLINE */
! 		/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 		screen->fullVwin.width = width - border - screen->scrollbar - screen->useRight;
  
  	} else if(FullHeight(screen) == height && FullWidth(screen) == width)
  	 	return(0);	/* nothing has changed at all */
  
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if(screen->scrollWidget){
! 	    if( term->misc.useRight == True ){
! 		ResizeScrollBar (screen->scrollWidget, 
! 				 (screen->max_col+1)*FontWidth(screen)+3+1, -1,
! 				 height) ;
! 	    }
! 	    else{
  		ResizeScrollBar(screen->scrollWidget, -1, -1, height);
! 	    }
! 	}
  	screen->fullVwin.fullheight = height;
  	screen->fullVwin.fullwidth = width;
  	ResizeSelection (screen, rows, cols);
Only in kterm-6.2.0: screen.c.orig
diff -c kterm-6.2.0.orig/scrollbar.c kterm-6.2.0/scrollbar.c
*** kterm-6.2.0.orig/scrollbar.c	Fri Jul 12 14:01:39 1996
--- kterm-6.2.0/scrollbar.c	Tue Sep  4 05:28:54 2001
***************
*** 174,180 ****
      register XtermWidget xw;
  {
      int border = 2 * xw->screen.border;
!     ResizeScreen (xw, border + xw->screen.scrollbar, border);
  }
  
  
--- 174,188 ----
      register XtermWidget xw;
  {
      int border = 2 * xw->screen.border;
!     int scrb = xw->screen.scrollWidget->core.width +
! 	xw->screen.scrollWidget->core.border_width ;
!     /* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
!     if( xw->misc.useRight == True ){
! 	ResizeScreen (xw, border + xw->screen.useRight, border);
!     }
!     else{
! 	ResizeScreen (xw, border + xw->screen.scrollbar, border);
!     }
  }
  
  
***************
*** 328,333 ****
--- 336,344 ----
  
  	if(screen->scrollbar)
  		return;
+ 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ 	if(screen->useRight)
+ 		return;
  
  	if (init) {			/* then create it only */
  	    if (screen->scrollWidget) return;
***************
*** 385,399 ****
  #endif /* !KTERM */
  	}
  
! 	ResizeScrollBar (screen->scrollWidget, -1, -1, 
  #ifdef STATUSLINE
! 			 screen->statusheight +
  #endif /* STATUSLINE */
! 			 Height (screen) + border);
! 	RealizeScrollBar (screen->scrollWidget, screen);
! 	screen->scrollbar = screen->scrollWidget->core.width +
! 	     screen->scrollWidget->core.border_width;
  
  	ScrollBarDrawThumb(screen->scrollWidget);
  	DoResizeScreen (xw);
  	XtMapWidget(screen->scrollWidget);
--- 396,430 ----
  #endif /* !KTERM */
  	}
  
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if( xw->misc.useRight == True ){
! 	    ResizeScrollBar (screen->scrollWidget, (screen->max_col+1)*FontWidth(screen)+(screen->border)*2, -1,
  #ifdef STATUSLINE
! 			     screen->statusheight +
  #endif /* STATUSLINE */
! 			     Height (screen) + border);
! 	}
! 	else{
! 	    ResizeScrollBar (screen->scrollWidget, -1 , -1,
! #ifdef STATUSLINE
! 			     screen->statusheight +
! #endif /* STATUSLINE */
! 			     Height (screen) + border);
! 	}
  
+ 	RealizeScrollBar (screen->scrollWidget, screen);
+ 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ 	if( xw->misc.useRight == True ){
+ 	    screen->scrollbar = 0 ;
+ 	    screen->useRight = screen->scrollWidget->core.width +
+ 		screen->scrollWidget->core.border_width;
+ 	}
+ 	else{
+ 	    screen->scrollbar = screen->scrollWidget->core.width +
+ 		screen->scrollWidget->core.border_width;
+ 	    screen->useRight = 0 ;
+ 	}
+ 	
  	ScrollBarDrawThumb(screen->scrollWidget);
  	DoResizeScreen (xw);
  	XtMapWidget(screen->scrollWidget);
***************
*** 407,416 ****
  ScrollBarOff(screen)
  	register TScreen *screen;
  {
! 	if(!screen->scrollbar)
  		return;
  	XtUnmapWidget(screen->scrollWidget);
  	screen->scrollbar = 0;
  	DoResizeScreen (term);
  	update_scrollbar ();
  	if (screen->buf) {
--- 438,450 ----
  ScrollBarOff(screen)
  	register TScreen *screen;
  {
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	if( screen->scrollbar==0 && screen->useRight==0 )
  		return;
  	XtUnmapWidget(screen->scrollWidget);
  	screen->scrollbar = 0;
+ 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
+ 	screen->useRight = 0;
  	DoResizeScreen (term);
  	update_scrollbar ();
  	if (screen->buf) {
diff -c kterm-6.2.0.orig/xim.c kterm-6.2.0/xim.c
*** kterm-6.2.0.orig/xim.c	Fri Jul 12 14:01:43 1996
--- kterm-6.2.0/xim.c	Tue Sep  4 05:33:33 2001
***************
*** 151,157 ****
  {
  	rect_p->x = screen->scrollbar;
  	rect_p->y = 0;
! 	rect_p->width  = FullWidth(screen)  - screen->scrollbar;
  	rect_p->height = FullHeight(screen);
  }
  
--- 151,158 ----
  {
  	rect_p->x = screen->scrollbar;
  	rect_p->y = 0;
! 	/* patch for ScrollBarRight  cyamauch@phyas.aichi-edu.ac.jp */
! 	rect_p->width  = FullWidth(screen) - screen->scrollbar - screen->useRight;
  	rect_p->height = FullHeight(screen);
  }
  
openSUSE Build Service is sponsored by