incognu.com web
page styles:
gradient
light
dark gradient
dark


distros recommended by GNU:

my builds

(For GNU/Linux only. These are rebranded as "Incognilla" and based on SeaMonkey code, with some varying modifications and optimisations. These are Free builds. I'm currently dealing with the plugin nag by simply deleting libnullplugin.so in most of these builds.)

i686
incognilla-1.1.14.2009022507.O2-i686.tar.bz2
md5sum: fa56b322c90de6b744768956277ada9e
  • gcc-4.4.2
  • glibc-2.6.1
  • libstdc++.so.6.0.9
  • LDFLAGS="-Wl,-O1,--hash-style=gnu"
  • based on SeaMonkey source
  • tweaked form elements (to restore defaults, cd incognilla/res && cp forms.ORIG.css~ forms.css)
  • profiles in ~/.mozilla
.mozconfig:
ac_add_options --enable-application=suite
ac_add_options --enable-optimize="-O2 -march=i686 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fweb -ftracer -fstack-protector"
ac_add_options --enable-default-toolkit=gtk2
ac_add_options --enable-xft
ac_add_options --enable-static
ac_add_options --disable-shared
ac_add_options --disable-tests
ac_add_options --enable-svg
ac_add_options --disable-debug
ac_add_options --disable-freetype2
ac_add_options --without-system-nspr
ac_add_options --without-system-zlib
ac_add_options --without-system-jpeg
ac_add_options --without-system-png
ac_add_options --without-system-mng
ac_add_options --disable-pedantic
ac_add_options --enable-extensions="cookie wallet content-packs xml-rpc xmlextras help p3p pref transformiix venkman inspector irc universalchardet typeaheadfind webservices spellcheck gnomevfs auth sroaming xmlterm datetime finger tasks xforms permissions schema-validation"
ac_add_options --with-distribution-id=incognilla
ac_add_options --with-user-appdir=.mozilla
ac_add_options --disable-gnomeui
ac_add_options --disable-gnomevfs
ac_add_options --enable-strip
ac_add_options --disable-updater
ac_add_options --disable-logging
ac_add_options --disable-pango
ac_add_options --disable-ipv6


patches

patch.inc.tar.bz2 This contains the diffs, images, and scripts used to modify the source code. Redone as of 20080213; includes the "img.pak.5" previously available as a separate download.

These are only needed if you want to compile your own modified builds.

info

To obtain the source code, either download the release source code from ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases or get the most recent from cvs:
$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login
$ type anonymous as the password
$ cvs -d :pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -r MOZILLA_1_8_BRANCH mozilla/client.mk
$ cd mozilla
$ cvs up -dr MOZILLA_1_8_BRANCH client.mk
$ make -f client.mk checkout MOZ_CO_PROJECT=suite

Here is a typical build script:
#!/bin/bash
echo Setting parameters...
export CFLAGS="-O2 -march=i686"
export CXXFLAGS="$CFLAGS"
MOZILLA_OFFICIAL=1
BUILD_OFFICIAL=1
SUITEBUILDROOT=/tmp/hotbuild/CURRENT/mozilla # The rootdirectory of the buildprocess
MOZCONFIG=/tmp/hotbuild/CONFIGS/.mozconfig-1_8-O2-nopatch # The place where the .mozconfig file is stored
ERRORFILE=/tmp/hotbuild/CURRENT/errors-O2-nopatch-`date +%Y%m%d%H`
MOZ_PKG_PLATFORM=`date +%Y%m%d%H`.O2
MOZ_PKG_FORMAT=BZ2
export MOZ_PKG_PLATFORM
export MOZ_PKG_FORMAT
export MOZILLA_OFFICIAL
export BUILD_OFFICIAL
export MOZCONFIG
echo Compiling the build...
cd $SUITEBUILDROOT
ccache make -f client.mk build 2>>$ERRORFILE
MOZ_PKG_PLATFORM=`date +%Y%m%d%H`.O2
MOZ_PKG_FORMAT=BZ2
export MOZ_PKG_PLATFORM
export MOZ_PKG_FORMAT
make -C /tmp/hotbuild/CURRENT/O2-nopatch/xpinstall/packager
cd $SUITEBUILDROOT
cd ../O2-nopatch/dist/
ls *.tar.bz2 > O2-nopatch.`date +%Y%m%d%H`.lst
cp -v *.tar.bz2 ../../
cd ../../
md5sum *.tar.bz2 > md5sum.txt

In order to build outside the $SUITEBUILDROOT (outside your downloaded source code), place the location where you want the build to take place at the top of your .mozconfig:
mk_add_options MOZ_OBJDIR=/tmp/O2-nopatch

change content radio buttons

Put this code goes at the end of forms.css in the SeaMonkey app directory, in res:

input[type="radio"] {
  -moz-appearance: radio !important;
  width: 13px !important;
  height: 13px !important;
  margin: 3px 3px 0px 5px !important;
  padding: 0 !important;
  cursor: default !important;
  -moz-binding: none !important;
  -moz-border-radius: 100% !important;
  -moz-box-sizing: border-box !important;
  color: -moz-FieldText ! important;
}

input[type="radio"][disabled],
input[type="radio"][disabled]:active,
input[type="radio"][disabled]:hover,
input[type="radio"][disabled]:hover:active {
  padding: 1px !important;
  color: GrayText ! important;
}

*|*::-moz-radio {
  width: 4px !important;
  height: 4px !important;
  border: 0 none !important;
  background-color: transparent !important;
  -moz-border-radius: 3px !important;
}

html input[type="radio"] {
   margin: 2px 3px 2px 5px !important;
   background-image: url("radio.png") !important;
   background-repeat:no-repeat !important;
   background-color: transparent !important;
   border: 0 none !important;
   -moz-outline:none !important;
   vertical-align: text-bottom !important;
}

html input[type="radio"]:checked {
   background-image: url("radio_checked.png") !important;
   background-repeat:no-repeat !important;
   background-color: transparent !important;
   border: 0 none !important;
}

html input[type="radio"]:focus {
   border: 0 none !important;
}

You need two images, radio.png and radio_checked.png. They go in the same directory with forms.css.
From menuicons in my Nuvola theme (as in KDE and gtk): radio.png radio_checked.png
From menuicons in my Nereid theme: radio.png radio_checked.png
From menuicons in my Eurynome theme: radio.png radio_checked.png
From menuicons in my Sirena theme: radio.png radio_checked.png

This hack was posted by CatThief a couple years ago.

change file icons

These are the default icons you see in SeaMonkey when browsing a directory, such as a local directory; they aren't the ones in the filepicker dialogue.

Replace gopher-unknown.gif and gopher-menu.gif in res/html/ with images of your choice. They can even be png instead of gif, but they must have the gif file extension: they must be named gopher-unknown.gif and gopher-menu.gif.

speed

3 things.
1. Disable ipv6 in about:config: set network.dns.disableIPv6 to true
2. Disable pango: put export MOZ_DISABLE_PANGO=1 in your .bash_profile. (This file, which you can create if you don't have it, is located in your home directory along with .bashrc: ~/.bash_profile; .bashrc is also acceptable for this.. GNU/Linux only. This isn't necessary with my Incognilla builds, as they are built without pango.)
Those two make a big difference.
3. tweak your settings in about:config or user.js. Optimal settings vary. These suggestions from Lontronics are good:
/* SPEED SETTINGS */
user_pref("browser.display.show_image_placeholders", false);
user_pref("browser.cache.memory.capacity", 65536);
user_pref("browser.cache.disk_cache_ssl", true);
user_pref("browser.sessionhistory.max_viewers", 5);
user_pref("browser.xul.error_pages.enabled", true);
user_pref("content.interrupt.parsing", true);
user_pref("content.max.tokenizing.time", 2250000);
user_pref("content.maxtextrun", 8191);
user_pref("content.notify.backoffcount", 5);
user_pref("content.notify.interval", 750000);
user_pref("content.notify.ontimer", true);
user_pref("content.switch.threshold", 750000);
user_pref("nglayout.initialpaint.delay", 150);
user_pref("network.http.max-connections", 48);
user_pref("network.http.max-connections-per-server", 32);
user_pref("network.http.max-persistent-connections-per-proxy", 16 );
user_pref("network.http.max-persistent-connections-per-server", 8);
user_pref("network.http.pipelining", true);
user_pref("network.http.pipelining.maxrequests", 8 );
user_pref("network.http.pipelining.firstrequest", true);
user_pref("network.http.proxy.pipelining", true);
user_pref("signed.applets.codebase_principal_support", false);

/* EXTRA STUFF NETWORK & DNS SETTINGS */
user_pref("network.dnsCacheExpiration", 360);
user_pref("network.dnsCacheEntries", 100);
user_pref("network.dns.disableIPv6", true);
user_pref("network.ftp.idleConnectionTimeout", 60);
user_pref("network.http.keep-alive.timeout", 30);
user_pref("network.http.request.max-start-delay", 5);
user_pref("network.http.connect.timeout", 30);
Note that some prefer not to allow ssl caching (browser.cache.disk_cache_ssl) for security reasons.
Note also that if you're using a proxy, SeaMonkey sees that proxy as the one server it uses, so you must adjust per-server connections upwards.

ok, 4 things: compile it yourself with some speed patches and optimisations.

5: try Polipo. I've had good luck with this.

Other things, like dns lookup and various OS network settings, can also influence speed.

page-theme-button in statusbar

Puts a button (with menupopup) in statusbar for convenient stylesheet switching
Find, backup, and extract comm.jar in the seamonkey app directory.
Find chrome://navigator/content/navigator.xul (er, /comm/content/navigator/navigator.xul).
Go down the file until you find:

<statusbar id="status-bar" class="chromeclass-status" contentAreaDNDObserver);">
   <statusbarpanel id="component-bar"/>


