xterm-08.patch.txt

xfree86 3.1.2Cb - 1996/2/9 - T.Dickey
 
This is mostly a documentation patch for xterm.  It describes the color control
sequences in more detail, and documents some other features of xterm that
aren't described elsewhere.
 
I've also added a couple of ifdef's to fix (part of) the problem that I'm
working on (making the program work properly on x11r5, where I'm doing memory
testing -- I have a "good" version from mid-January, but my resync version
doesn't work properly on x11r5).  I'm not done with _that_ yet.
 
--------------------------------------------------------------------------------
 charproc.c |    7 ++++++
 ctlseqs.ms |   29 +++++++++++++++++++++++++
 ptyx.h     |    3 !!
 xterm.man  |   69 +++++++++++++++++++++++++++++++++++++++++++++++++++++!!!!!!!!
 4 files changed, 98 insertions, 10 modifications
--------------------------------------------------------------------------------
Index: ctlseqs.ms
*** /build/x11r6/XFree86-3.1.2Ca/xc/doc/specs/xterm/ctlseqs.ms  Sat Jan  6 08:11:01 1996
--- /build/x11r6/XFree86-current/xc/doc/specs/xterm/ctlseqs.ms  Thu Feb  8 21:02:16 1996
***************
*** 364,369 ****
--- 364,388 ----
    \*(Ps = \*4 \(-> Underscore
    \*(Ps = \*5 \(-> Blink (appears as Bold)
    \*(Ps = \*7 \(-> Inverse
+   \*(Ps = \*3\*0 \(-> Set foreground color to Black
+   \*(Ps = \*3\*1 \(-> Set foreground color to Red
+   \*(Ps = \*3\*2 \(-> Set foreground color to Green
+   \*(Ps = \*3\*3 \(-> Set foreground color to Yellow
+   \*(Ps = \*3\*4 \(-> Set foreground color to Blue
+   \*(Ps = \*3\*5 \(-> Set foreground color to Magenta
+   \*(Ps = \*3\*7 \(-> Set foreground color to Cyan
+   \*(Ps = \*3\*7 \(-> Set foreground color to White
+   \*(Ps = \*3\*9 \(-> Set foreground color to default (original)
+   \*(Ps = \*4\*0 \(-> Set background color to Black
+   \*(Ps = \*4\*1 \(-> Set background color to Red
+   \*(Ps = \*4\*2 \(-> Set background color to Green
+   \*(Ps = \*4\*3 \(-> Set background color to Yellow
+   \*(Ps = \*4\*4 \(-> Set background color to Blue
+   \*(Ps = \*4\*5 \(-> Set background color to Magenta
+   \*(Ps = \*4\*6 \(-> Set background color to Cyan
+   \*(Ps = \*4\*7 \(-> Set background color to White
+   \*(Ps = \*4\*9 \(-> Set background color to default (original).
+   \*(Ps = \*1\*0\*0 \(-> Set foreground and background color to default
  .IP \\*(Es\\*([[\\*(Ps\\*s\\*n
  Device Status Report (DSR)
    \*(Ps = \*5 \(-> Status Report \*(Es\*([[\*0\*n (``OK'')
***************
*** 387,392 ****
--- 406,412 ----
    \*(Ps = \*8 \(-> Auto-repeat Keys (DECARM)
    \*(Ps = \*9 \(-> Send Mouse X & Y on button press.
  See the section \fBMouse Tracking\fP.
+   \*(Ps = \*2\*5 \(-> Show Cursor like VT200.
    \*(Ps = \*3\*8 \(-> Enter Tektronix Mode (DECTEK)
    \*(Ps = \*4\*0 \(-> Allow 80 \z\(<-\(-> 132 Mode
    \*(Ps = \*4\*1 \(-> \fImore\fP(1) fix (see \fIcurses\fP resource)
***************
*** 410,415 ****
--- 430,436 ----
    \*(Ps = \*7 \(-> No Wraparound Mode (DECAWM)
    \*(Ps = \*8 \(-> No Auto-repeat Keys (DECARM)
    \*(Ps = \*9 \(-> Don't Send Mouse X & Y on button press
+   \*(Ps = \*2\*5 \(-> Hide Cursor like VT200.
    \*(Ps = \*4\*0 \(-> Disallow 80 \z\(<-\(-> 132 Mode
    \*(Ps = \*4\*1 \(-> No \fImore\fP(1) fix (see \fIcurses\fP resource)
    \*(Ps = \*4\*4 \(-> Turn Off Margin Bell
***************
*** 430,435 ****
--- 451,464 ----
    \*(Ps = \*0 \(-> Change Icon Name and Window Title to \*(Pt
    \*(Ps = \*1 \(-> Change Icon Name to \*(Pt
    \*(Ps = \*2 \(-> Change Window Title to \*(Pt
+   \*(Ps = \*1\*0 \(-> Change color names starting with color0 to \*(Pt (a
+ list of one or more color names, separated by semicolon, up to color6).
+   \*(Ps = \*1\*1 \(-> Change color names starting with color1 to \*(Pt
+   \*(Ps = \*1\*2 \(-> Change color names starting with color2 to \*(Pt
+   \*(Ps = \*1\*3 \(-> Change color names starting with color3 to \*(Pt
+   \*(Ps = \*1\*4 \(-> Change color names starting with color4 to \*(Pt
+   \*(Ps = \*1\*5 \(-> Change color names starting with color5 to \*(Pt
+   \*(Ps = \*1\*6 \(-> Change color names starting with color6 to \*(Pt
    \*(Ps = \*4\*6 \(-> Change Log File to \*(Pt (normally disabled by a
  compile-time option)
    \*(Ps = \*5\*0 \(-> Set Font to \*(Pt
Index: charproc.c
*** /build/x11r6/XFree86-3.1.2Ca/xc/programs/xterm/charproc.c   Tue Jan 30 15:59:20 1996
--- /build/x11r6/XFree86-current/xc/programs/xterm/charproc.c   Thu Feb  8 19:52:57 1996
***************
*** 668,674 ****
--- 668,677 ----
  static void VTResize PROTO((Widget w));
  static void VTDestroy PROTO((Widget w));
  static Boolean VTSetValues PROTO((Widget cur, Widget request, Widget new, ArgList args, Cardinal *num_args));
+ 
+ #if XtSpecificationRelease >= 6
  static void VTInitI18N PROTO((void));
+ #endif
  
  static WidgetClassRec xtermClassRec = {
    {
***************
*** 2846,2852 ****
--- 2849,2857 ----
                InputOutput, CopyFromParent,    
                *valuemask|CWBitGravity, values);
  
+ #if XtSpecificationRelease >= 6
        VTInitI18N();
+ #endif
  
        set_cursor_gcs (screen);
  
***************
*** 2891,2896 ****
--- 2896,2902 ----
        return;
  }
  
+ #if XtSpecificationRelease >= 6
  static void VTInitI18N()
  {
      int               i;
***************
*** 3007,3012 ****
--- 3013,3019 ----
  
      return;
  }
+ #endif
  
  
  static Boolean VTSetValues (cur, request, new, args, num_args)
Index: ptyx.h
*** /build/x11r6/XFree86-3.1.2Ca/xc/programs/xterm/ptyx.h       Fri Jan 26 11:43:22 1996
--- /build/x11r6/XFree86-current/xc/programs/xterm/ptyx.h       Thu Feb  8 19:55:31 1996
***************
*** 528,537 ****
      Boolean tekSmall; /* start tek window in small size */
      Boolean appcursorDefault;
      Boolean appkeypadDefault;
      char* input_method;
      char* preedit_type;
      Boolean open_im;
!     Boolean shared_ic;
      Boolean dynamicColors;
  } Misc;
  
--- 528,538 ----
      Boolean tekSmall; /* start tek window in small size */
      Boolean appcursorDefault;
      Boolean appkeypadDefault;
+ #if XtSpecificationRelease >= 6
      char* input_method;
      char* preedit_type;
      Boolean open_im;
! #endif
      Boolean dynamicColors;
  } Misc;
  
Index: xterm.man
*** /build/x11r6/XFree86-3.1.2Ca/xc/programs/xterm/xterm.man    Sat Jan  6 08:11:01 1996
--- /build/x11r6/XFree86-current/xc/programs/xterm/xterm.man    Thu Feb  8 21:04:52 1996
***************
*** 636,643 ****
  The default is ``false.''
  .TP 8
  .B "colorMode (\fPclass\fB ColorMode)"
! Specifies whether or not recognition of ANSI color change escape sequences
! should be enabled.
  .TP 8
  .B "colorBDMode (\fPclass\fB ColorMode)"
  Specifies whether characters with the bold attribute should be displayed in
--- 636,643 ----
  The default is ``false.''
  .TP 8
  .B "colorMode (\fPclass\fB ColorMode)"
! Specifies whether or not recognition of ANSI (ISO 6429)
! color change escape sequences should be enabled.
  .TP 8
  .B "colorBDMode (\fPclass\fB ColorMode)"
  Specifies whether characters with the bold attribute should be displayed in
***************
*** 666,671 ****
--- 666,690 ----
  .B "color7 (\fPclass\fB Foreground)"
  These specify the colors for the ISO 6429 extension.  The defaults are,
  respectively, black, red, green, yellow, blue, magenta, cyan, and white.
+ If \fIcolorMode\fP is not active,
+ the resources \fIcolor0\fP through \fIcolor6\fP
+ are interpreted differently:
+ .RS
+ .TP 8
+ .B "color0\fP text foreground"
+ .TP 8
+ .B "color1\fP text background"
+ .TP 8
+ .B "color2\fP text cursor"
+ .TP 8
+ .B "color3\fP mouse foreground"
+ .TP 8
+ .B "color4\fP mouse background"
+ .TP 8
+ .B "color5\fP Tektronix foreground"
+ .TP 8
+ .B "color6\fP Tektronix background"
+ .RE
  .TP 8
  .B "color8 (\fPclass\fB Foreground)"
  .TP 8
***************
*** 700,706 ****
  used for the underline attribute.
  .TP 8
  .B "dynamicColors (\fPclass\fB DynamicColors)"
! Sepcifies whether or not escape sequences to change colors assigned to
  different attributes are recognized.
  .TP 8
  .B "background (\fPclass\fB Background)"
--- 719,725 ----
  used for the underline attribute.
  .TP 8
  .B "dynamicColors (\fPclass\fB DynamicColors)"
! Specifies whether or not escape sequences to change colors assigned to
  different attributes are recognized.
  .TP 8
  .B "background (\fPclass\fB Background)"
***************
*** 1192,1198 ****
  that corresponds to the pointer's position in the scrollbar.
  .PP
  .PP
! Unlike the VT102 window, the Tektronix window dows not allow the copying of
  text.
  It does allow Tektronix GIN mode, and in this mode
  the cursor will change from an arrow to a cross.
--- 1211,1217 ----
  that corresponds to the pointer's position in the scrollbar.
  .PP
  .PP
! Unlike the VT102 window, the Tektronix window does not allow the copying of
  text.
  It does allow Tektronix GIN mode, and in this mode
  the cursor will change from an arrow to a cross.
***************
*** 1399,1404 ****
--- 1418,1429 ----
  This action rings the keyboard bell at the specified percentage
  above or below the base volume.
  .TP 8
+ .B "create-menu(\fIm/v/f/t\fP)"
+ This action creates one of the menus used by \fIxterm\fP,
+ if it has not been previously created.
+ The parameter values are the menu names:
+ \fImainMenu\fP, \fIvtMenu\fP, \fIfontMenu\fP, \fItekMenu\fP, respectively.
+ .TP 8
  .B "ignore()"
  This action ignores the event but checks for special pointer position
  escape sequences.
***************
*** 1449,1454 ****
--- 1474,1483 ----
  This action puts the currently selected text into all of the selections or 
  cutbuffers specified by \fIdestname\fP.
  .TP 8
+ .B "select-set()"
+ This action stores text that corresponds to the current selection,
+ without affecting the selection mode.
+ .TP 8
  .B "select-cursor-start()"
  This action is similar to \fBselect-start\fP except that it begins the
  selection at the current text cursor position.
***************
*** 1497,1502 ****
--- 1526,1534 ----
  .B "allow-send-events(\fIon/off/toggle\fP)"
  This action set or toggles the \fBallowSendEvents\fP resource and is also
  invoked by the \fBallowsends\fP entry in \fImainMenu\fP.
+ .TP
+ .B "set-logging()"
+ This action toggles the state of the logging option.
  .TP 8
  .B "redraw()"
  This action redraws the window and is also invoked by the
***************
*** 1631,1636 ****
--- 1663,1697 ----
  .TP 8
  .B "visual-bell()"
  This action flashes the window quickly.
+ .TP 8
+ .B "dired-button()"
+ Handles a button event (other than press and release)
+ by echoing the event's position
+ (i.e., character line and column) in the following format:
+ .sp
+ .in +8
+ ^X ESC G <line+' '> <col+' '>
+ .in -8
+ .TP 8
+ .B "vi-button()"
+ Handles a button event (other than press and release)
+ by echoing a control sequence computed from the event's line number
+ in the screen relative to the current line:
+ .sp
+ .in +8
+ ESC ^P
+ .in -8
+ or
+ .in +8
+ ESC ^N
+ .in -8
+ .sp
+ according to whether the event is before, or after the current line,
+ respectively.
+ The ^N (or ^P) is repeated once for each line that the event differs
+ from the current line.
+ The control sequence is omitted altogether if the button event is on the
+ current line.
  .PP
  The Tektronix window also has the following action:
  .TP 8