old-www/LDP/LG/issue12/slang.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>
&quot;Linux Gazette...<I>making Linux just a little more fun!</I>
&quot;</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&lt;layers@vax2.rain.gen.mo.us&gt;</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>