At that point, paste this in, right after the component-bar (you can put it in before if you want):

<statusbarpanel id="page-theme-button" type="menu" class="statusbarpanel-menu-iconic" accesskey="&useStyleSheetMenu.accesskey;" observes="isImage">
           <menupopup onpopupshowing="stylesheetFillPopup(this);"
                     oncommand="stylesheetSwitchAll(window.content, event.target.getAttribute('data')); setStyleDisabled(false);" type="radio">
            <menuitem label="&useStyleSheetNone.label;" accesskey="&useStyleSheetNone.accesskey;" oncommand="setStyleDisabled(true); event.stopPropagation();" type="radio"/>
            <menuitem label="&useStyleSheetPersistentOnly.label;" accesskey="&useStyleSheetPersistentOnly.accesskey;" type="radio"/>
          </menupopup>
      </statusbarpanel>


(adapted that from an old version of Firebird.)


Then save. Pack comm.jar back up ... $ zip -r comm.jar content and replace the original comm.jar with your hacked version.

You'll need an icon for it ... You could use a menuicon from one of my themes, such as this:
chrome://global/skin/subskin/menuicons/theme.png

Drop it in your profile chrome folder and adapt this for your userChrome.css:


#page-theme-button {
   list-style-image: url("page-theme-btn.png");
   -moz-image-region: rect(0px 16px 16px 0px);
}

