2328 lines
82 KiB
HTML
2328 lines
82 KiB
HTML
<HTML>
|
|
|
|
<HEAD>
|
|
<TITLE>Linux Gazette September, 1995</TITLE>
|
|
</HEAD>
|
|
|
|
|
|
<BODY>
|
|
|
|
<H1><IMG ALIGN=MIDDLE SRC="./gx/homeboy_icon.gif">Linux Gazette September, 1995
|
|
</H1>
|
|
|
|
<H2>A Publication of the Linux HomeBoy WebPage Series</H2>
|
|
<H4>"The Linux Gazette...<I>making Linux just a little more fun...!</I>"
|
|
</H4>
|
|
|
|
<H5>
|
|
Copyright (c) 1995 John M. Fisk <I>fiskjm@ctrvax.vanderbilt.edu</I><BR><BR>
|
|
The LINUX GAZETTE is now a member of the LINUX DOCUMENTATION PROJECT.<BR>
|
|
For information regarding copying and distribution of this material see the
|
|
<A HREF="./copying.html">COPYING</A> document.<BR>
|
|
Linux Home Boy Pages logo created using <EM>David Koblas'</EM> excellent
|
|
program XPAINT 2.1.1
|
|
</H5>
|
|
|
|
<HR>
|
|
|
|
<H3>Welcome to the September edition of the <B>Linux Gazette !</B></H3>
|
|
|
|
<P>
|
|
Well, as you may have noticed, I've done a little bit of sprucing up around here.
|
|
In the interest of good <EM>net_person_ship</EM> I dropped the big .gif's in favor
|
|
of more modest sized icons. It <B>really</B> wads my shorts to do a bit of surfin'
|
|
and try loading up some graphics-bloated techno-wannabee webpage only to discover
|
|
after 5 minutes of loading up 170KB of graphics that there's <B>ABSOLUTELY NOTHING
|
|
</B> of substance there... just some self-congratulatory pointer to the next
|
|
bloated nothin'-burger vapor-page!
|
|
|
|
<P>
|
|
Arghhh...
|
|
|
|
<P>
|
|
And so, in the interests of more substance I did a bit of drawing using <B>Dave
|
|
Koblas'</B> excellent graphics program <B>XPaint 2.1.1</B> and sketched out a more
|
|
ecologically sound .gif image. Man, I felt kinda good about it... made me want to
|
|
go out and do something <EM>green</EM> like hug a whale or chain myself to a tree
|
|
somewhere :-)
|
|
|
|
<P>
|
|
(and no offense to the Mother-Earth-News-y kind of folks who do that stuff...)
|
|
|
|
<P>
|
|
Anyway, if you grew fond of the previous logo... sorry man, it's GHANDI! Also,
|
|
I wanted to write up a <EM>Quick-FAQ</EM> to answer a couple questions:
|
|
|
|
<H3>Linux Gazette <EM>Quick-FAQ</EM></H3>
|
|
|
|
<DL>
|
|
|
|
<DT><B>Are you planning to make an archived (tar-gzipped) version of the Gazette
|
|
available via anonymous FTP?</B>
|
|
|
|
<DD>Not at the present. I've been getting a fairly steady stream of mail
|
|
about the Gazette and only about 1 in 10 actually asked about this. I
|
|
really can't ask the kind folks at Tennessee CommNet to set up anonymous
|
|
FTP given the few responses I've gotten.
|
|
|
|
<P>
|
|
<B>BUT!!</B> don't fret! I've included a section on how to use your
|
|
trustly ol' browser to do this for you...
|
|
|
|
<P>
|
|
|
|
<DT><B>Are you planning to continue to make each of these issues available?</B>
|
|
|
|
<DD>Yup! The Gazette has turned into a huge amount of fun and I'm planning to
|
|
make every effort to continue to make it available in its entirety.
|
|
|
|
<P>
|
|
|
|
<DT><B>How often are you planning to post new editions?</B>
|
|
|
|
<DD>Well... about as often as I can :-)
|
|
|
|
<P>
|
|
I just started school once again and so, depending upon the semester and the
|
|
coursework, I'm trying to get them out about once a month.
|
|
|
|
<P>
|
|
|
|
<DT><B>So... how do I know when a new edition comes out?</B>
|
|
|
|
<DD>In August, I posted a notice to the <B>comp.os.linux.setup</B> newsgroup.
|
|
I think a number of you ran across this and found your way here. I'll continue
|
|
to post announcements about this in one of the newsgroups.
|
|
|
|
<P>
|
|
|
|
<DT><B>If I write something, will you put it in the Gazette?</B>
|
|
|
|
<DD>Hey! is the Pope catholic!?
|
|
|
|
<P>
|
|
You bet! If anyone has any ideas, suggestions, or tips I'd be happy to include
|
|
them. A number of you have already written with suggestions and I've tried to
|
|
include them where appropriate.
|
|
|
|
<P>
|
|
So, what would be helpful? Anything!
|
|
|
|
<P>
|
|
If you've run across something you think is pretty cool -- a great web site,
|
|
an awesome piece of software, a groovy (hmmm... I thought <EM>groovy</EM> died
|
|
out in 1969...) UNIX trick (and you couldn't convince Dave Letterman to let you
|
|
air it on latenight TV...) -- drop me a note!
|
|
|
|
<P>
|
|
Which leads me to a final point...
|
|
|
|
<P>
|
|
|
|
<DT><B>So what's the big idea behind the Linux Gazette?</B>
|
|
|
|
<DD>The whole idea is pretty simple...
|
|
|
|
<P>
|
|
Make LINUX just a <EM>bit</EM> more fun...
|
|
|
|
<P>
|
|
I've been running Linux now for about a year or so and it's been a HUGE amount
|
|
of fun. But it took a bit of reading and digging to start understanding what
|
|
it was all about. Pretty soon, I made this profound discovery:
|
|
|
|
<P>
|
|
<B>KNOWLEDGE = FUN</B>
|
|
|
|
<P>
|
|
Pretty simple, eh?
|
|
|
|
<P>
|
|
And so, that's what this is all about. Trying to share ideas and discoveries
|
|
so that you can start making LINUX do all those great things that you've wanted
|
|
it to do. Which is why I <B>really</B> appreciate all the notes and ideas.
|
|
|
|
</DL>
|
|
|
|
<H3>So what's in store for this issue?</H3>
|
|
|
|
<P>
|
|
Well, as promised in the last issue, this one's got a lot of ideas for fixin' up
|
|
and tinkering with <B>X Window</B> and, specificially, <B>FVWM</B> which is one
|
|
<EM>cool hombre</EM> of a window manager and the one that is generally installed
|
|
with Slackware, for all of us Slackware fans.
|
|
|
|
<P>
|
|
I've also thrown in a <B>new section</B> called <B>Quick Tips</B> which are, just
|
|
as the name implies...
|
|
|
|
<P>
|
|
Finally, since there were a few of you that DID ask about getting a copy of the
|
|
Linux Gazette, either in HTML or ASCII format, I've included a section on how to
|
|
do this for yourself...
|
|
|
|
<P>
|
|
sort of along the lines of "give a man a fish -- feed him for a day, teach a
|
|
man to fish..."
|
|
|
|
<P>
|
|
Anyway, it's pretty easy to do and very helpful if you come across something you
|
|
want to have a hardcopy of.
|
|
|
|
<P>
|
|
And so... Enjoy!
|
|
|
|
<HR>
|
|
|
|
|
|
<H2><A NAME="toc">Table of Contents</A></H2>
|
|
<H3>Topics in this <EM></EM> issue include:</H3>
|
|
|
|
<UL>
|
|
<LI><A HREF="#mail">Salutations and the MailBag</A>
|
|
<LI><A HREF="#saving">Saving WWWeb documents for posterity!</A>
|
|
<LI><A HREF="#tips">Some great 2¢ Tips...</A>
|
|
<LI><A HREF="#fvwm">Introducing FVWM!</A>
|
|
<LI><A HREF="#fvwm_start">FVWM: Getting stuff going...</A>
|
|
<LI><A HREF="#fvwm_menus">FVWM: Adding programs to the Popup Menus</A>
|
|
<LI><A HREF="#fvwm_virtual">FVWM: Managing the Virtual Desktop</A>
|
|
<LI><A HREF="#fvwm_quicktips">FVWM: Quick Tips!</A>
|
|
<LI><A HREF="#xfmail">Product Testimonial: XFMail for Sendmail-less mail!</A>
|
|
<LI><A HREF="#colophon">Colophon</A>
|
|
</UL>
|
|
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 1 -->
|
|
<!-- -->
|
|
<H2><A NAME="mail"><IMG ALIGN=MIDDLE SRC="../gx/mail.gif">Salutations and the
|
|
MailBag </A></H2>
|
|
|
|
<P>
|
|
Well, once again, I really want to thank the number of people who've dropped me
|
|
a note. I've tried hard to answer as many of these as I could personally. I wanted
|
|
to share a couple of these.
|
|
|
|
<P>
|
|
<IMG ALIGN=BOTTOM SRC="../gx/letter.gif"><B> Justin Gaither</B> wrote:
|
|
|
|
<P>
|
|
John, <BR>
|
|
Just found you. Looks great. I plan to be an avid reader.<BR>
|
|
two questions:<BR>
|
|
Do you plan to continue free access? or will it go the way of Linux Journal?<BR>
|
|
Where is the Sept issue?<BR><BR>
|
|
|
|
Thanks again, <BR><BR>
|
|
|
|
Justin Gaither
|
|
|
|
<P>
|
|
|
|
<H4>[Ed. Appreciate the compliment and the answers are yes, no, and right here!
|
|
The Linux Gazette is
|
|
strictly a personal project and meant to provide information to the Linux community
|
|
as a whole. This is admittedly geared towards the newbie/novice home Linux user
|
|
on a PC, but the information should be valid for all and will continue to be made
|
|
available to all.]</H4>
|
|
|
|
<P>
|
|
<IMG ALIGN=BOTTOM SRC="../gx/letter.gif">This very <I>practical</I> piece of advice
|
|
came from <B>Stephen Brown</B>:
|
|
|
|
<P>
|
|
Great stuff. I was running Linux for several months (and will be again shortly), and I always
|
|
wondered about that stupid motd thing. I was considering calling an exorcist, but deleted
|
|
Linux instead (that was not the reason...honest (g).
|
|
|
|
<P>
|
|
Anyway, here's a suggestion. Put your most recent issue at the top of the main page. For
|
|
example, list your issues like this:<BR><BR>
|
|
|
|
September 1995<BR>
|
|
August 1995<BR>
|
|
July 1995<BR>
|
|
|
|
<P>
|
|
This makes it more intuitive I think. Just an idea. Keep up the good work though. I'll
|
|
definitely be coming back.
|
|
|
|
<P>
|
|
-- Stephen<BR>
|
|
-- sbrown@unf6.cis.unf.edu
|
|
|
|
<H4>[Ed. This is <I>definitely</I> one of those " why didn't I think of that
|
|
" suggestions ;-). Thanks for pointing out the truly obvious. It's now
|
|
fixed!]</H4>
|
|
|
|
<P>
|
|
<IMG ALIGN=BOTTOM SRC="../gx/letter.gif">For all you gaming advocates out there,
|
|
<B>Mark <enry@pebkac.tech-link.com></B> wrote:
|
|
|
|
<P>
|
|
I read your 'Linux toys' section and noted a lack of games.
|
|
One suggestion I have is for a game called abuse. It's a
|
|
platform-type game (unlike DOOM), but the graphics, sound,
|
|
and speed are quite impressive. Available in both X and
|
|
SVGALIB formats, it can be found at sunsite or its mirrors
|
|
at: /pub/Linux/games/video/linux-abuse.0.3.2.tar.gz
|
|
(BTW, it's a 2MB file - and portions of the game are written
|
|
in Lisp)
|
|
|
|
<P>
|
|
Enjoy and keep up the good work!
|
|
|
|
<H4>[Ed. Mark is very right... I started working on the Linux ToyBox over this
|
|
past summer and tried to find ftp'able links to a lot of what I had found to be
|
|
really nice software. Since I hadn't had much time for anything more than an
|
|
occasional game of Tetris, the games section is pretty sparce. I am VERY much
|
|
indebted to those of you, like Mark, that write to call my attention to some
|
|
useful and well-written piece of software. I haven't had the time this month
|
|
to update the other Home Boy pages... this will have to wait for a little bit
|
|
but should be done before too long. Again, THANKS!]</H4>
|
|
|
|
<P>
|
|
I'd like to reiterate that I truly appreciate folks taking the time to write
|
|
a note, especially those with ideas and suggestions. I've found that there's
|
|
a LOT of really great ideas written up in the various <B>comp.os.linux</B>
|
|
newsgroups and that new software for the Linux, and other flavors of PC UN*X,
|
|
system comes out almost daily.
|
|
|
|
<P>
|
|
I've tried to make the Gazette one more means of disseminating this information
|
|
to the Linux Community. Feelin' kinda patriotic about it...? Go ahead! drop
|
|
a note and add your ideas and suggestions... then go celebrate and burn a couple
|
|
Windows disks! You'll feel much better about yourself ;-)
|
|
|
|
<P>
|
|
Anyway, enjoy!
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 2 -->
|
|
<!-- -->
|
|
<H2><A NAME="saving"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">Saving WWWeb documents for
|
|
posterity!</A></H2>
|
|
|
|
<P>
|
|
[<B>Caveat!</B> This is NOT meant to insult anyone's intelligence! Honest. I've
|
|
simply included it this month since I can't offer a downloadable version of the
|
|
Linux Gazette and there have been a few folks who wanted to know how they could
|
|
get a copy of it to set up on their machines at home. Since there's generally
|
|
little harm in <B>stating the obvious</B>, I'll proceed...]
|
|
|
|
<P>
|
|
Well, as promised, here's a short section on how to save a hardcopy of all those
|
|
cool and nifty web sites you've recently been visiting. You know... like the 'ol
|
|
Linux Gazette :-)
|
|
|
|
<P>
|
|
This is <EM>too</EM> easy and once you know how, you can fill up your HD with all
|
|
kinds of great stuff that you've scavenged from the 'Net. You see, the two most
|
|
popular browsers around -- <B>Mosaic</B>, and all of its children, and <B>Netscape</B>
|
|
both easily save HTML documents to disk in one of three formats:
|
|
|
|
<UL>
|
|
<LI>source (<EM>i.e.,</EM> as HTML)
|
|
<LI>postscript format which, BTW, includes the graphics
|
|
<LI>and plain text with the HTML tags removed
|
|
</UL>
|
|
|
|
<P>
|
|
This makes saving stuff <B>very</B> easy to do. You simply load up the document
|
|
that you're interested in... say... the current edition of the Linux Gazette, and
|
|
then you click on the <B>FILE</B> menu, which then offers to let you do a
|
|
<B>save as...</B>. That's the baby you'll want.
|
|
|
|
<P>
|
|
Now, you'll be given the choice of formats in which to save the document. If you
|
|
want to browse it later on using a Web browser, save it as <EM>source</EM>. If
|
|
you've got LOTS of harddrive real estate and a PostScript printer (what are
|
|
<EM>YOU</EM> doing with a PostScript printer!) or have <B>ghostscript</B> up and
|
|
running and your printer has enough memory to print at a decent resolution
|
|
(remember, to print at 300 dpi you'll need at least 1.5MB of printer memory if
|
|
you're planning to use use ghostscript) then save the document as <EM>postscript</EM>.
|
|
And finally, if you want a plain 'ol text version that you can look at or print up
|
|
later on, simply save the file as <EM>text</EM>.
|
|
|
|
<P>
|
|
Pretty easy, eh?
|
|
|
|
<P>
|
|
Well, that's not all yet!
|
|
|
|
<P>
|
|
If you're using Netscape you have another small, but too-way-cool trick up your
|
|
sleeve. You can also <B>save the images as well!</B> To do this, just click on
|
|
an image using the RIGHT mouse button. A pop-up menu appears and down at the
|
|
bottom of the menu you'll see the choice:
|
|
|
|
<PRE>
|
|
Save this image as...
|
|
</PRE>
|
|
|
|
<P>
|
|
Bingo! That's what you'll want. If you use the default name, it will be the same
|
|
as the one in the HTML source.
|
|
|
|
<P>
|
|
Ah ha! you say...
|
|
|
|
<P>
|
|
Yup, you got it... you can save the document as a source file and then save the
|
|
images to disk and <EM>voila!</EM>... instant full text and inline image laden
|
|
document browsable in the comfort of your own home even when you're not connected.
|
|
|
|
<P>
|
|
Cool, eh?
|
|
|
|
<P>
|
|
So, want to practice? OK, go ahead and save this file and then go through and
|
|
save all those itsy-bitsy .GIF images and you'll have your own copy. I'll tell
|
|
you, too, that I've set up the files so that the source HTML documents are in
|
|
one directory (fiskhtml) and the images and miscellaneous stuff each are in
|
|
their own directories at the same level:
|
|
|
|
<P>
|
|
Like this:
|
|
|
|
<UL>
|
|
<LI>parent directory
|
|
<UL>
|
|
<LI>fiskhtml -- put *.html files here
|
|
<LI>gx -- put *.gif and *.jpg files here
|
|
<LI>misc -- put miscellaneous stuff here
|
|
</UL>
|
|
</UL>
|
|
|
|
<P>
|
|
So, if you want to set up a repository of Gazette files, simply make three
|
|
directories -- fiskhtml, gx, and misc -- and then put *.html in the fiskhtml (or
|
|
whatever you want to call it) directory, *.GIF's in the gx directory, and all
|
|
the rest of the stuff in the misc directory. That way, all the images will
|
|
load up without your having to edit the source file.
|
|
|
|
<P>
|
|
That should help the majority of you! Now, for the few of you using <B>Lynx</B>
|
|
I'm afraid I'm not going to be much help. I do have Lynx on my system and I've
|
|
used it a bit. I can't say that I'm enamoured with it. It will save documents
|
|
to disk, but so far, I've not had much success getting it to work reliably for
|
|
me. I installed a precompiled binary with the config files. The documentation
|
|
was a bit scant and so I haven't used it much.
|
|
|
|
<P>
|
|
So... if there are any Lynx users out there, drop me a note and let me know how
|
|
things are going!
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 3 -->
|
|
<!-- -->
|
|
<H2><A NAME="tips"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">Some great 2¢ Tips!
|
|
</A></H2>
|
|
|
|
<P>
|
|
Well, as the name implies, this is a selection of <EM>quick tips</EM> which
|
|
are fast and easy try out.
|
|
|
|
<P>
|
|
As usual, most of this stuff has been culled from a variety of sources: newsgroups,
|
|
books, FAQ's, HOWTO's, LDP stuff, manpages (yes Virginia, there <EM>really is</EM>
|
|
useful stuff in those manpages...) and README's. Wanna make LINUX fun...?
|
|
|
|
<P>
|
|
READ!
|
|
|
|
<P>
|
|
Got any ideas or suggestions? Pass 'em along...
|
|
|
|
<P>
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Quick virtual terminal (vt) change!</H3>
|
|
|
|
<P>
|
|
Hey, you know that LINUX 1.2.x will give you up to <EM>63 virtual terminals</EM>
|
|
and that you can ALT-Fn to them easily. (you know... ALT-F1 to the first, ALT-F2
|
|
to the second...) But did you know that you can also do this from the keyboard?
|
|
|
|
<P>
|
|
Yup, if you've installed the <B>kbd</B> package (which is included with the basic
|
|
Slackware distribution) not only can you map out your keyboard to whatever you
|
|
choose, but you can also use the little prog <B>chvt</B> that'll let you switch
|
|
from vt to vt.
|
|
|
|
<P>
|
|
Just type in: <KBD>chvt 3</KBD> to change to the 3rd virtual terminal,
|
|
<KBD>chvt 4</KBD> to change to the 4th virtual terminal, and so forth. Easy.
|
|
AND, if you are a single-letter-command type of person, you can just <B>alias</B>
|
|
it to: <B>alias j='chvt'</B> and then type in <KBD>j 3</KBD> to jump to the
|
|
third vt.
|
|
|
|
<P>Nifty, eh?
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Cleaning the screen at logout </H3>
|
|
|
|
<P>
|
|
You know how after you've been using several vt's for a while and want to exit
|
|
out that typing in <B>logout</B> still leaves you with a bit of a screen mess.
|
|
|
|
<P>
|
|
Kinda unsightly...
|
|
|
|
<P>
|
|
Well, there was a newsgroup thread a while back that bantered about the question of how
|
|
to clean up after this so that you started with a nice fresh display after logging
|
|
out. Several ideas were offered but the one that seemed the easiest was simply to
|
|
add the following to /etc/profile:
|
|
|
|
<PRE>
|
|
alias exit='clear && logout'
|
|
</PRE>
|
|
|
|
<P>
|
|
Pretty simple, eh? All it does is invoke two commands whenever you decide to
|
|
logout of a vt... the first simply <B>clears</B> the screen and then proceeds
|
|
to run <B>logout</B>. Nice and tidy. If you didn't want to make this a global
|
|
alias (since /etc/profile sets the environment for ALL logins) you could as
|
|
easily put it in your ~/.bash_profile or ~/.cshrc so that it is invoked only
|
|
for a specific user.
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Changing your HOST name </H3>
|
|
|
|
<P>
|
|
Well, you're <EM>really</EM> getting tired of having your LINUX BOX referred to
|
|
as <B>WussyCakes</B> just because your techno-dweebe buddies got on when you
|
|
weren't around and changed your hostname and you can't figure out how to get it
|
|
back.
|
|
|
|
<P>
|
|
Relax. This one's easy...
|
|
|
|
<P>
|
|
I'm not sure if this one will work if you <EM>haven't</EM> compiled in TCPIP
|
|
networking support into your kernel... but you can give it a try. The quickest
|
|
way to to this is simply to invoke the program <B>hostname</B>. If you invoke
|
|
it without any arguments, then it'll display your current hostname. If you invoke
|
|
it as
|
|
|
|
<PRE>
|
|
hostname SuperBadHombreLINUXBox
|
|
</PRE>
|
|
|
|
then it'll happily set your hostname to "SuperBadHombreLINUXBox" which is
|
|
probably not the greatest idea... but it can be done. Also, if you invoke it as
|
|
<KBD>hostname -f </KBD> you'll get the full DNS name of your box such as
|
|
"MyLinuxBox.MyUniversity.Edu". If you need a bit of quick help, just
|
|
read the manpage or simply invoke it with the " -h " option to get a
|
|
quick summary of command line options.
|
|
|
|
<P>
|
|
A more permanent solution is simply to edit the /etc/HOSTNAME file. The way this
|
|
works (again, at least with the Slackware distribution...) is that there's a
|
|
stanza in the /etc/rc.d/rc.M file that reads the hostname from /etc/HOSTNAME and
|
|
passes it to the <B>hostname</B> program each time you boot the system. Ever
|
|
wondered where the "darkstar" name came from...
|
|
|
|
<PRE>
|
|
|
|
# If there's no /etc/HOSTNAME, fall back on this default:
|
|
if [ ! -r /etc/HOSTNAME ]; then
|
|
echo "darkstar.frop.org" > /etc/HOSTNAME
|
|
fi
|
|
|
|
# Set the hostname. This might not work correctly if TCP/IP is not
|
|
# compiled in the kernel.
|
|
/bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .`
|
|
</PRE>
|
|
|
|
you'll find these stanzas in the <B>rc.M</B> file. Looking at it quickly you'll
|
|
see that it first tests for the presence of the /etc/HOSTNAME file (the first
|
|
if...fi statement). If there's no /etc/HOSTNAME file present, it decides to call
|
|
your box "darkstar.frop.org" by creating the /etc/HOSTNAME file for
|
|
you and then feeding this information to the <B>hostname</B> program.
|
|
|
|
<P>
|
|
So... all you have to do is decide on some too-way-cool name for your box, edit the
|
|
/etc/HOSTNAME file and then run the final command:
|
|
|
|
<PRE>
|
|
/bin/hostname `cat /etc/HOSTNAME | cut -f1 -d .`
|
|
</PRE>
|
|
|
|
to immediately set the new hostname.
|
|
|
|
<P>
|
|
Like I said, this is <EM>too</EM> easy...
|
|
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Screen blanking </H3>
|
|
|
|
<P>
|
|
While we're rooting around the /etc/rc.d/rc.M file...
|
|
|
|
<P>
|
|
There's another really handy little program that does all kinds of fun stuff...
|
|
<B>setterm</B>. Now, like a lot of great little UNIX progs, you can <EM>really</EM>
|
|
hose yourself if you recklessly start messing with this... it probably won't
|
|
permanently break anything, or then again, it might... ;-), but, what's cool about
|
|
it is that it'll let you set a terminal color scheme, AND, how long it waits until
|
|
it blanks your screen.
|
|
|
|
<P>
|
|
You know, you walk away and come back after a coke and bag 'o Nachos and find that
|
|
some kindly UNIX gnome has blanked your screen for you so you don't burn a hole in
|
|
your phosphors. Well, you can set that time-out to whatever you want.
|
|
|
|
<P>
|
|
You'll find the line:
|
|
|
|
<PRE>
|
|
# Screen blanks after 15 minutes idle time.
|
|
/bin/setterm -blank 15
|
|
</PRE>
|
|
|
|
in the rc.M file. Simply change the " -15 " to whatever value in minutes
|
|
that you want. Editing the file makes the change permanent and takes effect the
|
|
next time you boot the system. To change it right away, simply type in
|
|
<KBD>setterm -blank n</KBD> where " n " is whatever time in minutes you
|
|
want to wait for screen blanking.
|
|
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Running <I>splitvt</I> </H3>
|
|
|
|
<P>
|
|
Here's a great little program that I <EM>just</EM> ran across a couple days ago.
|
|
I recently had to reinstall Linux (as well as DOS, OS/2 Warp, Win 3.1...) after
|
|
deciding to upgrade to a 850MB second HD. I <EM>won't</EM> go into all the
|
|
horrific details, but it was a bit of a mess for a few days...
|
|
|
|
<P>
|
|
Anyway, during the installation, as I watched the Slackware installation dialog
|
|
boxes merrily flip by... one of the utility programs caught my eye. So, I jotted
|
|
down the name of the program, and after installation was done, tried running the
|
|
thing... <B>splitvt</B>.
|
|
|
|
<P>
|
|
This is a too-way-cool little program that'll let you run two shells in a split
|
|
screen fashion. " So what's so cool about <EM>that</EM>..." you ask,
|
|
since you've already told us that we've got 63 virtual terminals to choose from?
|
|
Well, you're right, except that it lets you run two programs and watch the output
|
|
<EM>from the same screen</EM>.
|
|
|
|
<P>
|
|
For example, if you read the manpage for it, it gives you a suggested ~/.splitvtrc
|
|
run-command file that would fire up a split screen with two login shells, and run
|
|
the program <B>top</B> in the bottom half. That way, you'll have a dynamic display
|
|
of your current CPU and memory usage while you merrily work away at some task in
|
|
the top screen. If you've ever used the split screen function in the <B>VIM</B>
|
|
editor, you'll know what I mean.
|
|
|
|
<P>
|
|
I tried using it with a couple PPP login scripts I've been working on. I have one
|
|
script that does auto-redial to the local university's PPP comm server (see last
|
|
month's Linux Gazette for the file) and another one, which I recently wrote, that
|
|
hangs around waiting for the /var/run/ppp0.PID file to appear, indicating a PPP
|
|
connection had been established. Once it finds it, it automatically updates the
|
|
/etc/hosts file (since the school does dynamic IP addressing), POP's my mail
|
|
from the mail server and plunks it in the /var/spool/mail/root file, and then
|
|
starts periodically pinging the gateway host to keep the connection up. Running
|
|
it in the split screen let's me see what's going on with both progs as they run.
|
|
|
|
<P>
|
|
Mucho cool.
|
|
|
|
<P>
|
|
The beauty of this program is that it's <EM>really simple</EM> to use and set up.
|
|
The man page is clearly written and gives an example rc file. You can also
|
|
configure it to start up running two programs automatically, but specifying
|
|
|
|
<PRE>
|
|
run -upper first_program
|
|
run -lower second_program
|
|
</PRE>
|
|
|
|
in the ~/.splitvtrc file. I'm sure that there are some fun things that can be
|
|
done with this. We'll see...
|
|
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 4 -->
|
|
<!-- -->
|
|
<H2><A NAME="fvwm"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">Introducing FVWM!</A></H2>
|
|
|
|
<P>
|
|
Welcome to the wonderful world of <B>FVWM</B> and of <B>X</B>! There's so much
|
|
cool stuff that you can do with X Window and the various window managers such
|
|
as <B>fvwm, twm, mwm, olvwm, gwm, and so on</B> that it boggles the mind. And
|
|
when <EM>was</EM> the last time your mind was boggled...?
|
|
|
|
<P>
|
|
As most of you know, the <B>fvwm</B> program stands for <B>F.... Virtual Window
|
|
Manager</B>. The meaning of the " F... " has apparently been lost
|
|
somewhere in antiquity with no original manuscripts extant to shed light on its
|
|
true meaning. Still, if you read the docs, there have been suggestions that it
|
|
might stand for " Feeble, Fun, Fantastic ... ". Who knows.
|
|
|
|
<P>
|
|
What <EM>is</EM> known is that it is one awesome window manager written specifically
|
|
for the LINUX OS and based upon the code of one of the original window managers --
|
|
<B>twm</B> (which, BTW, stands for <EM>Tabbed Window Manager</EM>). It is reported
|
|
to have a much more modest memory appetite than the original twm and is a LOT more
|
|
customizable.
|
|
|
|
<P>
|
|
Just <EM>how</EM> customizable is something that I'll probably be spending a couple
|
|
issues of the Gazette writing about.
|
|
|
|
<P>
|
|
It is just <EM>too way COOL</EM>!
|
|
|
|
<P>
|
|
Anyway, I'm going to make a couple modest assumptions:
|
|
|
|
<UL>
|
|
<LI>you've gotten X Window running
|
|
<LI>you're using a Slackware distribution or one similar to it
|
|
<LI>you're running fvwm as your window manager.
|
|
</UL>
|
|
|
|
If you've installed the Slackware 2.2.x or greater distribution you've probably
|
|
installed it and found that it's the default window manager. Good choice.
|
|
|
|
<P>
|
|
<B>Now, let's see what we can do with it.</B>
|
|
|
|
<P>
|
|
First, the file you'll want to edit to do all kinds of fun stuff is either:
|
|
|
|
<PRE>
|
|
/usr/X11R6/lib/X11/fvwm/system.fvwmrc OR,
|
|
~/.fvwmrc
|
|
</PRE>
|
|
|
|
Most fvwm distributions come with all kinds of goodies, including a very nicely
|
|
commented and organized <B>system.fvwmrc</B> file. It is a good default to start
|
|
with and is well commented enough that you can make a lot of adjustments right
|
|
from that file.
|
|
|
|
<P>
|
|
<B>ONE CAVEAT!!</B> Don't forget to have or make a backup of the original file,
|
|
as well as any that are modified that actually <EM>work</EM>! That way, if
|
|
something breaks, you'll have a backup. If you don't make a backup somewhere,
|
|
you'll be digging through piles of disks or scouring your CD looking for a
|
|
copy of the initialization file.
|
|
|
|
<P>
|
|
Be prudent. Practice safe X.
|
|
|
|
<P>
|
|
There's one other suggestion that holds for messing around with ANYTHING with
|
|
Linux... consider a notebook and pen essential hackers equipment.
|
|
|
|
<P>
|
|
Why? Because sooner or later you'll stumble across some absolutely awesome
|
|
utility, gadget, or doodad (<EM>doodad</EM>??) and you'll spend a hour reading
|
|
the manpage, going over the README's, and hacking away at the command line
|
|
options to get it to do just what you want it to do... and it works GREAT!
|
|
|
|
<P>
|
|
Then, a couple weeks later, you're hanging around with a couple bud's and you
|
|
decide to impress them with your LINUX wizardry... <EM>Yup, they're going to
|
|
be PRETTY impressed with you when you show them... uhhh...hmmm, now how did
|
|
I do that...?</EM>
|
|
|
|
<P>
|
|
You get the point.
|
|
|
|
<P>
|
|
Write this stuff down.
|
|
|
|
<P>
|
|
Anyway, with that said, you're ready to hack! One of the first things you'll
|
|
probably want to do is configure your desktop. This is one of the greatest
|
|
examples of the process of " step-wise refinement " that I can think
|
|
of. Over the course of a couple months you'll probably change your setup a
|
|
couple dozen times or more as you discover things that you can do with fvwm.
|
|
|
|
<P>
|
|
And so, let's begin!
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 5 -->
|
|
<!-- -->
|
|
<H2><A NAME="fvwm_start"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">FVWM: Getting stuff
|
|
going...</A></H2>
|
|
|
|
<P>
|
|
So, how do you get all kinds of cool stuff to come popping up when you fire up X?
|
|
|
|
<P>
|
|
Glad you asked.
|
|
|
|
<P>
|
|
There are a couple ways to do this, but one of the easiest is to let <B>fvwm</B> do
|
|
it for you. Without getting too bogged down in discussing the concept of "
|
|
built-in functions ", suffice it to say that fvwm is more than willing to
|
|
manage getting programs up and running each time it starts.
|
|
|
|
<P>
|
|
Parenthetically, once you've gotten X and fvwm up and running there are four
|
|
basic means of getting programs running:
|
|
|
|
<UL>
|
|
<LI>invoke it from the command line in an xterm
|
|
<LI>add it to the popup FVWM menu
|
|
<LI>add it to the GoodStuff button bar menu
|
|
<LI>use another program (such as <B>xfm</B>) to launch it
|
|
</UL>
|
|
|
|
<P>
|
|
Since this deals with the programs that are started <EM>at the time of initialization
|
|
</EM> I'll stick to how to do this using the system.fvwmrc or your ~/.fvwmrc
|
|
file.
|
|
|
|
<P>
|
|
So, AFTER you've made a backup of the original fvwmrc file go to the section
|
|
entitled " Stuff to do at startup ". In mine, it now looks something like
|
|
this:
|
|
|
|
<PRE>
|
|
|
|
#############################################################################
|
|
#
|
|
# START-UP CONFIGURATION
|
|
#
|
|
# Functions: InitFunction
|
|
# RestartFunction
|
|
#
|
|
# Stuff to do at start-up
|
|
# This is an example of a complex function definition. It is a special case
|
|
# in that "InitFunction" is called when fvwm is started for the first
|
|
# time and is generally used to start modules, set background patterns,
|
|
# and begin programs. "RestartFunction" is called whenever fvwm is
|
|
# restarted and generally starts modules and sets background patterns.
|
|
# It probably should NOT be used to start programs.
|
|
#
|
|
# This defines the fvwm complex functions "InitFunction" and "RestartFunction"
|
|
|
|
Function "InitFunction"
|
|
# Module "I" FvwmBanner
|
|
# Exec "I" xpmroot /usr/include/X11/pixmaps/fvwm.xpm &
|
|
# To begin with, get the FVWM GoodStuff button bar running
|
|
Module "I" GoodStuff
|
|
# Module "I" FvwmPager 0 3
|
|
# Then, the analog clock - Swallowed by GoodStuff
|
|
Exec "I" exec xclock -bg SaddleBrown -fg HotPink -hd white -g 140x160-145+138 &
|
|
Wait "I" xclock
|
|
# Make sure the xmailbox prog is up and running - swallowed by GoodStuff
|
|
Exec "I" exec xmailbox &
|
|
Wait "I" xmailbox
|
|
# Now, fire up xload - swallowed by GoodStuff
|
|
Exec "I" exec xload -bg SaddleBrown -fg HotPink -nolabel -jumpscroll 1 -update 2 -geometry 80x80+100+100 &
|
|
Wait "I" xload
|
|
# Next, the digital clock
|
|
Exec "I" exec xclock -d -g 232x50+793+5 -bg SaddleBrown -fg white -update 1 &
|
|
Wait "I" xclock
|
|
# Now, start up xcalendar
|
|
Exec "I" exec xcalendar -g 345x382+793+372 &
|
|
Wait "I" xcalendar
|
|
# Xman program, which we'll use without a titlebar
|
|
Exec "I" exec xman -g +793+274 &
|
|
Wait "I" xman
|
|
# Finally, fire up a full screen xterm
|
|
Exec "I" exec xterm -sb -sl 500 -j -ls -fn 9x15 -g 84x48+4+4 &
|
|
Wait "I" xterm
|
|
EndFunction
|
|
|
|
Function "RestartFunction"
|
|
# Exec "I" xsetroot -solid "#266294"
|
|
# Module "I" GoodStuff
|
|
# Module "I" FvwmPager 0 3
|
|
EndFunction
|
|
|
|
#
|
|
# End of STARTUP configuration
|
|
##############################################################################
|
|
|
|
</PRE>
|
|
|
|
All the stuff between the <B>Function "InitFunction"</B> and
|
|
<B>EndFunction</B> defines what programs fvwm will start up at initialization.
|
|
|
|
<P>
|
|
The easiest way to configure this is to use one of the programs as an example!
|
|
There are three basic patterns:
|
|
|
|
<UL>
|
|
<LI><B>Exec</B> which will execute a command
|
|
<LI><B>Wait</B> which will wait for a window to appear on the desktop before
|
|
proceeding with the next command
|
|
<LI><B>Module</B> which will fire up one of fvwm's <B>modules</B> such as
|
|
the GoodStuff buttonbar or FvwmPager.
|
|
</UL>
|
|
|
|
<P>
|
|
The function <B>Exec</B> is one of fvwm's built in functions that will execute
|
|
a command. This is probably the one that you'll use the most often. For example,
|
|
let's say that you want to add some great new program to your start up... you've
|
|
discovered the program <B>xmailbox</B> (which really <EM>is</EM> is a great
|
|
program) and you decide that you want to start this up every time you start X.
|
|
|
|
<P>
|
|
This is easy.
|
|
|
|
<P>
|
|
First, get out your pen and notebook.
|
|
|
|
<P>
|
|
Do it.
|
|
|
|
<P>
|
|
Once you start up X and fvwm you'll need one of those handy-dandy xterms to get
|
|
stuff going. Presuming you've installed <B>xmailbox</B> you can invoke it at
|
|
the command line in an xterm. Just type in <KBD>xmailbox &</KBD> and it's
|
|
up and running! It'll probably be in the form of an outline which will allow
|
|
you to put it somewhere. Ok, drop it somewhere.
|
|
|
|
<P>
|
|
Now, using the left mouse button you can generally resize your application if it
|
|
has those little " L " shaped <B>handles</B> at each of the four corners.
|
|
Clicking on one of these corners allows you to resize the window; clicking and
|
|
dragging on the titlebar or one of the side borders allows you to move the
|
|
window around.
|
|
|
|
<P>
|
|
When you move the window, you'll notice a little blue window up in the upper left
|
|
hand corner with a couple numbers, such as <B> +5 +180</B>. Those indicate
|
|
where the <EM>upper lefthand corner</EM> of the window is located relative to
|
|
the root window. Keeping in mind that the upper lefthand corner of the root window
|
|
(the "desktop") is 0,0 then every window is some distance in <B>pixels</B>
|
|
from the left and the top of the desktop.
|
|
|
|
<P>
|
|
When you get the application window where you want it, write those numbers down.
|
|
You'll need them.
|
|
|
|
<P>
|
|
Since we're talking about placing windows on your desktop, this is a good place to
|
|
digress for a moment and talk about...
|
|
|
|
<H4><A NAME="window_geom">Window Geometry</A></H4>
|
|
|
|
<P>
|
|
The basic idea is pretty simple. When you set up the <B>XF86Config</B> file you
|
|
had to indicate the size of the "virtual desktop". This meant that if
|
|
your video card had enough RAM, you could make the desktop screen larger than the
|
|
physical screen of your monitor. For example, I've got a Cirrus CL-G5428 card
|
|
and am running X at about 800x600. Yet my virtual desktop is max'd at 1152x900.
|
|
So, when I move the mouse around, the desktop shifts.
|
|
|
|
<P>
|
|
Very cool.
|
|
|
|
<P>
|
|
Anyway, those dimensions are in pixels... my entire desktop is 1152 pixels <B>wide</B>
|
|
by 900 pixels <B>high</B>. For all you math type folks, that's
|
|
|
|
<P>
|
|
x = 1152 on the horizontal axis<BR>
|
|
y = 900 on the vertical axis
|
|
|
|
<P>
|
|
This is the basis of geometry. The "+" sign means the <EM>distance in
|
|
pixels from the LEFT or TOP of the screen</EM> and a "-" sign means the
|
|
<EM>distance from the RIGHT or BOTTOM of the screen</EM>.
|
|
|
|
<P>
|
|
Actually, that's a bit of a lie. If you use the "+" sign, it indicates
|
|
distance in pixels of the <EM>left border of your application window to the left
|
|
border of the screen</EM> or the <EM>top border of your application window to the
|
|
top border of your screen.</EM>
|
|
|
|
<P>
|
|
If you use the "-" sign, it really indicates the distance in pixels of
|
|
the <EM>right border of your application window to the right border of your screen
|
|
</EM>, or the <EM>bottom border of your application window to the bottom window
|
|
of the screen</EM>.
|
|
|
|
<P>
|
|
To convince yourself of that try a simple experiment: enter the following
|
|
commands in an xterm window and see where the window ends up:
|
|
|
|
<UL>
|
|
<LI>xterm -g +0+0 & (which puts the xterm in the upper left corner)
|
|
<LI>xterm -g +0+200 & (the xterm is flush along the left border but now
|
|
is 200 pixels from the top of the screen)
|
|
<LI>xterm -g +200+0 & (the xterm is now flush along the top of the screen
|
|
but is 200 pixels from the left border)
|
|
<LI>xterm -g -0-0 & (which puts the xterm window flush along the bottom
|
|
right corner of the screen
|
|
<LI>xterm -g -0-200 & (the xterm is now flush along the right border of the
|
|
screen but 200 pixels above the bottom border)
|
|
<LI>xterm -g -200-0 & (the xterm is 200 pixels away from the right border
|
|
of the screen but flush along the bottom border)
|
|
</UL>
|
|
|
|
<P>
|
|
Try these out and it'll help you get the concept of placing windows. Keep in
|
|
mind that the basic format is <B>+/- Horizontal +/- Vertical</B> placement.
|
|
|
|
<P>
|
|
For example, if you wanted to put xmailbox 20 pixels from the left border and
|
|
100 pixels from the top border, you'd indicate this by typing in:
|
|
|
|
<PRE>
|
|
xmailbox -geometry +20+100 &
|
|
</PRE>
|
|
|
|
If you're using the stock fvwmrc file, you should also have another very handy
|
|
little gadget called <B>FVWMWinList</B>. This keeps track of all your apps that
|
|
are opened. One of the cool things that it includes is the geometry of the
|
|
window -- this includes the location and the size.
|
|
|
|
<P>
|
|
So, once you've placed xmailbox where you want it, and used the handles at the
|
|
four corners to make it larger or smaller, click the <B>right mouse</B> button
|
|
to get the FvwmWinList to pop up. From there, you should see a listing of all
|
|
your programs, including xmailbox!
|
|
|
|
<P>
|
|
Now, write down the numbers, which might be something like "0:+20+100x60x100".
|
|
Let's decipher this:
|
|
|
|
<P>
|
|
The FvwmWinList module displays a series of buttons with two pieces of information:
|
|
the <B>name</B> of the application (actually, the <EM>window title</EM>), and
|
|
the <B>window geometry</B>. It is the window geometry that we'll be interested
|
|
in. The size and the location of the window are indicated by the series of numbers
|
|
following the "0:". The first two numbers indicate the location of the
|
|
window. Geometry is always in the form:
|
|
|
|
<P>
|
|
<B>+/- Xposition +/- Yposition</B>
|
|
|
|
<P>
|
|
So, in this case, it's 20 pixels from the left border and 100 pixels from the top.
|
|
|
|
<P>
|
|
And finally, the window size is 60 pixels wide, by 100 pixels high. The size
|
|
of a window is always in the form:
|
|
|
|
<P>
|
|
<B>Width x Height</B>
|
|
|
|
<P>
|
|
<B>PHEW!!</B> Almost done...
|
|
|
|
<P>
|
|
So after this minor digression, let's see where we stand. You've written down
|
|
the location and the size of the window, now it's time to edit the fvwmrc file.
|
|
If you want to start a program, the basic form is:
|
|
|
|
<PRE>
|
|
Exec "I" exec program_name [-options] -geometry WidthxHeight+xpos+ypos &
|
|
</PRE>
|
|
|
|
So, to start up xmailtool with no options, you'd include a line like:
|
|
|
|
<PRE>
|
|
Exec "I" exec xmailtool -geometry 60x100+20+100 &
|
|
</PRE>
|
|
|
|
in the above section and <EM>voila!</EM>, there it is.
|
|
|
|
<P>
|
|
To further customize this, you can add ANY options that you'd normally type in
|
|
at the command line. <B>One important point!</B> Don't forget to put the
|
|
ampersand " & " at the end of the command line.
|
|
|
|
<P>
|
|
So, now you can go back and do the same for ANY other program! Jot down the
|
|
geometry of the window, any command line options, exit out of X, edit your
|
|
system.fvwmrc or your ~/.fvwmrc file and restart X!
|
|
|
|
<P>
|
|
So what's the "Wait" thingy for...? Well, if you want a program to
|
|
be started using the method described above, you'll probably want to put a
|
|
stanza below it with the following form:
|
|
|
|
<PRE>
|
|
Wait "I" xmailbox
|
|
</PRE>
|
|
|
|
<P>
|
|
You don't need an ampersand (&) at the end of the line. What this does, is
|
|
force fvwm to wait until a window with the title "xmailbox" is drawn
|
|
on the screen. It essentially keeps fvwm from just plowing ahead with the rest
|
|
of the initialization stuff while your poor program is trying to load up.
|
|
|
|
<P>
|
|
So what happens if you don't do this?
|
|
|
|
<P>
|
|
Search me...
|
|
|
|
<P>
|
|
This is what the docs recommend... and they're the guys that wrote this thing...
|
|
I don't know, maybe something aweful happens... maybe it crashes, or dumps core,
|
|
or maybe Tammie Fae gets her own talk show, or maybe another Democr... (ok, ok...
|
|
I'll desist...)
|
|
|
|
<P>
|
|
If you want to fire up one of the modules such as the GoodStuff button bar or
|
|
the FVWMPager, you use a similar format:
|
|
|
|
<PRE>
|
|
Module "I" GoodStuff
|
|
</PRE>
|
|
|
|
Notice that you don't need the ampersand at the end of the line. I'll be messing
|
|
around with GoodStuff and FVWMPager a little later on, so I'll hold off mentioning
|
|
much about either of them right now.
|
|
|
|
<P>
|
|
Well, that's pretty much it! It really is a LOT easier to do, than to explain.
|
|
The best suggestion is to experiment. And don't forget that notebook... :-)
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 6 -->
|
|
<!-- -->
|
|
<H2><A NAME="fvwm_menus"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">FVWM: Adding programs
|
|
to the Popup Menus</A></H2>
|
|
|
|
<P>
|
|
FVWM gives you LOTS of ways to launch programs and one of the easiest and most
|
|
flexible is to add your programs to the popup menu that you can call up by
|
|
clicking the Left mouse button on any free space in your root window. The default
|
|
menus are pretty useful, until you begin to notice two problems:
|
|
|
|
<UL>
|
|
<LI>the menus contain programs that you <EM>don't</EM> have on your system
|
|
<LI>the menus lack many programs that you <EM>do</EM> have on your system
|
|
</UL>
|
|
|
|
Wanna fix that?! It really is pretty easy.
|
|
|
|
<P>
|
|
Again, the same caveats and such hold here as in the previous section... you'll
|
|
need (i) to make a backup of the fvwmrc file BEFORE you start hacking away on it,
|
|
and (ii) you'll want to have pen and notebook handy to jot down commandline
|
|
options and geometry stuff as well as notes to yourself.
|
|
|
|
<P>
|
|
Once you've done this, you're ready to start!
|
|
|
|
<P>
|
|
First you'll need to make sure that you've jotted down the command line stuff
|
|
that you'll want for your program. Do you need it? Nope. You can usually
|
|
get away with just invoking most programs without any information at all.
|
|
There are usually default resources already defined and the app will work just
|
|
fine.
|
|
|
|
<P>
|
|
But, if you want to customize an application's appearance such as change the
|
|
font it uses, or the background/foreground color scheme, or you want to invoke
|
|
it with a series of specific options, or you want it a certain size or in a
|
|
certain location... if you want any of these, you'll need to tinker around with
|
|
invoking the program from an xterm using various options until you get it just
|
|
the way you want it.
|
|
|
|
<P>
|
|
Again, to use an example, suppose you wanted to add a bunch of graphics programs
|
|
to the popup menu. You've added <B>xpaint, xbmbrowser, and pixmap</B> programs
|
|
and you want to create a popup menu for them. You've also decided that you want
|
|
xbmbrower and pixmap to start up full screen at a size of 790x590 pixels. Ok,
|
|
armed with this you're ready to go.
|
|
|
|
<P>
|
|
First, however, a couple concepts.
|
|
|
|
<P>
|
|
Basically, the way to handle creating Popup menus using fvwm involves three
|
|
steps:
|
|
|
|
<UL>
|
|
<LI>First, all the <EM>submenus</EM> are defined (such as Applications,
|
|
Graphics, Screensavers, Xterms, and so forth)
|
|
<LI>Next, a main popup menu is defined that invokes the various submenus so
|
|
that clicking on that entry pops up the submenu
|
|
<LI>Finally, the main menu is bound to a mouse button or keyboard key.
|
|
</UL>
|
|
|
|
For the moment, we'll only concern ourselves with the first two steps since
|
|
the default fvwmrc file takes care of binding the default menu to the left
|
|
mouse button which it's clicked on the root window.
|
|
|
|
<P>
|
|
So, let's proceed.
|
|
|
|
<P>
|
|
First, let's create the submenu for the graphics apps you want. To define a
|
|
popup function for fvwm you'll use the following format:
|
|
|
|
<PRE>
|
|
Popup "Popup_Name"
|
|
Title "Popup_Menu_Title"
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Nop ""
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
Exec "Menu_Item" exec program_name [-options] &
|
|
EndPopup
|
|
|
|
</PRE>
|
|
|
|
Ok, so what's going on here...
|
|
|
|
<P>
|
|
The function is defined by the reserved words <B>Popup</B> and <B>EndPopup</B>.
|
|
Everything in between them defines that particular popup menu.
|
|
|
|
<P>
|
|
After <B>Popup</B> you'll give this submenu a name (Popup_Name) that needs to
|
|
be enclosed with double quotes. This is the name that the submenu will be
|
|
invoked by. We'll see this is a moment.
|
|
|
|
<P>
|
|
Next, You can give the submenu a title that will appear at the top of the
|
|
popup menu listing. For our graphics submenus you could call it simply
|
|
"Graphics Programs".
|
|
|
|
<P>
|
|
After this, you'll enter the application information. Each stanza takes the
|
|
form <B>Exec</B>, followed by the name that you want to appear in the menu
|
|
listing (this is also enclosed in double quotes), and then finally, the
|
|
<B>exec</B> statement that launches the program using the options that you've
|
|
decided upon.
|
|
|
|
<P>
|
|
AND DON'T FORGET THE & AT THE END!
|
|
|
|
<P>
|
|
The <B>Nop</B> entry is a special sort of entry. It does, as the name implies,
|
|
nothing. Well, that's not completely true.
|
|
|
|
<P>
|
|
If you include an entry such as:<BR><BR>
|
|
|
|
Nop ""
|
|
|
|
<P>
|
|
which has no spaces at all between the double quotes, it'll put a horizontal
|
|
dividing line between the entries. This is very nifty as well as admirably
|
|
tidy.
|
|
|
|
<P>
|
|
However, if you put a single space between the double quotes, it'll just leave
|
|
a space between the two entries... there won't be a horizontal dividing line
|
|
placed.
|
|
|
|
<P>
|
|
So, for our example programs, you'd enter:
|
|
|
|
<PRE>
|
|
Popup "Graphics"
|
|
Title "Graphics Programs"
|
|
Exec "Pixmap" exec pixmap -g 790x590 &
|
|
Exec "XbmBrowser" exec xbmbrowser -g 790x590 &
|
|
Exec "XPaint" exec xpaint &
|
|
EndPopup
|
|
</PRE>
|
|
|
|
Notice that if you'd wanted to place, for example, the pixmap application in the
|
|
upper left hand corner (+0+0), then you would have changed the entry to:
|
|
|
|
<PRE>
|
|
Exec "Pixmap" exec pixmap -g790x590+0+0 &
|
|
</PRE>
|
|
|
|
<P>
|
|
So, now you've defined the submenu. You can continue to add other items in this
|
|
same fashion. How many should you add... well, the default fvwmrc puts ALL of the
|
|
screensaver apps in a single submenu. When I click on it there's a HUGE list that
|
|
goes scrolling down to the bottom of the screen. After about the first dozen or
|
|
so programs, you might want to think about setting up another submenu for other
|
|
programs. You're an adult... use your discretion...
|
|
|
|
<P>
|
|
Now, let's see how you call up those submenus.
|
|
|
|
<P>
|
|
As mentioned before, the stock fvwm distribution has a default fvwmrc that defines
|
|
a pretty handy default popup menu. Mine has been morphed into something that
|
|
currently looks like this:
|
|
|
|
<PRE>
|
|
# Main Menu Definition
|
|
#
|
|
# This is bound to the left mouse button and is invoked as the top-most
|
|
# menu.
|
|
Popup "FVWM Menu"
|
|
Title "FVWM Menu"
|
|
Exec "XCalc" exec xcalc -g 565+195 &
|
|
Exec "XTerm" exec xterm -sb -sl 500 -j -ls -fn 9x15 &
|
|
Exec "Xman" exec xman &
|
|
Exec "Xconsole" exec xconsole -g 720x70+410+795 &
|
|
Nop ""
|
|
Popup "Applications" Applications
|
|
Nop ""
|
|
Popup "Desktop" Desktop
|
|
Nop ""
|
|
Popup "Editors" Editors
|
|
Nop ""
|
|
Popup "Games" Games
|
|
Nop ""
|
|
Popup "Graphics" Graphics
|
|
Nop ""
|
|
Popup "Modules" Modules
|
|
Nop ""
|
|
Popup "Network" Network
|
|
Nop ""
|
|
Popup "Shells" Shells
|
|
Nop ""
|
|
Popup "X_Utilities" X_Utilities
|
|
Nop ""
|
|
Popup "Screensaver" Screensaver
|
|
Nop ""
|
|
Popup "Lock Screen" Screenlock
|
|
Nop ""
|
|
Popup "Exit Fvwm" Quit-Verify
|
|
Nop ""
|
|
Refresh "Refresh Screen"
|
|
EndPopup
|
|
</PRE>
|
|
|
|
<P>
|
|
To call up a submenu, you simply add a stanza that's in the form:
|
|
|
|
<PRE>
|
|
Popup "Menu_Item_Name" Popup_Name
|
|
</PRE>
|
|
|
|
remember that when you first defined a submenu you put the name of the submenu
|
|
in double quotes after the <B>Popup</B> declaration? Well, here's where you'll
|
|
need it.
|
|
|
|
<P>
|
|
The entry Menu_Item_Name is whatever you want to have appear on the menu listing.
|
|
Often, as you can see by the example above, it'll be the same name as whatever
|
|
you've called the submenu. No harm in doing that, although they CAN be different
|
|
as in the "Exit Fvwm" entries demonstrates.
|
|
|
|
<P>
|
|
So that's it!
|
|
|
|
<P>
|
|
See, it wasn't so bad... You can easily use the default entries as a template for
|
|
your customizations. Want to delete an entry? You can either physically delete
|
|
it or, which may be the better part of valor, you can simple comment it out using
|
|
a "#" sign.
|
|
|
|
<P>
|
|
A couple final points:
|
|
|
|
<UL>
|
|
<LI>Can you nest submenus more than a single layer deep?
|
|
|
|
<P>
|
|
Yup, you sure can. Use the " Popup Menu_Item_Name Popup_Name"
|
|
format in the submenu.
|
|
|
|
<P>
|
|
<B>Just remember!</B> You MUST define a menu BEFORE you can include it as
|
|
a submenu somewhere else. You'll notice that all of the submenus were
|
|
defined BEFORE the final, topmost menu was defined. That's because, if
|
|
you wanted to include a popup menu called "MyFavoritePrograms"
|
|
and you hadn't defined it yet, fvwm would complain severely.
|
|
|
|
<P>
|
|
|
|
<LI>Add an entry for the programs that you use MOST OFTEN somewhere in the
|
|
topmost menu. In other words, you'll probably want an entry for an
|
|
xterm in the main popup menu, because you'll be using them all the time.
|
|
|
|
<P>
|
|
Do you have any other programs that you use all the time? Maybe you're
|
|
constantly looking up manpages and need the <B>xman</B> program handy.
|
|
Or maybe you frequently use a calendar program like <B>xcalendar</B>.
|
|
|
|
<P>
|
|
In either case, if you need something frequently, or often need to start
|
|
multiple copies of the program... keep it handy.
|
|
|
|
<P>
|
|
|
|
<LI>If you want to invoke a program in a number of differnt ways, Create
|
|
stanzas for each different iteration!
|
|
|
|
<P>
|
|
In other words, if you want to be able to invoke a single program with
|
|
various options, simply create a line for each of the differnt ways you
|
|
want to invoke the program.
|
|
|
|
<P>
|
|
One of the best examples of this is the "XTerm" menus that are
|
|
included with the stock fvwm distribution. These series of entries
|
|
call up an xterm with different sized fonts, ranging from quite small
|
|
to truly myopic!
|
|
|
|
<P>
|
|
Customize, man, customize!
|
|
|
|
<P>
|
|
|
|
<LI>You DON'T have to add EVERY program to the popup menu!
|
|
|
|
<P>
|
|
This goes almost without saying... but, if you add EVERY program you've
|
|
loaded up to your menu, it'll stop being very useful. Add the programs
|
|
that you'll really use.
|
|
|
|
<P>
|
|
The corollary is similar: if a program requires input before it will
|
|
run, it may not be very handy to put that program on the menu.
|
|
|
|
<P>
|
|
For example, the really impressive graphics program <B>ImageMagick</B>
|
|
allows you to display images in a huge variety of formats, which you
|
|
can then manipulate and save to a different format. Thing is, you'll
|
|
probably be invoking it with the name of the file you want to display.
|
|
It's a lot easier to invoke this program from an xterm command line.
|
|
|
|
<P>
|
|
|
|
<LI>Make it easy on yourself, put your applications into logical groups.
|
|
|
|
<P>
|
|
By this, I mean, you should put all your editors under the "Editors"
|
|
menu, and the various xterms under the "XTerms" menu. You'll
|
|
find that as you begin adding more and more programs that putting them
|
|
into some kind of logical order will really make finding them quickly
|
|
much easier.
|
|
|
|
<P>
|
|
Also, it seems obvious, but it gets overlooked... put the programs that
|
|
you use most often AT THE TOP OF THE LIST. Man, it's taken me months
|
|
to discover that it's a LOT easier to click on the Graphics submenu
|
|
and then immediately hit the <B>xpaint</B> program if it's at the top
|
|
of the list.
|
|
|
|
<P>
|
|
Never fail to state the obvious...
|
|
|
|
<P>
|
|
Also, use the <B>Nop</B> option to help visually separate dissimilar items.
|
|
You'll notice that this is done in the default setup and it works quite
|
|
well.
|
|
</UL>
|
|
|
|
<P>
|
|
Well, that's it! Now, have fun!!
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 7 -->
|
|
<!-- -->
|
|
<H2><A NAME="fvwm_virtual"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">FVWM: Managing
|
|
the Virtual Desktop!</A></H2>
|
|
|
|
<P>
|
|
Of all the excellent things that you can do with or to fvwm, one of the most
|
|
useful is getting to know the fvwm <B>Pager</B>. This is that handy little gadget
|
|
that sits up (by default, anyway) in the upper left hand corner of the screen. If
|
|
you click on one of those little windows... <EM>poof!</EM> there you are.
|
|
|
|
<P>
|
|
Very cool.
|
|
|
|
<P>
|
|
Well, like most of the rest of fvwm, this thing is eminently customizable! So,
|
|
what can you do with/to it?
|
|
|
|
<UL>
|
|
<LI>change its location
|
|
<LI>change the size of the pager itself
|
|
<LI>change the number of "windows" for each virtual desktop
|
|
<LI>use your LEFT mouse button to move to a virtual desktop
|
|
<LI>use your RIGHT mouse button to change your viewport
|
|
<LI>use your MIDDLE mouse button to pick up and move objects (program
|
|
windows) anywhere on your desktop
|
|
</UL>
|
|
|
|
<P>
|
|
And, customizing this stuff is easy! Promise.
|
|
|
|
<P>
|
|
Ok, so once again, you'll need to be armed with pen and notebook, and you should
|
|
make a backup of the fvwmrc you're about to hack away on. Once that's done you
|
|
can quickly and easily do almost anything you want with it.
|
|
|
|
<P>
|
|
So, let's edit.
|
|
|
|
<P>
|
|
This is what the entry in my fvwmrc looks like:
|
|
|
|
<PRE>
|
|
###########################################################################
|
|
#
|
|
# VIRTUAL DESKTOP CONFIGURATION
|
|
#
|
|
# Set up the VIRTUAL DESKTOP AND PAGER
|
|
|
|
# Define the virtual desktop size in units of the physical screen size.
|
|
# syntax: DeskTopSize HorizontalxVertical
|
|
#
|
|
DeskTopSize 3x2
|
|
|
|
# Define the virtual desktop scale in terms of a reduction factor
|
|
DeskTopScale 36
|
|
|
|
# Pager X_Location Y_Location
|
|
# Enables the fvwm PAGER at X_Location Y_Location. Miniature versions of
|
|
# all non-sticky windows on the virtual desktop are shown in the pager
|
|
# with the color of the miniature version the same as the color of the
|
|
# full-size window's borders
|
|
# Button actions:
|
|
# Button 1 move desktop viewport to selected page
|
|
# Button 2 move selected window anywhere on the desktop
|
|
# Button 3 move top-left corner of viewport to the location pressed
|
|
# dragging Button 3 will cause the viewport to scroll.
|
|
#
|
|
Pager -5 5
|
|
|
|
#
|
|
# End of VIRTUAL DESKTOP and PAGER configuration
|
|
##############################################################################
|
|
</PRE>
|
|
|
|
<P>
|
|
If you copy something like this into your ~/.fvwmrc or system.fvwmrc file
|
|
you're pretty much home free! Let's see what's going on:
|
|
|
|
<P>
|
|
First, define the desktop size. I've set mine to 3x2 since I use one of the
|
|
"virtual desktops" as my "homebase" if you will, and use
|
|
the other five as work area. I'll be discussing the rationale behind doing
|
|
this in later sections. For the moment, suffice it to say that you can set
|
|
up as many virtual desktops as you like.
|
|
|
|
<P>
|
|
Simply put in the number of desktops you want in each <B>row</B> (Horizontal)
|
|
by the number of <B>columns</B> you want (Vertical). For example, if you
|
|
wanted a virtual desktop 7 across and 3 high you'd simply put:
|
|
|
|
<PRE>
|
|
DeskTopSize 7x3
|
|
</PRE>
|
|
|
|
<P>
|
|
Easy.
|
|
|
|
<P>
|
|
Now, instead of entering the actual size of the window in pixels, as you do with
|
|
MOST (but not all as we'll see) windows, you enter the <B>reduction factor</B>
|
|
by which you want the pager reduced. I didn't pick the number 36, it was the
|
|
default value, but it seems to work well. If you wanted to make the pager
|
|
larger, simply <B>decrease</B> the reduction factor to, say, 30 and see how it
|
|
looks. Experiment with it until you find a size that you like.
|
|
|
|
<P>
|
|
Now, enter the <B>location</B> (geometry) in which you'd like to put the pager.
|
|
You'll notice here that I've put it at the coordinates -5 5. Like most of the
|
|
geometry entries, this places the pager <EM> 5 pixels from the right border of
|
|
the screen and 5 pixels down from the top of the screen</EM>. If you aren't sure
|
|
what this means, puruse the section on <A HREF="#window_geom">Window Geometry</A>.
|
|
|
|
<P>
|
|
So, now that you've added lots of desktops, made the pager just the right size, and
|
|
put it just where you wanted it to be... you ask " what the heck can I do with
|
|
this thing?"
|
|
|
|
<P>
|
|
Aweful glad you asked!
|
|
|
|
<P>
|
|
The obvious thing that you can do with this is to switch to another virtual desktop.
|
|
you just use the left mouse button and click on the desktop to which you want to
|
|
move. Simple.
|
|
|
|
<P>
|
|
What you may not have realized is that the other two mouse buttons have been defined
|
|
to perform a couple other operations (again, presuming that you're using the stock
|
|
fvwmrc file). The right button allows you to change the viewport.
|
|
|
|
<P>
|
|
So what's a <EM>viewport</EM>?
|
|
|
|
<P>
|
|
Basically, it's the location on the virtual desktop that is currently in focus, if
|
|
you will. These best way to learn what this means is to try it.
|
|
|
|
<P>
|
|
Go ahead... try it!
|
|
|
|
<P>
|
|
What you'll discover is that instead of smoothly jumping from one virtual desktop
|
|
to the next you'll "pass through walls" as it were. You'll be able to
|
|
change the focus to any point on the virtual desktop, regardless of where the
|
|
desktop "boundries" are located. Experience it.
|
|
|
|
<P>
|
|
Finally, the middle button will allow you pick up a window on the virtual desktop
|
|
(that is, within the pager window) and move it anywhere on the virtual desktop.
|
|
Again, to appreciate it, you have to try it. Put a couple xterms on one of your
|
|
desktops and then use the middle mouse button to drag-n-drop one of those xterms
|
|
to another location. It may not be the most useful of the functions... but it
|
|
makes a great party trick ;-)
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
<!--SECTION 8 -->
|
|
<!-- -->
|
|
<H2><A NAME="fvwm_quicktips"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">FVWM: Quick Tips
|
|
</A></H2>
|
|
|
|
<P>
|
|
One of the great things about fvwm is that not only can you tinker around with
|
|
some fairly complex stuff, but also, there are innumerable little changes that
|
|
you can make to it. These aren't overwhelming, but they can make using fvwm a
|
|
LOT more fun.
|
|
|
|
<P>
|
|
Here are a couple ideas for ways that you can customize fvwm. The first three deal
|
|
with things that add or change the functionality to those ubiquitous window buttons.
|
|
I won't go into all the details of creating buttons or binding new functions to them,
|
|
that's for another time. But, until then, try these one's out!
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Making apps go full-screen</H3>
|
|
|
|
<P>
|
|
I'm sure that most of you have noticed that most all of the windows under fvwm and
|
|
X have a single button on the left and two on the right. Well, like everything in
|
|
X, these are eminently customizable, including creating new ones, deleting them,
|
|
binding new functions to them, creating new popup menus for them.
|
|
|
|
<P>
|
|
It's too way cool.
|
|
|
|
<P>
|
|
One of the more helpful things that can be done is clicking on the right-most
|
|
button will cause the application window to go full screen.
|
|
|
|
<P>
|
|
Well, it's supposed to anyway. On mine, it didn't. And I didn't have a clue as
|
|
to why it didn't... until I did a bit of reading in the 'ol manpages.
|
|
|
|
<P>
|
|
Adjusting the Maximize function so that it actually enlarges your apps to full
|
|
screen is pretty easy to do and forever makes life easier! Here's what you'll
|
|
need to do...
|
|
|
|
<P>
|
|
In the fvwmrc file, you'll find an entry for the <B>Maximize</B> function that
|
|
allows you to set its action. In mine, it looks something like this:
|
|
|
|
<PRE>
|
|
# This function sets the pattern of maximization. The values after the mouse
|
|
# action field are:
|
|
# Horizontal_Maximization Vertical_Maximization
|
|
#
|
|
# These are in reference to the *entire* desktop, so that "100 100" enlarges the
|
|
# application to the size of the entire *virtual desktop* - i.e., to 1152 x 900.
|
|
#
|
|
# Therefore, we'll set these up so that:
|
|
# single click maximizes to screen size (about 800x600)
|
|
# double click maximizes to full virtual desktop size (1152x900)
|
|
# motion maximizes vertically *only*
|
|
Function "maximize_func"
|
|
Maximize "Motion" 0 85
|
|
Maximize "Click" 69 85
|
|
Maximize "DoubleClick" 100 100
|
|
EndFunction
|
|
</PRE>
|
|
|
|
<P>
|
|
So, what's going on here?
|
|
|
|
<P>
|
|
Well, this is in the section of the fvwmrc that defines <I>complex fuctions</I>.
|
|
What is germane to this discussion is that this function has been bound to the
|
|
right-most titlebar button so that a mouse action on that button can do, in this
|
|
case, one of three things.
|
|
|
|
<P>
|
|
There are three <I>mouse actions</I> that you can perform:
|
|
|
|
<UL>
|
|
<LI>a single click
|
|
<LI>a double click
|
|
<LI>motion - which is simply pressing the mouse button and then moving it
|
|
slightly, as though you were going to drag-n-drop something.
|
|
</UL>
|
|
|
|
<P>
|
|
What you can see is that in each case, the <B>Maximize</B> function is being invoked,
|
|
but in different ways. A single click causes the window to be maximized to <B>69%
|
|
of the horizontal width of the desktop and 85% of the vertical height</B>.
|
|
|
|
<P>
|
|
Why in the world is it doing THAT!?
|
|
|
|
<P>
|
|
Thanks for asking...
|
|
|
|
<P>
|
|
Remember that I said that I'm running a virtual desktop of 1152 x 900. That gives
|
|
me a desktop that's 1152 pixels wide by 900 pixels high. But, if you check the
|
|
modeline for the resolution I'm currently using, you'll see that I can only view
|
|
about 800 x 600 pixels at a time. The rest is "off-screen" if you will.
|
|
|
|
<P>
|
|
Now, are you getting the picture?
|
|
|
|
<P>
|
|
A full screen application occupies only the 800 x 600 pixels that I view at any
|
|
one time, yet fvwm knows that my "virtual desktop" is actually
|
|
1152 x 900 pixels. Fvwm uses the size of my <EM>virtual desktop</EM> as the
|
|
size to which windows are maximized.
|
|
|
|
<P>
|
|
So, in order for apps on my system to be full screen without extending beyond what
|
|
I can see, I simply maximize them to 69% of 1152 (horizontal) and 85% of 900
|
|
(vertical). You can do a bit of math and make a fair estimate of what values you'll
|
|
need for your system. Simply compare the size of the <EM>virtual desktop</EM> with
|
|
the actual size of the viewable area taken from the modeline you're using.
|
|
|
|
<P>
|
|
For example, suppose that you were running a virtual desktop of 1000 x 800 pixels
|
|
and the viewable area you were using came out to be around 640 x 500 pixels. To
|
|
maximize a window to occupy full screen you'd need to set the <B>horizontal</B>
|
|
value to 640 / 1000 = 64%, and the <B>vertical</B> value to 500 / 800 = 63%.
|
|
|
|
<P>
|
|
In practice, I tried this and found that it worked fairly well, but still needed
|
|
a bit of tinkering to get it right. It's a matter of trial and error after you've
|
|
made an initial estimate.
|
|
|
|
<P>
|
|
Once you get this value right, your apps will happily expand up to full screen
|
|
whenever you single click on the rightmost button. Which brings up a very important
|
|
point and one that I'll probably make again elsewhere:
|
|
|
|
<P>
|
|
<B>If you are running a virtual desktop that's larger than your viewable area
|
|
(such as having a virtual desktop of 1152 x 900 when you're running at a resolution
|
|
of 800 x 600) AND you want to use this maximize funciton, you should put all of
|
|
your peripheral apps, such as the pager, clocks, and other sundries, on the right
|
|
hand side of the screen.</B>
|
|
|
|
<P>
|
|
Why is this important?
|
|
|
|
<P>
|
|
Simple. You'll find that the maximize function is very handy. You fire up a
|
|
program, position it where you want, and then decide that you want to use it full
|
|
screen. When you maximize it, it is enlarged full screen, AND THE UPPER LEFT HAND
|
|
CORNER IS POSITIONED AT +0+0.
|
|
|
|
<P>
|
|
Thus, the window is flush up against the top and left sides. If you put all the
|
|
other windows on the right side, you'll discover that they won't get covered up
|
|
when you maximize a window. Since you'll eventually, if you haven't already, find
|
|
yourself making all kinds of modifications to your desktop, it's important to
|
|
plan out where things should go.
|
|
|
|
<P>
|
|
It's a matter of efficiency.
|
|
|
|
<P>
|
|
Trust me.
|
|
|
|
<P>
|
|
Anyway, what do the other mouse actions do? Well, if you double click on the
|
|
rightmost button the window will be maximized to the FULL VIRTUAL DESKTOP size.
|
|
This hummer will be BIG! There are times when you'll want to do this, especially
|
|
if you're working with a graphics program and are editing a large image file.
|
|
|
|
<P>
|
|
The other mouse action is a bit less intuitive, but still pretty easy. All you
|
|
do is a "baby drag-n-drop". That is, you push the button down, and you
|
|
ever-so-slightly move the mouse as though you were going to drag it somewhere.
|
|
This triggers the "motion" event. In this case, the window is maximized
|
|
only vertically (0 85) to the height of the viewable screen size. If you want to
|
|
be able to maximize horizontally only, simply change the entry to, for example,
|
|
69 0, and the window will be maximized horizontally. Entering a "0"
|
|
for either the horizontal or the vertical entry simply causes the window not to
|
|
be resized in that direction.
|
|
|
|
<P>
|
|
Believe me, once you've got this set and working for you, life becomes good!
|
|
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Closing Apps with the Left Titlebar
|
|
Button</H3>
|
|
|
|
<P>
|
|
You've discovered already that by clicking on the leftmost titlebar button of a
|
|
window, you're presented with a popup menu that lets you perform several different
|
|
window actions such as "Move, Resize, Raise, Lower, (Un)Stick" and so
|
|
forth. You can use this menu to terminate a program if it does not voluntarily do
|
|
so.
|
|
|
|
<P>
|
|
Keep in mind that a "Delete" and a "Destroy" are similar, but
|
|
not identical functions. The Delete fuction sends a signal to the application to
|
|
quietly quit and close down the window. This is the more graceful way to
|
|
<I>request</I> a program to end itself. The other method involves a more violent
|
|
Destroy action, which simply kills the application.
|
|
|
|
<P>
|
|
So, what's the big deal... the end result is the same, isn't it? Not exactly.
|
|
You see, many programs will perform several actions during the course of their
|
|
operation. They may set up temporary files or alter certain environmental
|
|
variables, or set up lock files. When a program quits, at least one that's well
|
|
behaved, it generally cleans up after itself. It'll delete temporary files,
|
|
delete lock files, and generally mop up after itself. Deleting causes the
|
|
application to go about the process of quitting in this manner, if you will.
|
|
Destroying, on the other hand, simply terminates the program, no matter what
|
|
it happens to be doing.
|
|
|
|
<P>
|
|
So where is all this going...
|
|
|
|
<P>
|
|
Well, there's a nice, easy way to close an application that fvwm provides. It is
|
|
one of the built-in fuctions called "Close". This first attempts to
|
|
close an application by signalling it to quit gracefully. If that doesn't work,
|
|
it simply terminates the application. Either way, the app is GHANDI.
|
|
|
|
<P>
|
|
In the section of the fvwmrc that defines menu bindings you should find
|
|
something that looks like this:
|
|
|
|
<PRE>
|
|
# Menu acts like normal twm menu if you just hold the button down,
|
|
# but if you click instead, the menu stays up, motif style
|
|
Function "window_ops_func"
|
|
PopUp "Click" Window Ops2
|
|
PopUp "Motion" Window Ops2
|
|
# Motif would add
|
|
Close "DoubleClick"
|
|
</PRE>
|
|
|
|
In the stock fvwmrc file, this last line is commented out. Simply remove the
|
|
"#" to uncomment it. Then, if you want to close an application, all
|
|
you have to do is double click on the left button. Saves your having to pop up
|
|
the menu and try Delete, and then Destroy.
|
|
|
|
<P>
|
|
Like I said, it's worth about 2¢ :-)
|
|
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Hiding those icons... </H3>
|
|
|
|
<P>
|
|
There's an option in the fvwmrc file that allows you to hide window icons.
|
|
Normally, when you make an icon out of a window, there's a cute little icon
|
|
sitting down at the bottom of desktop. Double clicking on it returns it to
|
|
its former size and location.
|
|
|
|
<P>
|
|
So why would you want to hide the icons?
|
|
|
|
<P>
|
|
Well, if you've opened up several apps and start making icons out of them, you'll
|
|
quickly discover that there are icons all over. At this point, you're all thinking...
|
|
"<I>Yup, just as I thought... this guy is seriously anal...</I>"
|
|
|
|
<P>
|
|
How'd you know :-)
|
|
|
|
<P>
|
|
It's strictly a matter of taste, but I've preferred to keep track of iconified
|
|
windows by using the FvwmWinList function. Clicking on the right button anywhere
|
|
on the root window will bring up the WindowList containing a listing of all the
|
|
applications -- both those that are windowed and those that are iconified. Clicking
|
|
on one of these entries automatically restores the window. Also, I find that it's
|
|
easier and faster to restore programs from the window list than to hunt for the icon.
|
|
|
|
<P>
|
|
Again, strictly a matter of preference.
|
|
|
|
<P>
|
|
If you want to give this a try, you'll find an entry in fvwmrc that looks like:
|
|
|
|
<PRE>
|
|
# SuppressIcons prevents icon windows from being created or drawn.
|
|
# If you uncomment this, and make sure that the WindowList is bound to
|
|
# something, it works pretty much like an icon manager.
|
|
SuppressIcons
|
|
</PRE>
|
|
|
|
simply uncomment the "SuppressIcons" and you're all set.
|
|
|
|
|
|
<H3><IMG ALIGN=BOTTOM SRC="./gx/opus.gif">Menus the MWM way...</H3>
|
|
|
|
<P>
|
|
There's another little alteration that you can make that I've found that I really
|
|
like a lot. It's the way menus are presented. To really get the feel for this
|
|
you'll need to do some quick and easy tinkering. You'll find an entry in the
|
|
fvwmrc file under the "MWM Emulation" heading. It'll look something
|
|
like this:
|
|
|
|
<PRE>
|
|
# MWMMenus affects minor aspects for the look-and-feel of MWM.
|
|
# This option triggers a few other MWM-style options, such as centering
|
|
# the resize/size window on the screen instead of leaving it in the
|
|
# upper left, and switches the resize-on-initial-placement trigger
|
|
# action to shift-button-1 instead of the TWM-style press-button-2
|
|
MWMMenus
|
|
</PRE>
|
|
|
|
By uncommenting the "MWMMenus" entry, you'll find a couple things have
|
|
happened:
|
|
|
|
<UL>
|
|
<LI>Submenus now pop up <I>beside</I> the parent menu, instead of partially
|
|
in front of it and obscuring it.
|
|
<LI>Also, that little blue box that indicates the window position when you
|
|
move or resize a window is now placed in the <I>center</I> of the
|
|
desktop, instead of in the uppermost lefthand corner.
|
|
</UL>
|
|
|
|
This is nice because if you have a virtual desktop larger than your viewable
|
|
screen area, you may reposition windows and not be able to see the geometry
|
|
indicator. Normally, this is OK, but if you're trying to arrange a desktop
|
|
and need to know the exact position of the window, you'll appreciate the fact
|
|
that the indicator is now within easy viewing in the middle of your screen.
|
|
|
|
<P>
|
|
Again, another 2¢ tip! :-)
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 9 -->
|
|
<!-- -->
|
|
<H2><A NAME="xfmail"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">Product Testimonial:
|
|
XFMail for Sendmail-less mail!</A></H2>
|
|
|
|
<P>
|
|
Well, for all of you who've read last month's Gazette about a <I>sendmail-less</I>
|
|
email setup for standalone boxes...
|
|
|
|
<P>
|
|
There's rejoicing!!
|
|
|
|
<P>
|
|
I received the following message from <B>Roman Mitnitski</B>:
|
|
|
|
<BLOCKQUOTE>
|
|
<P>
|
|
From: Roman Mitnitski <mitnits@shani.net><BR>
|
|
To: fisk@web.tenn.com<BR>
|
|
Subject: New application for your toy list<BR><BR>
|
|
|
|
I beleive you should add this mail-reader to your<BR>
|
|
Linux Toys list. It's a way-cool, nice-looking, very functional<BR>
|
|
X11 based pop3-capable mail reader.<BR><BR>
|
|
|
|
Get it from<BR>
|
|
<A HREF="http://Burka.NetVision.net.il/xfmail/xfmail.html">
|
|
http://Burka.NetVision.net.il/xfmail/xfmail.html</A><BR>
|
|
|
|
</BLOCKQUOTE>
|
|
|
|
<P>
|
|
And he wasn't kidding!
|
|
|
|
<P>
|
|
I've been using this now for the last couple weeks and for everyone that has
|
|
gotten the willies from even the <I>thought</I> of having to set up sendmail
|
|
simply for a standalone system...
|
|
|
|
<P>
|
|
Take heart... help is here!
|
|
|
|
<P>
|
|
For anyone that has simple email needs, and by that I mean that you're running
|
|
Linux on a standalone system or small LAN with access to a POP mail server,
|
|
you have to give this thing a whirl! It is really awesome!
|
|
|
|
<P>
|
|
The <B>XFMail</B> program is based upon the <B>Xforms</B> widgets -- a set of
|
|
freely available widgets designed to make X application development faster and
|
|
less complicated. You'll need to install the XForm libs before you can set
|
|
up XFMail. Still, the end result is VERY much worth it!
|
|
|
|
<P>
|
|
Since this month's Gazette is getting a bit large now, I won't go into the steps
|
|
required to install and compile the XForms libs and the XFMail program. I found
|
|
that on a stock Slackware 2.2.0 setup with GCC 2.6.3 and XFree86 3.1.1, that
|
|
everything compiled pretty much without a hitch (you will, however, have to edit
|
|
the Makefile for XFMail and indicate where the XForms libs were installed, since
|
|
the default locations were different than where XForms actually installed itself).
|
|
|
|
<P>
|
|
This is admittedly still <I>Beta</I> software, and so the old warning that
|
|
<B>BETA == BUGS</B> still holds. Still, I've found that this software has been
|
|
pretty stable, VERY easy to configure and use, and has been kind to my mail...
|
|
that is, it's managed NOT to eat any of it yet... :-)
|
|
|
|
<P>
|
|
The list of features really is quite impressive and includes:
|
|
|
|
<UL>
|
|
<LI>retieving mail from POP3 server or local spool file
|
|
<LI>batch SMTP send
|
|
<LI>queued mail
|
|
<LI>MH-style mail folders
|
|
<LI>ability to manipulate messages: view, edit, delete, move to another
|
|
folder, save as draft, forward, bounce, reply to, search, and so forth
|
|
<LI>MANY, MANY configuration options available via easy to use GUI menu
|
|
</UL>
|
|
|
|
<P>
|
|
It does have a few drawbacks, however:
|
|
|
|
<UL>
|
|
<LI>there is no support for MIME messages as of yet
|
|
<LI>spell-checking is not implemented yet
|
|
<LI>the default editor is VERY small and can handle only about 30 lines;
|
|
it can be configured to use an external editor for viewing and editing
|
|
large messages (and this function seems to work well)
|
|
<LI>individual mail folders are limited to around 400 or so messages
|
|
<LI>it is a bit of a resource consumer ;-) and you'll notice that the
|
|
pointer movements over the menus are quite shaky.
|
|
</UL>
|
|
|
|
<P>
|
|
Still, you need to check this thing out. And if you've been jealous of your Win31-touting
|
|
buddies because they're running Eudora... well, your time has come. Give this
|
|
great program a shot!
|
|
|
|
<P>
|
|
Let me know if any of you have trouble getting it installed. Seriously. I
|
|
probably can't fix it for you, but I'd be happy to describe how I got this set up
|
|
on my system.
|
|
|
|
<P>
|
|
Just do it.
|
|
|
|
<P>
|
|
You'll be happy that you did!
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--SECTION 10 -->
|
|
<!-- -->
|
|
<H2><A NAME="colophon"><IMG ALIGN=BOTTOM SRC="../gx/text.gif">Colophon</A></H2>
|
|
|
|
<P>
|
|
<B>Colophon</B>: [from the Gk. <I>kolophon</I> summit, finishing touch] an
|
|
inscription placed at the end of a book or manuscript usu. with facts relative
|
|
to its production.
|
|
|
|
<P>
|
|
I have unabashedly stolen this concept from the great folks at <B>O'Reilly</B>
|
|
publishing. If you've ever read one of their great <I>nutshell</I> series books
|
|
you'll likely find a small <I>colophon</I> at the end of the book. If you're
|
|
looking for truly well written and well researched material on UNIX, these are
|
|
the guys to go to.
|
|
|
|
<P>
|
|
Anyway, I just wanted to wrap up with a few comments and closing thoughts.
|
|
|
|
<P>
|
|
I've had a huge amount of fun writing this. I really have.
|
|
|
|
<P>
|
|
Doing the reading and tinkering necessary to write this up has been a truly
|
|
educational experience. I am FAR from achieving gurudom in any of this... you
|
|
can easily find most all of what I've written about in the README's and manpages
|
|
(although, maybe not in as lucid a fashion... ;-)
|
|
|
|
<P>
|
|
Since I'm trying to keep these at between 70k and 80k in size, I wasn't able to
|
|
include a third of what I'd hoped to get in. So what's still to come...? Much
|
|
more FVWM and X stuff including:
|
|
|
|
<UL>
|
|
<LI>Colors, Colors, Colors!
|
|
<LI>Fonts, Paths, and Icons
|
|
<LI>The Power of Styles
|
|
<LI>The Incredibly configurable XTerm
|
|
<LI>Adding programs to your GoodStuff button bar
|
|
<LI>The power of GoodStuff!
|
|
<LI>Six Must-Have Configuration Utilities
|
|
<LI>Efficient FVWM Desktop Layout
|
|
<LI>X Resources at your fingertips!
|
|
<LI>and anything else I can think of... :-)
|
|
</UL>
|
|
|
|
<P>
|
|
And I still haven't forgotten about writing up <B>fly8</B>! It's one of the nicest
|
|
flight sim's I've seen (take this with a grain of salt... I'm NO gamer...). I'd
|
|
also like to write about a few of the networking apps I've used and found VERY
|
|
helpful.
|
|
|
|
<P>
|
|
In the long term... who knows?
|
|
|
|
<P>
|
|
There's a HUGE amount of stuff to write about the whole topic of shell scripting,
|
|
which, if you haven't tried it yet, opens up some truly powerful features to you.
|
|
FORGET what you've learned about the anemic and infantile MSDOG batch file
|
|
setups, Linux offers some impressively powerful tools in the form of shell
|
|
scripting.
|
|
|
|
<P>
|
|
Let me also commend a couple Web sites to you:
|
|
|
|
<DL>
|
|
<DT><A HREF="http://www.cs.hmc.edu/people/~tkelly/docs/proj/fvwm.html">T. Kelly's
|
|
FVWM home page</A>
|
|
<DD> This is a VERY nice page with LOTS of great information about the FVWM
|
|
window manager. You'll find links to all sorts of resources as well as
|
|
docs and manpages for the various components of fvwm. If you're interested
|
|
in getting the most out of fvwm, you'll have to give this place a looking
|
|
at.
|
|
|
|
<DT><A HREF="http://Burka.NetVision.net.il/xfmail/xfmail.html">The XFMail home
|
|
page</A>
|
|
<DD> Once again, you need to give this thing a looking over. Not only does
|
|
the homepage give you information and screen shots about the app, but
|
|
you'll also be able to jump to the homepage for the <B>XForms</B> stuff
|
|
as well.
|
|
|
|
<DT><A HREF="ftp://ftp.cs.uiuc.edu/pub/xemacs/">The XEmacs FTP site at UIUC</A>
|
|
<DD>I've just installed the Xemacs package from the folks at UIUC. I've
|
|
been reading about this for some time now and finally got online long
|
|
enough to ftp this monster. It'll chew up about 3 hours or so of ftp
|
|
time if you're connected at 14.4... Still, I've only started playing
|
|
around with it in the past couple days, but it really is a much nicer
|
|
<I>appearing</I> emacs editor. If you've got the time, give this a try.
|
|
<DT><A HREF="http://www.acm.org/~daveotto/linux.html">The Wizard's LinuX Page</A>
|
|
<DD>Looking for Linux resources...? Then you've GOT to check this guy's
|
|
page out! This guy is one <I>serious</I> URL packrat and there's
|
|
<I>goobs</I> of links to Linux stuff all over! If you're in one
|
|
of those "cruisin' for Linux stuff..." type moods, kick
|
|
back with a Coke and bag 'o chips and launch out from here...
|
|
</DL>
|
|
|
|
<P>
|
|
Finally, let me put a plug in for another LINUX Web Author...<B>Scott Dowdle</B>
|
|
|
|
<P>
|
|
I recieved this letter from Scott a little while ago...
|
|
|
|
<PRE>
|
|
|
|
Date: Sat, 02 Sep 1995 16:53:23 CDT
|
|
From: Phil <burtonp@initco.net>
|
|
To: <fisk@web.tenn.com>
|
|
Subject: Silicon Times Reports?
|
|
|
|
Hello,
|
|
|
|
This is Scott Dowdle in Great Falls, Montana... and I'm a fellow Linux
|
|
user. I'm "hooked" too.
|
|
|
|
It just so happens that I've gotten myself involved with a digital
|
|
magazine that has been around for over 8 years... called Silicon Times
|
|
Report, or STReport or STR for short. STR has allowed me to start
|
|
writing a Linux column...
|
|
|
|
[snip]
|
|
|
|
and he offered to let me start a Linux column.
|
|
Check out STR at http://www.streport.com
|
|
|
|
Hope to hear from you ASAP, Scott Dowdle - Great Falls, Montana
|
|
|
|
</PRE>
|
|
|
|
<P>
|
|
Scott basically began writing a column for the <A HREF="http://www.streport.com/">
|
|
Silicon Times Report</A> a little while ago after writing the editor and complaining
|
|
that the ezine was WAY too Microsoft oriented. In response, the guy offered to let
|
|
him write an article about LINUX!
|
|
|
|
<P>
|
|
So, go take a look! You'll probably need to do this with a Windows (ugghhh...)
|
|
box, since I believe that the STR uses the Adobe Acrobat reader which you can
|
|
ftp from STR. Scott sent a clipping of one of his recent articles and I'd very
|
|
much recommend your supporting him. Drop him a note!
|
|
|
|
<P>
|
|
And finally, I wanted to say once again that I REALLY do appreciate folks writing
|
|
and offering ideas and suggestions as well as the encouragement that a number of
|
|
you have offered. Each issue takes on the order of 20 hours or so of writing and
|
|
research to flesh out. It's definitely enjoyable and I'll admit to being a bit
|
|
loquacious at times... but I appreciate the encouragement and I'm always glad to
|
|
hear that someone's found something useful here.
|
|
|
|
<P>
|
|
Also, I apologize to anyone whom I promised to include something they sent and
|
|
it didn't make it in this issue. The 'ol home system underwent a somewhat rocky
|
|
upgrade here recently and a few things got mislaid. Be patient, I'll eventually
|
|
get this act together... :-)
|
|
|
|
<P>
|
|
Anyway, hope you've enjoyed!
|
|
|
|
<P>
|
|
Cheers! <BR><BR>
|
|
John
|
|
|
|
<P>
|
|
<I>(Post-colophon... Sunday, 24 Sept 1995, I just got a note from the publisher of
|
|
the <A HREF="http://www.ssc.com">Linux Journal</A> with a correction: their phone
|
|
number is (206) 782-7733. This is the number you'll want to call to order this
|
|
excellent journal. The previous number, (206) 782-7191, is their FAX number. I
|
|
as also informed that they're in the midst of putting previous articles online, so
|
|
they will soon become browseable. I'll be adding links to these in the upcoming
|
|
editions of the Gazette, but wanted to get the word out about these very worthy
|
|
offerings. -John</I>
|
|
|
|
<H4>"The Linux Gazette...<I>making Linux just a little more fun...!</I>"
|
|
</H4>
|
|
|
|
<P>
|
|
<A HREF="#toc"><IMG ALIGN=BOTTOM SRC="./gx/toc.gif"></A>
|
|
<A HREF="mailto: fiskjm@ctrvax.vanderbilt.edu"><IMG ALIGN=BOTTOM SRC="./gx/sendmail.gif"></A>
|
|
<A HREF="./gazette_toc.html"><IMG ALIGN=BOTTOM SRC="./gx/index.gif"></A>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="./gx/home.gif"></A>
|
|
<BR><BR>
|
|
<HR>
|
|
|
|
|
|
|
|
<H4>Got any <I>great</I> ideas for improvements! Send your
|
|
<A HREF="mailto:fiskjm@ctrvax.vanderbilt.edu">comments, criticisms, suggestions, and ideas.</H4>
|
|
<BR>
|
|
<A HREF="./linux/linux.html"><IMG ALIGN=BOTTOM SRC="../gx/back.gif">Back up to Linux
|
|
HomeBoy WebPage</A> <BR>
|
|
<BR>
|
|
|
|
<I>This page written and maintained by:</I><BR>
|
|
<ADDRESS>
|
|
<A HREF="./jmf.html">John M. Fisk</A> at <A HREF="mailto:fiskjm@ctrvax.vanderbilt.edu">
|
|
fiskjm@ctrvax.vanderbilt.edu</A>
|
|
</ADDRESS>
|
|
|
|
</BODY>
|
|
</HTML>
|