Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 17 Jul 1996 15:42:25 -0500 (CDT)
From:      "Matthew N. Dodd" <winter@jurai.net>
To:        Satoshi Asami <asami@cs.berkeley.edu>
Cc:        freebsd-ports@FreeBSD.org
Subject:   updated port : rxvt-2.16
Message-ID:  <Pine.BSI.3.95.960717153158.24557C-100000@sasami>
In-Reply-To: <199607170406.VAA04677@silvia.hip.berkeley.edu>

next in thread | previous in thread | raw e-mail | index | archive | help

I"ve made a port of rxvt 2.16 (the current one is 2.09).  I've put the 
port at ftp://ftp.jurai.net/users/winter/rxvt-2.16.tar.gz

2.09 had a serious problem with the handling of the ^[[0m sequence which
resulted in colors running on to text that was not colored.

I've attached the change log from version 2.09 to 2.16 below.

(If anyone is interested in looking at any of the previous versions of
rxvt, I've got all of them at ftp://ftp.jurai.net/users/winter/rxvt.
(well, as far back as 2.03.  I couldn't find any earlier than that.))

Have a good one.

| Matthew N. Dodd   | winter@jurai.net    | http://www.jurai.net/~winter    |
| Technical Manager | mdodd@intersurf.net | http://www.intersurf.net        |
| InterSurf Online  | "Welcome to the net Sir, would you like a handbasket?"|

---[begin]---

2.15 to 2.16
\-----------
    1.	Misc cleanup, rxvt once again passes the vttest (and reverse video
	works again).  Kanji support tested and seems to be okay.  Finally,
	an okay set of regular/bold colours.  Compile-time option for a
	right-side scrollbar.

    2.	Ctrl-minus now (correctly) generates ^_ [0x1F].
	Changed termcap/terminfo to use normal cursor keys instead of
	application cursor keys (rmkx/smkx, ke/ks) -- otherwise subsequent
	rxvt/xterm starts with the application cursor keys active.

    3.	Fixed scr_reset() so that resizing is a lot more sensible.
	Implemented the equivalent SouthWest resizeGravity (xterm X11R5) so
	the bottom line of text on the screen stays fixed.  If the window is
	made taller, additional saved lines will be scrolled down onto the
	screen; if the window is made shorter, lines will be scrolled off
	the top of the screen, and the top saved lines will be dropped. The
	old resizing code is available with -DOLD_UGLY_RESIZE.

    4.	Altered code so all man-page documented command-line options will
	not trigger errors even if the feature wasn't compiled into rxvt.
	Added old, backward compatibility command-line options, but they're
	simply ignored. Eventually they can be removed -- perhaps Jan'97?

		`-8':		use `+7'
		`-fat':		use `-sb'
		`-thin':	use `-arrows'
		`-meta8thbit'	use `-meta8'
		`-metaescape'	use `-meta'
		`-font_list'	use `-font1', `-font2', etc.

	These ones are just too weird to support:

		`-ls-':		use `+ls'
		`-ma-':		use `+ma'

    5.	Removed secure-keyboard option, too problematic and obscure.

    6.	First attempt at GNU autoconfig.
	Still needs some work, but it's mostly okay.

    7.	Added minor aliases for foreground/background colours.  This permits
	colour specifications like -fg "#13" -bg "#10", which would set the
	foreground to colour 13 (bright yellow) and the background to colour
	10 (bright black).  It's not terribly useful yet, but might
	eventually be a nice way to have bold/blink colour work even on with
	the standard fg/bg colours.

2.14 to 2.15
\-----------
    1.	Small bug: initial width incorrect when there was no scrollBar.

    2.	Close the gaping security hole.  Renounce setuid/setgid privileges
	immediately and only take them up as needed -- chown() or writing
	into /etc/utmp.

    3.	Reverted to using `<' and '>' to toggle smaller/bigger fonts. It
	seems that many didn't like KP_Subtract/XK_KP_Add -- conflicts with
	some editors, and not all terminals have a Keypad anyhow.

    4.	Man page reformatted by Piercarlo Grandi <piercarl@sabi.demon.co.uk>
	so that it "now is done in the most delightful [sic] elegant 'roff
	style :-)"

    5.	Started to integrate the Kanji support based on old patches from the
	Linux-JE (Japanese Extensions) project.  Consider it alpha until one
	of the JE authors gives it a thorough check.

    6.	Added compile-time selection of a few different scrollbar widths.

    7.	When reading X resources, rxvt now recognizes two class names:
	"XTerm" and "RXvt".  The reason for two distinct names is that there
	are many options common between rxvt and xterm -- to which the class
	name "XTerm" permits easy access and configuration -- but there are
	also several options, notably colours and key-handling, unique to
	rxvt but which are useful to share between different rxvt
	configurations; the class name "RXvt" permits this.

	NB: The "RXvt" class takes precedence (in the event of a clash) and
	    is the only one ever used for the application defaults file.

    8.	The initial value used for the Backspace key (^H or ^?) is now
	determined from the value of CERASE used to set the termios
	structures.  This removes the need for the BACKSPACE_AS_DELETE
	compile-time option.

2.13 to 2.14
\-----------
    1.	Default HOTKEY prefix can now be choosen as `meta', `ctrl' or
	`shift'. Moved font toggle to KP_Add/KP_Subtract to resemble
	resolution toggling of the XFree86 server (Linux) and so that Alt-<
	can generate ESC-< for Emacs usage.  Man page and usage() reflect
	the changes. Note that if you choose the hotkey to be `shift', to
	mimic the Linux console scrollback, you'll probably want different
	keybindings for mapAlert and Secure.

	The choice of the HOTKEY (ctrl or meta) prefix and some of the
	key-strings can be compile-time defined in "rxvtkeys.h", although
	probably the only changes desired will be in the string value
	associated with XK_Delete and in the choice of a HOTKEY (ctrl or
	meta) prefix.

	Use shift or ctrl to temporarily toggle Backspace from ^H to ^?.
	Use shift to temporarily toggle the application keypad.

    2.	Patch so that setting bold or blink works before or after changing
	the colour (it used to only work before changing the colour). Also
	added the option of having DOS VGA colours.
	Thanks Avery Pennarun <apenwarr@foxnet.net>

    3.	Extensive reworking of pseudo-tty handling and addition of BSD sgtty
	terminal handling and new utmpx (Solaris 2.x) support. MANY thanks
	to Raul Garcia Garcia (rgg@tid.es).

	POSIX wtmp support added by Piet W. Plomp (piet@icce.rug.nl)

	Added -/+ut option (resource: utmpInhibit) so you can sometimes be
	harder to find :)

    4.	Finally? cleaned-up selection so that it works properly -- clears a
	previously selected region without causing a core dump -- define
	NEW_SELECTION.

	I believe that this should fix a long-standing problem with the
	selection mechanism -- probably back from when selection of the
	scrollback was added -- whereby all accounting was done in terms of
	screen row values [0 .. RxvtWin.rows-1] plus the current offset
	value.  The anchor and end points were scrolled with the screen, but
	the beginning point wasn't and extending a region that had its
	anchor scrolled-off would give complete garbage.  The new selection
	scheme has lots of bounds-checking (too much?) to prevent these
	problems.  If PRINT_PIPE is not defined, then you can use
	PrintScreen to dump some of the current selection state -- this
	should help debugging.

	Thanks to John Davis (davis@space.mit.edu) and Piet W. Plomp
	(piet@icce.rug.nl) for helping to diagnose the problem.

    5.	Use information request `ESC [ 8 n' to change the window title
	to the current rxvt version so you can find out what version you
	have.

    6.	Added simple code to permit run-time definition of the keysyms
	0xFF00 - 0xFFFF if KEYSYM_RESOURCE (for FAKE_RESOURCES only) is
	defined.  It's not as pretty as that used by xterm since it only
	works with keysym values rather that key names, but the impact on
	code size is quite minimal.  I use it in conjunction with `-name vm'
	to remap arrow and function keys for tn3270 ... quite handy.
	At the moment the string length is only limited by the line length
	(currently 256) used in "resources.c"

	The syntax (at the moment) is

		rxvt*keysym.0xFFnn:	"a string value"

	where `nn' is a 2 digit hex value 00 to FF.  Of course if there were
	an easy and small means of converting key names to keysym values,
	then that would be better.

	The enclosing quotes are required to start/end with whitespace.
	Most of the usual escape values can be used:

		\b - backspace
		\e - escape
		\n - newline
		\r - carriage return
		\t - tab
		\000 - octal number

	Anyhow, here's a brief example of what it looks like
	in ~/.Xdefaults:

	! F11 key - mimic the output of F1
	rxvt*keysym.0xFFC8: \e[11~

	! F12 key - whatever
	rxvt*keysym.0xFFC9: Hello World!\n"\"String\" ends with whitespace  "

	! Delete key - remap
	rxvt*keysym.0xFFFF: "Delete :)"

	!Scroll_Lock as flow-control (^S)
	rxvt*keysym.0xFF14: \023

    7.	Oops -- fixed resource name from scrollbar to scrollBar. Fixed
	cursor colours to black on white (like xterm) for the scrollbar
	cursors, but I've left the xterm (`I'-bar) cursor as foreground on
	background because it looks so nice.  Allocate all colours when
	creating the window so that we don't have to worry about it later
	and so that we can avoid potential hassles with colour-hungry
	applications like Netscape.

    8.  Added a way to distinguish an rxvt from an xterm via the obsolete
	ESC Z sending the vt100 answer string with 'c' -> 'C'.

	Added support for resolving the actual IP number of the host for
	remote DISPLAYs.  Changed the answer back for ESC[7n to add a
	trailing newline to support easier input into the shell.  When the
	display is local (i.e. :0), we add support for sending the first
	non-loopback interface IP number as the DISPLAY instead of just
	sending the incorrect ":0".  This way telnet/rlogin shells can
	actually get the correct information into DISPLAY for xclients.

	Courtesy of Chuck Blake <cblake@BBN.COM>
	[Note: I've not had a chance to thoroughly test this -- mjo]

2.12 to 2.13
\-----------
    1.	Shift and Control now only work for non-application mode cursor
	keys and with function keys.

    2.	Override XTerm mouse reporting with either Mod1 or Shift.  X11
	mouse reporting now properly includes modifier keys (see rxvt.ref).
	Although this effectively degenerates to the Control modifier alone
	since both Shift and Meta are used to temporarily disable mouse
	reporting -- I don't know an easy way around this but that's what
	XTerm does, although since it uses Control to pop-up menus, that
	doesn't get transmitted either.

    3.  Moved a few more configuration items from Imakefile to configure.h

    4.	Added XAPPLOADDIR define to the Imakefile to allow use of the
	application defaults file XAPPLOADDIR/RXvt when rxvt has been
	compiled with FAKE_RESOURCES.  Now, the following files are
	checked:
		XAPPLOADDIR/RXvt	(compile-time defined)
		$HOME/.Xdefaults or $HOME/.Xresources
	suggested by John Gotts <jgotts@engin.umich.edu>

    5.	Applied patches by Edward D.H. Liu <dhliu@solar.csie.ntu.edu.tw>
	to fix the speed of pasting rxvt's selection to motif, xew or tk.
	Finally! reasonable pasting speed to these applications.

    6.	patches by Gregory Margo <gmargo@newton.vip.best.com>
	for xterm-style proportional scrollbar behaviour:
		If pointer is near top, scroll one line.
		If pointer is near bottom, scroll full page.
	refreshPeriod resource and -refresh option ... still wishing
	for faster screen refreshing.

    7.	Bug fix for partial matches (FAKE_RESOURCES).  In addition to
	resources for resource name `rxvt', also get resources for class
	name `XTerm' as well.  Remove checking for `command' resource since
	it's not found in xterm nor was there any code in place to parse the
	command arguments ... better just to use the command-line -e option.
	Replace `fontList' with font1, font2, ... etc. for better xterm
	compatibility and for ease of configuration.  Changed processing of
	string resources and command-line string options to avoid allocating
	redundant memory.

    8.	Previously selected region is now properly cleared when Button1 is
	pressed.  Still have problems with click-and-drag when Mod1 or Shift
	is used to override mouse reporting -- argh!  Until someone gets
	this properly patched, use Button1 followed by Button3 (to extend
	region) in these instances.

    9.	Understands ANSI set default fg/bg colour (\E[39m / \E[49m)

   10.	In the screen accounting used in screen.c, use a '\n' to terminate
	wrapped lines instead of '\0'.  This should avoid mouse selection of
	wrapped lines from including a bogus newline.  No known
	side-effects, but changes isolated by #define NEW_WRAPTYPE.

2.11 to 2.12
\-----------
    1.	Extra functionality for XTerm mouse report mode.  If mouse reporting
	is enabled (the application will handle mouse events) the normal
	scrollbar operation is disabled -- instead rxvt sends UP/DOWN for
	the arrow buttons and PageUp/PageDown when Button1 or Button3 are
	clicked on the scrollbar.  Use Mod1 (Alt) key to get the normal
	scrollbar/arrow button actions and also to get the normal selection
	functions -- so that you can still cut/paste between X applications.

    2.	New colour possibilities -- 16 colours.  Instead of using fatter
	characters, a bold attribute now uses a brighter foreground colour.
	Similarly, a blink attribute will use a brighter background colour.
	It is also possible to choose these colours through the resources
	(color0 -- color7) permit specification of the ANSI colours (black,
	red, green, yellow, blue, magenta, cyan, white), the resources
	(color10 -- color17) are the brighter bold/blink equivalents.
	Define USE_FAKE_BOLD to disable.

    3.	Extensive clean-up of source and headers to separate
	interdependencies, remove unused variables.  Introduced static
	variables wherever possible to limit scoping and reduced the number
	of external variables.

    4.	Allow NumLock to toggle on/off the application keypad.

	Backspace sends '\b', Ctrl-Backspace sends '\177'.
	Define BACKSPACE_AS_DELETE to reverse these values or use the
	escape sequence:

		ESC [ 36 h		Backspace key sends BS
		ESC [ 36 l		Backspace key sends DEL

	XK_End used to send "\033Ow", which is identical to XK_KP_7 and
	confuses EDT-type editors. Now,
	Home = "\033[7~"
	End  = "\033[8~"

	Changed Alert & Secure keys from Alt-i & Alt-s to Alt-I & Alt-S so
	they aren't so easily toggled.

    5.	Extra keystroke info.  Pass Control and Shift indicators for
	function keys (similar to the XJed editor)
	eg,
		F1	= ESC [11~
		C-F1	= ESC [11^
		S-F1	= ESC [11$

	also, pass indication of shift status for arrow-keys
	eg,
		Up, Down, Right, Left
		  = ESC [A, ESC [B, ESC [C, ESC [D
		S-Up, S-Down, S-Right, S-Left
		  = ESC [a, ESC [b, ESC [c, ESC [d

	You wouldn't be able to use these keys for termcap/terminfo
	applications, but the key sequences are available for remapping
	within an application.

    6.	Added configure.h which is included by each source file and by the
	Imakefile.  Common compilation defines are now all contained in
	configure.h with minor system defines remaining in Imakefile --
	makes it much easier to configure.  Used XCOMM macro in Imakefile so
	that it actually works.  Also added defaults.h for defining
	user-specific startup defaults.

    7.	Added rxvt.ref to provide documentation of the various terminal
	sequences that are processed.  Updated man page to reflect changes.

    8.	Use xterm-style -/+ to turn on/off options, rationalized resource
	names to more closely resemble xterm.

		Option			Resource
		-help			-
		-display displayname	-
		-geometry geom		geometry:
		-bg color		background:
		-fg color		foreground:
          	-color<n> color		color<n>: <string>
					where <n> = [0-7], 1[0-7]
		-fn fontname		font: <string>
		-fontList names		fontList: <string> <string> ...
		-name string		-
		-/+ls			loginShell: True/False
		-/+ma			mapAlert: True/False
		-/+vb			visualBell: True/False
		-/+sb			scrollbar: True/False
		-/+arrows		scrollbar: Arrows/True/False
		-ic			-
		-meta8			meta: 8bit
		-/+meta			meta: True/False
		-sl number		saveLines: <num>
		-grk4			-
		-grk9			-
		-print-pipe name	pipe-pipe: <string>
		-e command arg ...	command: <string>
		-T string		title: <string>
		-n string		iconName: <string>
		-C			-
		-/+7                    bits: 7/8
		-secure keysym		secure_key: <string>
		-pageup keysym		pageup_key: <string>
		-pagedown keysym	pagedown_key: <string>
		-bigfont keysym		bigfont_key: <string>
		-smallfont keysym	smallfont_key: <string>
		-prkey keysym		printscreen_key: <string>
          				greektoggle_key: <string>
          				cutchars: <string>

    9.	Fixed Button actions for XTerm-style scrollbar so that Button1 and
	Button3 do different things as they are supposed to.  Replace -/+fat
	with -/+sb and -/+arrows for more consistency with XTerm. Decreased
	width of `fat' scrollbar (make closer to xterm) and increased width
	of `thin' scrollbar (arrows too small) -- they are now the same
	width.  Also made it possible to remove the scrollbar altogether.
	Added a visual bell.

	Added many more defines to further reduce code size for various
	cases, see "configure.h".  It is also possible to alter settings in
	"defaults.h" for configuration options that will only affect
	screen.c and xsetup.c, this should help with compile-time
	customization for those who don't want to use Xdefaults.

	Added the define REPLACE_SELECTION_NEWLINE to make the substitution
	of newlines with carriage returns for selection pasting a
	compile-time option.

   10.	Fixed the graphics samples so that if you want to it's actually
	possible to compile them.  Added -name command-line option so that
	it's possible to select different sets of resources.

   11.  Integrated initial support for X11 mouse reporting and added
	Shift + Function Keys support.

2.10 to 2.11
    1.	If NEW_COLOR_MODEL is defined in screen.c, the new model I described
	in an earlier email is used. (apparantly there are two, slightly
	differnt models for using color extensions in a vt-compatible
	terminal. This flag lets you switch.

    2.	If XTERM_MOUSE_REPORT is defined in command.c, mouse reporting is
	turned on/off via the appropriate escape sequences.  XTerm already
	provides this support.

    3.	If .Xdefaults does not exist, .Xresources is searched for.  It seems
	that many here use .Xresources.

2.09 to 2.10
    1.	Really fixed the color problem (?) Got color-ls, and it works now.
    2.	Added patch to allow run-time selection of font list.


---[end]---




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSI.3.95.960717153158.24557C-100000>