#page-theme-button:hover {
   -moz-image-region: rect(16px 16px 32px 0px);
}

#page-theme-button:hover:active {
   -moz-image-region: rect(32px 16px 48px 0px);
}

#page-theme-button[disabled="true"] {
   -moz-image-region: rect(48px 16px 64px 0px) !important;
}



Insert "File Bookmark" in context menu

Find, back up and extract comm.jar (seamonkey app directory's chrome directory): you want content/communicator/contentAreaContextOverlay.xul. You'll need to add this code, taken from navigatorOverlay.xul:

First, overwrite this:
<!DOCTYPE overlay SYSTEM "chrome://communicator/locale/contentAreaCommands.dtd" >

with this:
<!DOCTYPE overlay [
<!ENTITY % navigatorDTD SYSTEM "chrome://navigator/locale/navigator.dtd" >
%navigatorDTD;
<!ENTITY % contentAreaCommandsDTD SYSTEM "chrome://communicator/locale/contentAreaCommands.dtd" >
%contentAreaCommandsDTD;
]>


Then add the code which will actually insert the menuitem:
<menuitem key="addBookmarkAsKb" observes="Browser:AddBookmarkAs"/>

in the appropriate spot within the menuitems listing ... a logical spot would be following this:
<menuitem id="context-bookmarkpage"
    label="&bookmarkPageCmd.label;"
    accesskey="&bookmarkPageCmd.accesskey;"
    oncommand="gContextMenu.addBookmark();"/>

This should put "File Bookmark...     Ctrl+D" in the context menu.

Making SeaMonkey use the correct international date format YYYY-MM-DD

(I formerly called this "correct ISO date format" but now that the ISO is nothing more than a pathetic joke with zero credibility …)

instructions for GNU/Linux
Start seamonkey with the LC_TIME environment variable set as follows:
LC_TIME=en_DK /path/to/seamonkey
Try this from the terminal first.
If it prints that this locale is not present, you will need to install it on your system.
How you do it probably depends on your distro; I already had it in Vector; in Debian 3.1 I edited /etc/locale.gen to add this:
en_DK ISO-8601
then as root run locale-gen
... at which point it worked.

You can make a link to a shell script with the above in it to use instead of your regular SeaMonkey shortcut.

Note that if you have LC_ALL set, that will override your other locale settings. Either unset it, or if you must set it, unset it locally for seamonkey:
export LC_ALL="";export LC_TIME="en_DK.UTF-8"
/path/to/seamonkey

Note that en_DK is a fictional locale (English-Denmark) set up specifically for this date format.

Changing the SeaMonkey throbber

It's fairly easy to change the throbber SeaMonkey uses.  All you need to do is put the throbber images in your profile chrome directory, and add the necessary lines to your userChrome.css.

You can also change the tab-icon, and you can use the small throbbers from these sets, if the small size is 16px.

The following is a sample of the code used:
#navigator-throbber {
    list-style-image: url("throbber-single.png") !important;
}

