Configuring Netscape on UNIX
Table of Contents
- 1. Introduction
- 2. Getting Netscape
- 3. Understanding Netscape on UNIX
- 4. Configuring Netscape
- 4.1. X resources
- 4.2. ~/.netscape/preferences.js
- 5. Fonts
- 6. Network Settings
- 7. Plug-ins
- 7.1. Macromedia Flash Player
- 7.2. Acrobat Reader
- 7.3. Plugger
- 7.4. Unix MIDI Plugin
- 7.5. RealPlayer
- 8. Helper Applications
- 9. Command Line Switches Specific to Netscape
- 10. Resources
1. Introduction
Everyone has used Netscape and everyone seems to share the same waffling opinion.
I hear, "I hate it!" and "It’s great!" from the same people…sometimes even in the same
day. While Netscape on UNIX can leave a bit to be desired in terms of the quick end-
user experience, it is a reasonable browser and is often times needed for some
applications.
I use Netscape on UNIX more than any other browser, but I also switch between
Netscape, Internet Explorer, Mozilla, and OmniWeb. I have not found a perfect browser
and I don’t think one will ever exist. Netscape irritates me the least, probably because
I’ve been using it the longest. If you’re cringing right now, then what I’m about to
explain may be what you’re looking for. If you’re ever forced into using a system with
only one browser and that browser is Netscape, then the information provided in this
document could prove to be useful at some point in the future.
2. Getting Netscape
If you lack Netscape, you can get the latest release from ftp.netscape.com in the
/pub/communicator directory.
3. Understanding Netscape on UNIX
The UNIX version of Netscape was originally written for IRIX. After that initial release, it was eventually ported to other UNIX
platforms as the need arose. Unfortunately, each UNIX system is slightly different than
the other, making for a common code base between them all being close to impossible.
You need to understand the time period when this was all happening and that we had
no GTK+ and we didn’t have Qt, and Linux wasn’t even really usable yet. We have to
make mistakes to move forward.
With that in mind, Netscape settled on the 1.2 version of Motif. It worked across all the
UNIX platforms they wanted to support and it cut down on development time because
they did not have to create a new toolkit. In addition, many vendors were already
shipping Motif 1.2 or were on the verge of doing so, with the advancement of CDE
across most major UNIX operating systems. By choosing Motif, Netscape would (in
theory) be welcomed into the CDE world if it looked and acted like other CDE programs.
The choice of Motif for the Netscape on UNIX toolkit made supporting Linux rather
difficult. Since Motif costs money, they could not assume people would have it. So the
only real choice was to statically link Netscape on Linux with Motif. This is one of the
big reasons why it is so slow on Linux. If you use Netscape on IRIX or Solaris, where a
dynamically linked version is available, you will notice a slightly more responsive UI.
So, it is a Motif program and works like most other Motif 1.2 applications. Most people
on Linux first experience Motif under Netscape, which is probably bad because Motif is
a nice toolkit to work with. Lastly, Motif suffers from something that cannot be
corrected: it’s ugly. So, we just create new less-ugly toolkits and move on to using
those. Even still, Motif will have to remain a staple of most commercial UNIX operating
systems because it is so well established in that user base. Netscape Communicator
will continue to use Motif, but the newer Netscape releases based on Mozilla have
moved to using GTK+ on the UNIX platform. A bit slower, but a little nicer and more
"current".
Lastly, it’s worth noting that Netscape does not behave like a normal X application. This
is good and bad, so I won’t bother arguing either side there. Just understand that it
doesn’t respond to normal X command line options, but it does support useful options
that give you essentially the same type functionality (some are even unique to Netscape
and browsing in general). Remember that Netscape on UNIX works across many UNIX
platforms, so trying to conform to each of those standards would have been more time
consuming than settling on a standard across all the Netscape versions.
4. Configuring Netscape
Netscape makes use of X resources as well as its own custom configuration file. More
things can be configured via the custom file, but X resources usually provide a quick
and easy way to change a setting. First, I’ll explain X resources:
4.1. X resources
The .Xdefaults file in your home directory holds X resources for any applications
that support them. You may already have X resources for XTerm or a similar
program. The format of an X resource is:
Program*resource: value
For a listing of pretty much all possible X resources for Netscape, have a look at
the Netscape.ad file in your Netscape program directory (probably
/usr/lib/netscape, /usr/local/netscape, or /opt/netscape). This file has all the
Netscape X resources complete with comments and possible values.
With that in mind, here are some handy X resource settings for customizing
Netscape. Put these in your ~/.Xdefaults file:
- Disable the useless buttons, like Shop, on the toolbar:
Netscape*toolBar.destinations.isEnabled: false
Netscape*toolBar.myshopping.isEnabled: false
Netscape*toolBar.search.isEnabled: false
Netscape*toolBar.viewSecurity.isEnabled: false
Netscape*toolBar.home.isEnabled: false
Netscape*toolBar.print.isEnabled: false - Change the default text selection color:
Netscape*selectForeground: White
Netscape*selectBackground: Blue
- Disable the splash screen on startup:
Netscape*noAboutSplash: true
- Add a Find button to the toolbar:
Netscape*toolBar.userCommand1.commandName: findInObject
Netscape*toolBar.userCommand1.labelString: Find
Netscape*toolBar.userCommand1.commandIcon: Search - Create a custom reply message for Netscape Messenger:
Netscape*strings.21928:%s proclaimed:
p> - Disable the
BLINK> tag: Netscape*blinkingEnabled: false
- Send error messages to the console and not popup dialogs:
Netscape*useStderrDialog: false
Netscape*useStdoutDialog: false
There are many other things you can configure through X resources, be sure to
have a look at the Netscape.ad for more ideas.
4.2. ~/.netscape/preferences.js
Settings in this file are the other way to configure Netscape and for some things it
is the only way. This file cannot be edited while Netscape is running because the
program reads in all the values when the program starts and then writes out a
new copy of the file when it exits (or crashes). Be sure to exit Netscape first
before editing this file.
The toolbar buttons can be disabled through this file:
user_pref("browser.chrome.disableMyShopping", true);
user_pref("browser.chrome.disableNetscapeRadio", true);
user_pref("browser.chrome.useGuideButton", true);
You can also change the default start page for Netscape Messenger through this
file:
user_pref("mailnews.start_page.enabled", false);
user_pref("mailnews.start_page.url", "http://your.url.here");
Netscape keeps a fairly comprehensive list of settings that can be present in this
file on their web site. The URL is:
http://developer.netscape.com/docs/manuals/communicator/preferences/
Be sure to check that site for additional settings you can configure through the
preferences.js file.
5. Fonts
Fonts can be difficult to work with in Netscape. The defaults are pretty bad and it
usually turns people away because they can’t read Slashdot in 6 pt Times or something
like that. There are several tricks to getting the fonts looking better under Netscape.
- Motif Fonts: One of the first things I do on a system is change the fonts that Motif
uses to draw text on the toolbar buttons and menus. You do this with a set of X
resources:Netscape*fontList: nexus
Netscape*XmTextField.fontList: nexus
Netscape*XmText.fontList: \
-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
Netscape*XmList.fontList: \
-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*
Netscape*menuBar*historyTruncated.fontList: \-*-helvetica-medium-o-*-*-*-120-*-*-*-*-iso8859-*
Netscape*popup*fontList: \
-*-helvetica-medium-r-normal-*-*-120-*-*-*-*-iso8859-*
Netscape*licenseDialog*text.fontList: \
-adobe-courier-medium-r-*-*-*-120-*-*-*-*-iso8859-*You can use the xfontsel program to generate new font resource lines if you
want to use different fonts for your menus and buttons. - Font Server: The method below is specific to a system using XFree86. I hear it
works nicely, but I’ve never tried it. These changes should be made outside of X.- Force 100dpi on the local display by opening the Xservers configuration
file for xdm. On FreeBSD, this is /etc/X11/xdm/Xservers. Change this
line::0 local /usr/X11R6/bin/X
To:
:0 local /usr/X11R6/bin/X -dpi 100
- Modify the font server to use 100dpi fonts by default. Open the font server
configuration file (/etc/X11/fs/config on FreeBSD) and change this line:default-resolutions = 75,75,100,100
To:
default-resolutions = 100,100,75,75
- If you like smaller fonts over larger ones, change the default-point-size in
the font server configuration file to a smaller value. The units for this value
is decipoints (a misnomer if you ask me, since the config file setting is
default-point-size and not default-decipoint-size), so 120 means point size
12. - Lastly we can tell the X font server to not serve out scaled fonts. This can
be considered optional. In the font server configuration file again
(/etc/X11/fs/config on FreeBSD), find the catalogue line. It will have a
series of directories listed, somewhat like a path variable (but with
commas). For every directory that has a ":unscaled" equivalent, remove
the one without the ":unscaled" suffix. If you’re missing the ":unscaled"
ones, I suppose you can ignore this step.
- Force 100dpi on the local display by opening the Xservers configuration
-
TrueType Fonts: If you’re using XFree86 4.x or other server that supports
TrueType fonts, you can add *.TTF font files from Windows or another source.
You cannot use TrueType fonts from MacOS though, different file format.Microsoft offers common TrueType fonts for free on their web site:
http://www.microsoft.com/typography/
Unfortunately you can only get them as self-extracting executable files, but I’m
sure you can find a Windows machine to extract them on.Once you have the TrueType fonts you want installed, copy them to
/usr/X11R6/lib/X11/fonts/TrueType (make that directory if it doesn’t exist). You’ll
want to make sure you have the freetype module loaded. Check your
/etc/X11/XF86Config file for that. Before X can use the fonts, you’ll have to
create a fonts.dir file for the TrueType font directory. Use ttmkfdir to create the
file (freshmeat search if you lack the utility). Once you have the TrueType fonts
installed, you can select them in the Netscape preferences dialog.
6. Network Settings
Everyone knows the Netscape thing that happens when you try to pull a site that isn’t up
or no longer exists: your browser hangs until the network connection times out. Very
annoying. Fortunately, Netscape has a few preferences.js settings that allow you to fix
some of these things.
- Load images after loading text.
user_pref("images.incremental_display", false);
- Increase the maximum number of simultaneous connections that Netscape
keeps open. The default is 4, which is suitable for a slow modem (that’s
redundant). Modem users can bump this to 6, and direct connection users
can safely use any value higher than 8.user_pref("network.max_connections", 12);
- Favor UI refreshes over network activity (this is the one that fixes the problem
described above).user_pref("network.speed_over_ui", false);
- Increase the size of the TCP buffer.
user_pref("network.tcpbufsize", 256);
- Decrease the network connection timeout for quicker identification of dead
sites.user_pref("network.tcptimeout", 25);
NOTE: I used 25 for this for several weeks and ran into some issues. It was
timing out before the system had completed the DNS lookup. Might want to
use 64 or 128 or even higher depending on your connection speed.
7. Plug-ins
On Windows or MacOS, a browser plug-in is easy to install and often times already
there. Under UNIX we don’t have a lot of plug-ins, and the ones we do have don’t have
automatic installers. The following is a list of available plug-ins and where you can get
them. Installation of each plug-in varies, but they all come with instructions that explain
how to get it working.
7.1. Macromedia Flash Player
Macromedia offers version 5.0 of its Flash Player for Linux on Intel hardware.
Download it from their site and follow the instructions on the download page to
get it installed. The URL is:
http://www.macromedia.com/shockwave/download/
Macromedia also offers Flash Player for IRIX and Solaris SPARC, but not Linux
on non-Intel architectures.
7.2. Acrobat Reader
Acrobat Reader is an oddball (ever heard of the Acrobat Reader crawl?). It can
be configured as a helper application or a plug-in. Helper applications are
explained in the next section. To use Acrobat Reader as a plug-in, create a
symbolic link from the nppdf.so file in your Acrobat program directory to the
Netscape plugins directory.
7.3. Plugger
Plugger is a streaming media plug-in for Netscape on UNIX. It spawns external
applications to handle the content. For more information:
http://www.hubbe.net/~hubbe/plugger.html
7.4. Unix MIDI Plugin
In the event that you encounter a web page with useful background MIDI music,
the Unix MIDI Plugin is what you need. It uses TiMidity for software-based
wavetable synthesis. Who cares?! If you really want to install this one, check
out this page:
http://unixmidiplugin.tripod.com/
7.5. RealPlayer
Real Networks offers RealPlayer for the Linux platform, as well as several other
UNIX platforms. The recommended way of using it with Netscape is to configure
it as a helper application, as described in the section below.
8. Helper Applications
Netscape can be configured to spawn external programs when it encounters a certain
document type. The nullplugin handles this, despite having a name which makes it
sound pointless. I like to configure Netscape to spawn Acrobat Reader for PDF files
and RealPlayer for that sort of content. It’s quite easy to configure and can even be
done through the Preferences dialog. But, there is a very useful site that is actively
maintained that provides a replacement .mailcap file for use with Netscape which has all
kinds of helper applications configured. The author provides precompiled binaries for
Solaris, but he also notes where he got the source so you can build it on your own. The
site is:
http://home.swipnet.se/~w-10694/helpers.html
I won’t bother reproducing that here because the author of that site does a great job at
explaining it all. I usually don’t use his entire mailcap, but rather go and add things as I
need them.
NOTE: Some of the software he uses is really really old, but it still works. There are
alternatives that you can configure instead, but remember that you want a helper
application to start quickly, which is one advantage to using old featureless software.
9. Command Line Switches Specific to Netscape
There are several command line options available with the UNIX version of Netscape.
For starters, you can start any component of Netscape Communicator by using an
option on the command line when you run netscape:
Open Messenger | -messenger |
Open Composer | -composer -edit |
There are several UI command line switches that you may find useful:
Specify the X display to use | -display [number] |
Specify the X visual to use | -visual [number] |
Disable the splash screen | -no-about-splash |
Ignore window geometry saved for session. | -ignore-geometry-prefs |
Don’t save session’s window geometry | -dont-save-geometry-prefs |
Ignore the alwaysraised, alwaysopened, and z-lock attributes of JavaScript window.open(). |
-dont-force-window-stacking |
Show only the component bar. | -component-bar |
Specify geometry (default is 620×950+630+40) |
-geometry =WxH+X+Y |
Some UNIX workstations only support low color depths. Netscape offers some options
that make it easier to work on those platforms:
Install a private color map | -install |
Use the default color map | -no-install |
Set the maximum number of colors to allocate for images. |
-ncols [number] |
Force 1-bit deep image display | -mono |
The coolest feature, in my opinion, of Netscape on UNIX is the ability to control via the
command line. You can open web sites, open files, save sites and files, add new
bookmarks, and other things all from the command line and all on the currently running
copy of Netscape. The following site:
http://home.netscape.com/newsref/std/x-remote.html
Contains the details needed to use the remote control functionality.
10. Resources
- Netscape Communicator Preferences Index:
http://developer.netscape.com/docs/manuals/communicator/preferences/ - Using TrueType Fonts with XFree86:
http://www.daemonnews.org/200011/truetype.html - The "ready-to-go" Solaris Helpers Page:
http://home.swipnet.se/~w-10694/helpers.html - Microsoft Typography (free TrueType fonts):
http://www.microsoft.com/typography/ - Macromedia Flash Player:
http://www.macromedia.com/shockwave/download/ - Plugger:
http://www.hubbe.net/~hubbe/plugger.html - Unix MIDI Plugin:
http://unixmidiplugin.tripod.com/ - Communicator’s Command Line Options:
http://developer.netscape.com/docs/manuals/deploymt/options.htm#Unix - Remote Control of UNIX Netscape:
http://home.netscape.com/newsref/std/x-remote.html - Colas Nahaboo X mouse wheel scroll page:
http://koala.ilog.fr/colas/mouse-wheel-scroll/