171 lines
7.9 KiB
HTML
171 lines
7.9 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
|
|
<html> <head>
|
|
<title>RXVT and Slang Applications</title>
|
|
</head>
|
|
|
|
<body BGCOLOR="#ffefd5" TEXT="#483d8b">
|
|
<H4>
|
|
"Linux Gazette...<I>making Linux just a little more fun!</I>
|
|
"</H4>
|
|
|
|
<P> <HR> <P>
|
|
<!--===================================================================-->
|
|
|
|
<center><h1>Slang Applications for Linux</h1></center>
|
|
|
|
<center><h4><a href="mailto: layers@vax2.rainis.net">by Larry
|
|
Ayers</a></h4></center>
|
|
|
|
<center>Copyright (c) 1996</center><BR>
|
|
|
|
<center><H5>Published in Issue 12 of the Linux Gazette</H5></center>
|
|
|
|
<hr>
|
|
<center><h3>Introduction</h3></center>
|
|
|
|
<p>John E. Davis of the Center for Space Research at MIT has written an
|
|
interpreted programming language called Slang, which has a C-like syntax. He
|
|
has written several programs using this language, including the slrn
|
|
newsreader and the emacs-like Jed editor. Lately a few other programmers have
|
|
begun to make use of Slang; one reason for this is that Slang allows the use
|
|
of color in a text-mode program which will display equally well in an rxvt
|
|
window under X.
|
|
|
|
<p>Applications which are linked with the Slang library always seem to be
|
|
text-mode programs. Typically Linux text-mode applications use the ncurses
|
|
library to handle screen display. Ncurses enables the use of menus, a certain
|
|
amount of color, and a more complex screen layout. These traits don't always
|
|
translate well into an X-Windows environment; i.e. running in an xterm or rxvt
|
|
window. If an application is linked with the Slang library instead its
|
|
behavior is more consistent between the console and X sessions, especially
|
|
when started from an rxvt window.
|
|
|
|
<hr>
|
|
|
|
<center><h3>An Aside Concerning Rxvt and Xterm</h3></center>
|
|
|
|
<p>I get the impression that the xterm terminal emulator is used more commonly
|
|
than rxvt, though this may be due more to tradition than innate
|
|
superiority. Rxvt has been revised several times recently and in its current
|
|
form (version 2.19) has much to recommend it. One feature which I appreciate
|
|
is that it's memory usage is much lower than that of xterm. Rxvt handles
|
|
color requests well, both background/foreground specifications and
|
|
extension-specific colorization such as "color-ls". The most recent version
|
|
even allows the use of Xpm images as background, similar to a web-page, though
|
|
as with a web-page a background image would have to be carefully chosen so as
|
|
not to obscure the text.
|
|
|
|
<p>Some xterm variants make use of color, but some don't. I find the
|
|
plenitude of xterms and color-xterms rather confusing; it's hard to tell just
|
|
which ones you have, and they vary from distribution to distribution. Then
|
|
there is xterm's Tektronix compatibility, which I've never seen a use for.
|
|
Reading the xterm man page I get the impression that xterm was developed for
|
|
older mainframe-and-terminal systems.
|
|
|
|
<hr>
|
|
|
|
<center><h3>Applications Which Use Slang</h3></center>
|
|
|
|
<ol>
|
|
<li><b>Slrn</b> is a fast, high quality news-reader which supports threading of
|
|
messages, decoding of MIME attachments, and has the ability to tell a
|
|
web-browser to load a URL contained within a message. It has many
|
|
other features and options; it is one of John Davis's programs and he
|
|
actively supports it in the newsgroup <i>news.software.readers</i>.
|
|
<li><b>Lynx</b>, the text-mode web-browser, looks less archaic when compiled with
|
|
Slang support. If you can't see the images on a page, at least the text
|
|
elements and background can be nicely colored!
|
|
<li><b>Jed</b>, John Davis's emacs-like editor, is surprisingly capable considering
|
|
it is a fraction of the size of any real emacs. If you've ever hesitated
|
|
to start up Gnu Emacs or Xemacs just to read an info page, try Jed; it
|
|
reads them just as well and is quicker to invoke. Jed has
|
|
syntax-highlighting for a variety of file types.
|
|
<li><b>The Midnight Commander</b>, the exemplary text-mode file-manager, now
|
|
includes enough of the Slang files in its source distribution to compile
|
|
with Slang screen management without Slang libraries on your
|
|
system. Slang is the default in recent versions of MC and the two are
|
|
well-matched.
|
|
<li><b>Minicom</b> is available in a binary, Slang-enabled version at
|
|
ftp://sunsite.unc.edu. Color really makes this classic comm program
|
|
more usable, especially in an rxvt window.
|
|
<li>The <b>Mutt</b> mail program is an interesting offshoot of Elm development
|
|
which is well on its way toward becoming an alternative to Pine and Elm.
|
|
Slang is listed as an alternative to ncurses in the pre-compilation
|
|
configure script options, but I can't say how well it works as it will
|
|
only successfully compile with ncurses on my system.
|
|
<li><b>Dosemu</b>, though still dubbed an alpha version by the development
|
|
team, is remarkably stable and useful. Recently I compiled the latest
|
|
version (I had been using an old RPM version) and was surprised to see
|
|
that the configure script looks for the Slang library. After the
|
|
compilation I ran <i>ldd</i> against the <i>dos</i> binary and found
|
|
that it is dynamically linked with the Slang library. Interesting! I
|
|
looked through the source code and docs to see if there was any
|
|
information on Dosemu's use of Slang, but finally gave up. You could
|
|
spend days wandering around the Byzantine directory hierarchy of Dosemu!
|
|
|
|
</ol>
|
|
|
|
<hr>
|
|
|
|
<p>I'm sure as the benefits of Slang become more widely known we shall see
|
|
more text-mode applications with Slang support included. There very well be
|
|
others than the above-listed out there; these are just the ones I've run
|
|
across.
|
|
|
|
<hr>
|
|
|
|
<center><h3>Availability</h3></center>
|
|
|
|
<p>Precompiled binaries for slrn, lynx, and the Jed editor (with Slang
|
|
statically linked, I assume) are available at ftp://sunsite.unc.edu and its
|
|
mirrors . I used these for some time, but recently I obtained the source for
|
|
Slang and compiled a shared library. The advantage of this approach is that
|
|
you can compile binaries which dynamically link the Slang library at runtime.
|
|
Your executables will be smaller, and one shared library can service any
|
|
number of Slang-using applications. Another advantage to obtaining the source
|
|
distributions is that you'll end up with more documentation.
|
|
|
|
<p>John E. Davis's creations (slrn, Jed, and the Slang sources) are available
|
|
at <a href="ftp://space.mit.edu/pub/davis/">their MIT home site</a>. The most
|
|
recent versions, as well as beta versions, can be found there.
|
|
|
|
<p><a href="ftp://ftp.nuclecu.unam.mx/linux/local/">This Mexican site</a> is
|
|
the source for the most recent versions of the Midnight Commander, as well as
|
|
rxvt.
|
|
|
|
<p>Beta versions (which seem stable to me) of Michael Elkins' Mutt mail
|
|
program are available from <a href="ftp://cs.hnc.edu/pub/me">this FTP
|
|
site.</a> Maybe <i>you</i> can get it to compile with Slang!
|
|
|
|
<p>Lynx binaries with Slang support can be found at sunsite and its mirrors.
|
|
|
|
<p>The source for the latest and greatest of the Dosemu releases can be found
|
|
at the <a href="ftp://tsx-11.mit.edu/pub/linux/ALPHA/dosemu">tsx-11</a> FTP
|
|
site. (Version 0.64.1 was released in November).
|
|
|
|
<hr>
|
|
|
|
<p>If you're like me and work at the console often, you'll find it's nice to
|
|
have applications available which work well (and look good!) in an X session
|
|
too. I think you will be pleased with the high quality and low memory
|
|
usage of the above-listed apps.
|
|
|
|
<hr>
|
|
|
|
<address><a href="http://vax2.rain.gen.mo.us/~layers/">Larry Ayers<layers@vax2.rain.gen.mo.us></a></address>
|
|
<!-- hhmts start -->
|
|
Last modified: Thu Nov 21 13:43:51 CST 1996
|
|
<!-- hhmts end -->
|
|
|
|
<!--===================================================================-->
|
|
<P> <hr> <P>
|
|
<A HREF="./index.html"><IMG ALIGN=BOTTOM SRC="../gx/indexnew.gif"
|
|
ALT="[ TABLE OF CONTENTS ]"></A>
|
|
<A HREF="../index.html"><IMG ALIGN=BOTTOM SRC="../gx/homenew.gif"
|
|
ALT="[ FRONT PAGE ]"></A>
|
|
<A HREF="./savage.html"><IMG SRC="../gx/back2.gif"
|
|
ALT=" Back "></A>
|
|
<A HREF="updates.html"><IMG SRC="../gx/fwd.gif" ALT=" Next "></A>
|
|
<P> <hr> <P>
|
|
</body> </html>
|