#navigator-throbber:hover {
    list-style-image: url("throbber-single-hov.png") !important;
}

#navigator-throbber[busy="true"] {
    list-style-image: url("throbber-anim.gif") !important;
}

/* small */
window[chromehidden~="toolbar"] #navigator-throbber,
#navigator-throbber[buttonstyle="text"],
#navigator-throbber[buttonstyle="pictures"],
#navigator-throbber[toolbarmode="small"] {
    list-style-image: url("throbber24-single.png") !important;
}

window[chromehidden~="toolbar"] #navigator-throbber:hover,
#navigator-throbber[buttonstyle="text"]:hover,
#navigator-throbber[buttonstyle="pictures"]:hover,
#navigator-throbber[toolbarmode="small"]:hover {
    list-style-image: url("throbber24-single-hov.png") !important;
}

window[chromehidden~="toolbar"] #navigator-throbber[busy="true"],
#navigator-throbber[buttonstyle="text"][busy="true"],
#navigator-throbber[buttonstyle="pictures"][busy="true"],
#navigator-throbber[toolbarmode="small"][busy="true"] {
    list-style-image: url("throbber24-anim.gif") !important;
}

Naturally, you'll need to edit it to use the actual names of the throbbers.

I've made these throbbers into "throbber-packs" which may make it a little easier for you to use them. In each compressed archive are the throbbers, along with a css file which will make SeaMonkey use them. All that is needed is an import url line at the top of your userChrome.css.

