Ads are created by, and assumed to be the property of, Google.

Aleph 0 Computing: RXVT-max

This page is no longer being updated. Please visit Aleph 0 Computing for information on current projects.

Intro

This is a patch which allows the Cygwin RXVT (native version) window to be started maximized without a foreground-colored border around the used part of the terminal.

Normally, if the terminal size (given by the -geometry parameter to RXVT or in the geometry resource in .Xdefaults) is different than the starting window size, RXVT colors the unused portion the same as the foreground color. This is helpful in determining the best size to make a terminal, but ugly once that size has been determined, since most fonts will not fit the window perfectly.

For a full-screen terminal, the common workarounds are to set the geometry as accurately as possible (which results in a slight waste of screen real estate) and/or to manually maximize the window instead of starting it maximized (which is just annoying). This patch allows maximized startup without the border. This patch also allows some new applications, such as starting a terminal with margins (i.e., an invisible border).

Please note: This patch is for version 2.7.10-6 of Cygwin's RXVT; this is not likely the current version of the program. I don't use Cygwin any more, but I am happy to leave this version posted here. It's likely this patch or a derivation thereof will apply to correct this problem in the current version; try it out if you like, and if you make a newer version, email me—I'll be happy to post a link to it here.

Instructions for the clueful

  1. RXVT source: Cygwin setup.exe or http://www.aleph0.com/computing/rxvt-max/rxvt-2.7.10-6-src.tar.bz21
  2. Patch: http://www.aleph0.com/computing/rxvt-max/rxvt-max-2.7.10-6.diff2
  3. Unpack RXVT to /usr/src, copy patch to /usr/src, cd /usr/src/rxvt, and patch -p1 < ../rxvt-max-2.7.10-6.diff
  4. Configure and build as in /usr/share/doc/Cygwin/rxvt-2.7.10.README; cp src/rxvt.exe /usr/bin/rxvt-max.exe.
  5. DOS batch file command:
    start /max /b c:\cygwin\bin\rxvt-max.exe -geometry <termsize> -e /bin/bash --login -i
    

Instructions for the clueless

  1. First, download the Cygwin RXVT source. It is available using the Cygwin setup.exe program or from http://www.aleph0.com/computing/rxvt-max/rxvt-2.7.10-6-src.tar.bz2.1
  2. Also download the patch file: http://www.aleph0.com/linux/cygwin/src/rxvt-max-2.7.10-6.diff.2
  3. In a Cygwin session, change to the directory to which you downloaded these packages, and unpack:
    tar xjf rxvt-2.7.10-6-src.tar.bz2
    
    (If you downloaded the source with setup.exe, it may already be unpacked in /usr/src/rxvt; in that case, copy the patch file to /usr/src and change to the /usr/src directory.)
  4. Apply the patch:
    cd rxvt
    patch -p1 < ../rxvt-max-2.7.10-6.diff
    
  5. And configure and build (these are the same configure options given in /usr/share/doc/Cygwin/rxvt-2.7.10.README if you already have RXVT installed on your system):
    ./configure --enable-utmp --enable-wtmp \
    	--enable-lastlog --enable-xpm-background \
    	--enable-menubar --enable-rxvt-scroll \
    	--enable-next-scroll --enable-xterm-scroll \
    	--enable-frills --enable-linespace \
    	--enable-mousewheel --enable-keepscrolling \
    	--enable-old-selection --enable-transparency \
    	--with-xpm-includes=`pwd`/W11/X11 \
    	--with-xpm-library=`pwd`/W11/lib \
    	--x-libraries=`pwd`/W11/lib \
    	--enable-languages --with-encoding=noenc \
    	CFLAGS="-O -g -W -I`pwd`/W11" \
    	LDFLAGS="-mwindows -Wl,--subsystem,console" \
    	DLIB=`pwd`/W11/wrap/rxvt_res.o && \
    	sed -i 's%\(#define HAVE_STRUCT_UTMPX.*\)%/* \1 */%' \
    	config.h && \
    	make
    
  6. At this point, it is possible to do a make install. However, if you already have rxvt installed on your system, I recommend simply copying the new rxvt.exe to /usr/bin/rxvt-max.exe:
    cp src/rxvt.exe /usr/bin/rxvt-max.exe
    
  7. Make a simple DOS batch file term.bat with the contents:
    @echo off
    start /max /b c:\cygwin\bin\rxvt-max.exe -geometry <termsize> -e /bin/bash --login -i
    
    where <termsize> is an X/rxvt geometry string. You can, of course, modify c:\cygwin\cygwin.bat to run this instead of the current bash line, if you like. You'll probably want to read the /usr/share/doc/Cygwin/rxvt-2.7.10.README for more information on choosing a proper font to go with your new prettier full-screen terminal.
  1. RXVT is released under the GNU General Public License; it is not in the public domain, but is rather copyrighted. The source, in accordance with the GPL, is redistributed here unchanged.
  2. This patch to RXVT may constitute a “derived work” of RXVT, and as such is released under the GNU General Public License; it is not in the public domain, but is rather copyrighted. It is freely redistributable.