(These aren't installation packages; they don't install like a theme or an extension. You must manually extract them into your profile chrome directory.)

So, instead of placing the throbbers directly in your chrome directory, as in the first example, you can place each throbber set in its own unique directory within the chrome directory. Then, you can change from one set to another more easily, by switching out a single import url line in userChrome.css.

I've shown the large version of each throbber; you can download each set as a compressed archive. Extract to a directory in your profile chrome folder, add the appropriate lines to your userChrome.css, then restart SeaMonkey.

The directory structure should be as follows:

directory profile-name
 |
 |— directory ********.slt
    |
    |— directory chrome
       |
       |— file userChrome.css
       |— file various files
       |— directory throbber-name directory
          |
          |— image file throbber-single.png
          |— image file throbber-anim.gif
          |— image file other images
          |— file throbber.css

Note that the names in italics will vary.  If you have several different throbber sets, you'll have several different (uniquely named) throbber-name directories.  Also, the ******.slt directory is a randomly named directory;  its name will be made up of different letters and numbers.

Then, use an import url, placed before the namespace line ( @namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); ):

@import url(throbber-name directory/throbber.css");

Of course, you can also put the throbbers directly in your chrome directory, and use the full code in your userChrome.css.
the throbbers

only the large size, single and animated, is shown;  there will also be a smaller size, usually from 16px to 24px.  Sometimes, a hover state is also used.

I don't know the authors for a number of these. Some of them were made during the discussions about new SeaMonkey artwork in approximately July 2005. If you know who made them, please let me know so I can include credits. If you're the author, I hope you won't mind me including them. If you do, I'll remove them. Many thanks to those who've given permission to include them.


"seacow"  (original placeholder throbbers;  32px and 16px)

seacow throbber seacow throbber


download:  seacow.tar.gz

import url:  @import url("seacow/throbber.css");

(I call them "seacow" because of Glanz' joking about it looking like a cow in a boat; I think he was one of the few people who appreciated what a great, simple throbber and logo this was.)
SeaMonkey Gloss  (I based this on the winning submission for seamonkey artwork as well as the official throbber)

SeaMonkey Gloss throbber SeaMonkey Gloss throbber


download:  sm-gloss.tar.gz

import url:  @import url("sm-gloss/throbber.css");

SeaMonkey Reworked  (my revision of the official SeaMonkey throbber: this has smooth edges and thus the small size looks a lot better than the official throbber)

SeaMonkey reworked throbber SeaMonkey reworked throbber


download:  sm-reworked.tar.gz

import url:  @import url("sm-reworked/throbber.css");

Vladmir's throbber for pinball  (one size only;  includes a background which I'm too bone-idle to show)

vladmir-pinball_style throbber vladmir-pinball_style throbber


download:  vladmir-pinball_style.tar.gz

import url:  @import url("vladmir-pinball_style/throbber.css");

"sunset"  (by yamal; from artwork discussion 2005;  32px × 24px only)

sunset throbber sunset throbber


download:  sunset.tar.gz

import url:  @import url("sunset/throbber.css");

"tail"  (by yamal; from artwork discussion 2005;  32px and 16px)

tail throbber tail throbber


download:  tail.tar.gz

import url:  @import url("tail/throbber.css");

"swirl"  (by yamal; from artwork discussion 2005;  24px only)

swirl throbber swirl throbber


download:  swirl.tar.gz

import url:  @import url("swirl/throbber.css");

"slickboat"  (by yamal; from artwork discussion 2005;  32px and 24px)

slickboat throbber slickboat throbber


download:  slickboat.tar.gz

import url:  @import url("slickboat/throbber.css");

rotating led (one size only;  looks best against very dark toolbar) (by me)

led_for_dark throbber led_for_dark throbber


download:  led_for_dark.tar.gz

import url:  @import url("led_for_dark/throbber.css");

"seacow tropical"  (my pastel remake of the placeholder throbbers;  32px and 16px)

seacow_tropical throbber seacow_tropical throbber


download:  seacow_tropical.tar.gz

import url:  @import url("seacow_tropical/throbber.css");

Peace  (inconnu)

peace throbber peace throbber


download:  peace.tar.gz

import url:  @import url("peace/throbber.css");

Phoenix  (the old Phoenix throbber;  32px and 16px)

phoenix throbber phoenix throbber


download:  phoenix.tar.gz

import url:  @import url("phoenix/throbber.css");

Mozilla Suite  (the Mozilla Suite throbber;  32px and 16px)

Mozilla Suite throbber Mozilla Suite throbber


download:  mozilla.tar.gz

import url:  @import url("mozilla/throbber.css");

"mozilla suite round"  (a round version of the classic Mozilla Suite throbber;  32px and 16px)

round moz suite throbber round moz suite throbber


download:  mozrnd.tar.gz

import url:  @import url("mozrnd/throbber.css");

FishuX  (John Fish)

fishux throbber fishux throbber


download:  FishuX.tar.gz

import url:  @import url("FishuX/throbber.css");

Aphrodite throbbers (from mozdev.org - aphrodite)

Aphrodite throbber Aphrodite throbber


download:  aphrodite.tar.bz2

import url:  @import url("aphrodite/throbber.css");

Spinning baby gnu throbbers (by me; based on artwork by Nicolas Rougier)

baby-gnu throbber baby-gnu throbber


download:  baby-gnu.tar.bz2

import url:  @import url("baby-gnu/throbber.css");

"Nicugecko" (by me; based on artwork by Nicubunu)

nicugecko5 throbber nicugecko5 throbber


download:  nicugecko5.tar.bz2

import url:  @import url("nicugecko5/throbber.css");

paranoia security junk

Some of these are easily accessible from the gui.
// Prevent sites from disabling features of new windows:
user_pref("dom.disable_open_during_load", true);
user_pref("dom.disable_window_flip", true);
user_pref("dom.disable_window_move_resize", true);
user_pref("dom.disable_window_open_feature.close", true);
user_pref("dom.disable_window_open_feature.directories", true);
user_pref("dom.disable_window_open_feature.location", true);
user_pref("dom.disable_window_open_feature.menubar", true);
user_pref("dom.disable_window_open_feature.minimizable", true);
user_pref("dom.disable_window_open_feature.personalbar", true);
user_pref("dom.disable_window_open_feature.resizable", true);
user_pref("dom.disable_window_open_feature.scrollbars", true);
user_pref("dom.disable_window_open_feature.status", true);
user_pref("dom.disable_window_open_feature.titlebar", true);
user_pref("dom.disable_window_open_feature.toolbar", true);
user_pref("dom.disable_window_status_change", true);

// don't allow js to disable or replace context menus:
user_pref("dom.event.contextmenu.enabled", false);

//more security tweaks:
user_pref("browser.helperApps.alwaysAsk.force", true);
user_pref("dom.disable_open_click_delay", 3000);

// Further security tweaks - js dom:
user_pref("dom.disable_cookie_get", true);
user_pref("dom.disable_cookie_set", true);

See the Preferences dialogue, under Advanced > Scripts and Plugins.

"Pings" provide an additional user tracking mechanism.  This was initially enabled by default in trunk FX builds.  Currently, it may be disabled by default; all SM builds I've checked have it disabled.  Make sure:

user_pref("browser.send_pings", false);

Prefetching allows the browser to download a webpage before you click on it, if the link uses the prefetch tag. This often happens in search results; it makes a page you're allegedly likely to view load faster. But I don't like the idea of automatically visiting a website without taking any action. You can turn it off with:

user_pref("network.prefetch-next", false);

turn off javascript in mail and news:

user_pref("javascript.allow.mailnews", false);

This prevents viewing mail attachments inline:

user_pref("mail.inline_attachments", false);

Don't load remote images in mail:

user_pref("mailnews.message_display.disable_remote_image", true);

command line arguments

You can pass a number of commands to SeaMonkey with these, either in the terminal or in an application link / shortcut. More information can be found at Mozilla's Command Line Options.

To use them, place at the end of the command / target textbox within the SeaMonkey application link / shortcut. (These have to go outside —after— the quote.)

An example:
'seamonkey' -chrome chrome://communicator/content/bookmarks/bookmarksManager.xul -P "1.1a-testing"

This will open SeaMonkey's Bookmark Manager, using the profile "1.1a-testing."

Mac users can use them by creating a text file, using the following pattern:
type:TEXT
creator:MOZZ
containing:ARGS:
The most useful ones involve profiles.

To start with the profile manager, use
-p
-P
or
-ProfileManager

To start with a specific profile, append that profile's name:
-P "profilename"
You can also enable or disable splash screens.

To enable the splash in GNU/Linux, use
-splash

or alias it in ~/.bashrc:
alias seamonkey='seamonkey -splash'

To disable the splash in Windows, use
-nosplash
or
-quiet
You can make shortcuts to specific components as well.

Navigator:
-browser

Mail:
-mail

Composer:
-editor
or
-edit

address book:
-addressbook

JavaScript console:
-jsconsole

chatzilla:
-chat

Calendar:
-calendar

By specifying a chrome url, you can start SeaMonkey with any component, even extensions.
The format is:
-chrome chrom_URL

Examples are:

Bookmark Manager:
-chrome chrome://communicator/content/bookmarks/bookmarksManager.xul

QuickNote (extension):
-chrome chrome://quicknote/content/quicknote.xul

ColorZilla Color Picker Dialog (extension):
-chrome chrome://colorzilla/content/colorzillaColorPickerDialog.xul

ChromEdit (extension):
-chrome chrome://chromedit/content/chromedit.xul

(To discover the chrome url for a component, start the component, then start the Dom Inspector. Use File > Inspect a Window; then copy the url from the DomInspector's urlbar.)

change the tab icons

You'll need two 16px images, one animated.  Here are some I made:
throbber16-single.png:   single
throbber16-anim.gif:   anim

Right-click and save these;  drop them in your profile's chrome directory.  Then, add this to userChrome.css and restart SeaMonkey:
/* change the tab icon: use the 16px seamonkey throbber */
.tab-icon {
    list-style-image: url(throbber16-single.png) !important;
}

tab[busy] .tab-icon {
    list-style-image: url(throbber16-anim.gif) !important;
}

Here are the 16px versions of the placeholder throbbers:
throbber16-single.gif:   single
throbber16-anim.gif:   anim

For these, you'll need use throbber16-single.gif, since both are gifs:
/* change the tab icon: use the 16px seacow throbber */
.tab-icon {
    list-style-image: url(throbber16-single.gif) !important;
}

tab[busy] .tab-icon {
    list-style-image: url(throbber16-anim.gif) !important;
}

mail quote style

Goes in userContent.css:
Simple:
blockquote[type=cite] {
   color: navy !important;
}

blockquote[type=cite] blockquote {
   color: maroon !important;
}

blockquote[type=cite] blockquote blockquote {
   color: green !important;
}

blockquote[type=cite] blockquote blockquote blockquote {
   color: purple !important;
}

blockquote[type=cite] blockquote blockquote blockquote blockquote {
   color: teal !important;
}


More complex:
blockquote[type=cite] {
   color: blue !important;
   background-color: rgb(245,255,250) !important;
   border-left: 3px double blue !important;
   border-right: 3px double blue !important;
}

blockquote[type=cite] blockquote {
   color: rgb(0,125,40) !important;
   background-color: rgb(235,245,240) !important;
   border-left: 3px double rgb(0,125,40) !important;
   border-right: 3px double rgb(0,125,40) !important;
}

blockquote[type=cite] blockquote blockquote {
   color: red !important;
   background-color: rgb(225,235,230) !important;
   border-left: 3px double red !important;
   border-right: 3px double red !important;
}

blockquote[type=cite] blockquote blockquote blockquote {
   color: rgb(150,0,250) !important;
   background-color: rgb(215,225,220) !important;
   border-left: 3px double rgb(150,0,250) !important;
   border-right: 3px double rgb(150,0,250) !important;
}

blockquote[type=cite] blockquote blockquote blockquote blockquote {
   color: teal !important;
   background-color: rgb(205,215,210) !important;
   border-left: 3px double teal !important;
   border-right: 3px double teal !important;
}

get rid of the nag about getting plugins

Another easy one. Go to the SeaMonkey app directory; dive into the "plugins" directory and delete libnullplugin.so (on windahz I think it's libnullplugin.dll). You can keep a backup copy, or just try renaming it to libnullplugin.so_

colorzilla (& maybe other extensions) don't work in SeaMonkey (and Firefox/IceWeasel)

If you're running a recent distro release (Slack 12, and I understand Fedora and Ubuntu are also plagued by this), and install colorzilla, it won't run, and maybe causes SeaMonkey to crash on startup with a segfault (if it does the latter, you'll need to either manually uninstall the extension, or else since it partially installs into the app as well as the profile, reinstall SeaMonkey and create a new profile). This is caused by Colorzilla linking against an obsolete version of libstdc++. If the source code for the extension were released, I suspect you (or someone) could compile it against up-to-date libs. As it is, the solution is to NOT install colorzilla, and use another colorpicker tool instead. KDE comes with KColorChooser, which works quite well.

In my opinion, it's rather pointless to load your browser down with extra extensions, when an app designed to do the job and do it well is already available. KColorChooser is part of the KDE graphics package.

automatically clear downloads when SM exits (GNU/Linux only)

Start it with a script like this:
#!/bin/sh
seamonkey && rm -f /path/to/downloads.rdf

alternatively,
#!/bin/sh
seamonkey && cat /dev/null >| /path/to/downloads.rdf

downloads.rdf is the file, located in your SM profile, in which download history is stored.

Scroogle SSL search plugin

Scroogle now provides its google-scraper over ssl, but last I checked, mycroft.mozdev.org did not have a version compatible with SeaMonkey. So I made one:

download:
scroogle-ssl.src
scroogle-ssl.png
(Place in the searchplugins directory in your profile for single-user access, or in SeaMonkey's searchplugins directory for global use.)

or install now:


Why Scroogle? No cookies, no search-term records, access log deleted within 48 hours.
Search page here, main page here; ssl search page here.

autoscroll

To enable autoscroll (in which clicking the middle mouse button enables automatic scrolling), go to about:config (enter "about:config" in urlbar).

(Ignore and click through the nervous-nanny-nag which warns you that meddling with about:config can melt down your hard drive, give you athlete's foot of the tongue and make your stockpile of beer go flat.)

Change middlemouse.contentLoadURL to false
Change general.autoScroll to true

KDE file dialogues in SeaMonkey

Kgtk allows you to use KDE file dialogues (save, open ... ) in some gtk apps. To use it with SeaMonkey or Incognilla, put this in ~/.kde/share/config/kgtkrc (create the file if it doesn't exist):
[Apps]
seamonkey=gtk2
incognilla=gtk2
If you're simply extracting SeaMonkey, or using Incognilla, place a link to the executable in ~/bin:
ln -s /path/to/seamonkey seamonkey
ln -s /path/to/incognilla incognilla
Then, follow the instructions for using kgtk. You can try it by starting SeaMonkey this way:
/path/to/kgtk-wrapper seamonkey

I imagine this will work equally well with Iceape.

It is a vast improvement in usability!

All information, themes, and builds provided  "as is without warranty of any kind … .  The entire risk … is with you."