Latest News & Files | Links to OS/2 sites | A History of OS/2

Tips for Warpzilla - Mozilla for OS/2
Last updated on August 28, 2015

Warpzilla Warpstock


Jump to: Compatible Plugins | Environment variables | Tips for more functionality

Stable Releases
  • SeaMonkey 2.14.11/ESR
  • Firefox 17.0.11/ESR
  • Thunderbird 17.0.11/ESR

  • libc066 & gcc4core (required)
  • fontconfig (required)
  • pthread/mmap (required)
  • Test Versions
  • SeaMonkey 2.28b5
  • Firefox 31.8.0 (beta 5)
  • Thunderbird 31.8.0

  • libc066 & gcc4core (required)
  • fontconfig (July 2015)
  • kai/pthread/mmap (required)
  • Resources
  • Warpzilla Home Page
  • Warpzilla Newsgroup
  • Known OS/2 Bugs
  • Mozilla Knowledge Base
  • Serbo-Croation Translation
  • Newsbits
    • As of Feb 11, 2014, Mozilla for OS/2 is officially dead; all of the OS/2 support code has been removed from the source tree. One of the primary reasons for this was lack of contributions being sent upstream, and the stated lack of desire to do so, as was predicted several months prior.
    • Bitwise created a fork of Firefox ESR, and is working on porting the Mozilla / Google IPC code.
    • The most common crash in OS/2 builds since Gecko 6 has been in the font code; at last a solution has been found: user_pref("gfx.downloadable_fonts.enabled", false);
      This is now set by default in builds from the ESR (extended support release) branch.
    • Missing features in the OS/2 builds include: WebGL, due to a lack of hardware OpenGL drivers; IPC, for protection from plugin crashes; and web fonts, for automatically downloading fonts and displaying text using them.
    • There are OS/2 builds of Enigmail, which allows you to use GnuPG with your email (tutorial).
    • The IBM team quit working on Mozilla for OS/2 many years ago. Outside developers are encouraged to participate; one of the required tools is rc.exe version 5.00.007.

    Related Software
    tcpip32.dll Steve Levine has released a patched version of tcpip32.dll that prevents crashes people have experienced when using the Mozilla apps; it makes this DLL multi-thread and SMP safe.
    Exceptq If Warpzilla crashes, Exceptq will beep and then create an exception report containing details of the crash. See also the NSPR_NO_EXCEPTQ info in the environment variables section.
    Doodle's Screen Saver If you install Doodle's Screen Saver, Warzpilla can determine when you are not interacting with the computer, and will perform various background and cleanup tasks during idle periods.
    RWS With RWS, you can open downloads using their default WPS association and have the app display the correct icon in file listings & dialogs. See also the MOZ_NO_RWS info in the environment variables section.
    Lightning The Lightning extension for Thunderbird and SeaMonkey adds calendar support; unlike most extensions, versions must be matched with specific Gecko releases. Dave Yeo has provided builds for 17ESR, 24ESR, and 31ESR. It is expected that Lightning will be bundled with Thunderbird and SeaMonkey in the future, starting with 38ESR.

    Compatible Plugins Filename Notes
    Acrobat Acrobat 4.05
    Acrobat 5.1
    The PDFJS addon is a viable replacement for the plugins
    Requires the InnoWin Runtime. To get this plugin working with LIBPATHSTRICT, you can use this patch (for Acrobat 4), follow the idea in the patch to patch your own version, or add \OS2\DLL to BEGINLIBPATH
    Flash Flash 11
    npflos2.dll Available for eComstation Software Subscription customers; only works on eCS 1.2 and later.
    Flashblock allows you to have the Flash plugin installed without being constantly annoyed by Flash ads (or having the browser crash due to bugs in the plugin, and IPC not being ported yet). You simply click on the "Play" icon for any Flash objects that you actually want to see.
    Flash Flash 7
    npswf2.dll Flash7 package patched so that sound works with LIBPATHSTRICT; reports itself as Flash 9
    Java Java 6
    npicedt.dll The IcedTea-Web plugin works with OpenJDK 1.6. The older Java 1.4.x plugins are no longer compatible.
    MPlayer MPlayer
    npmp.dll Streaming audio/video plugin (MPEG, QuickTime, WMV, ASF, FLV, and more).
    DjVu npdjvu.dll DjVu is a set of compression technologies, a file format, and a software platform for the delivery over the Web of digital documents, scanned documents, and high resolution images.
    PM Downloader nppmd.dll Captures and handles downloads
    Auto Wget npawgbin.dll
    & others
    Captures and handles downloads
    Also has npawgaud.dll and npawgvid.dll for handling audio and video
    GBM npgbm.dll Generalised Bitmap Module can display a variety of bitmap file formats
    META viewer npmeta.dll Allows you to view *.MET files
    Unzip Plugin npunzip.dll
    You can "install" plugins by simply copying them to the plugins directory (or your profile plugins directory)
    Developers may want to check out the OS/2 Plugin Toolkit (from Hobbes), including this update
    Another place to find plugin information is plugindoc

    Environment variables
    MOZILLA_HOME You can use the MOZILLA_HOME environment variable to determine the location for your Warpzilla profiles. By default, profiles are created in the application directory. With this variable, they will be created and used under %MOZILLA_HOME%\Mozilla instead.
    MOZ_ACCELERATED Gecko 2.0 (Firefox 4.x and SeaMonkey 2.1.x) and above feature support for graphics acceleration using DIVE. This can be disabled by unchecking "Use hardware acceleration when possible" in the preferences, or you can set the MOZ_ACCELERATED environment variable to 0. It is also disabled when using the Panorama driver when the shadow buffer is enabled, as that driver does not work correctly with DIVE. Other options for %MOZ_ACCELERATED% include 1 to assume software cursor, the default for video drivers other than SNAP, and 2 to assume hardware cursor, the default for SNAP. If moving the mouse over menus and dropdowns causes video corruption, set this variable to 1. If the mouse flickers when scrolling, you can try setting this variable to 2, but this may cause video corruption if your driver does not provide a hardware mouse cursor.
    MOZ_NO_REMOTE MOZ_NO_REMOTE=1 keeps Mozilla from creating the parent message window, so that Warpzilla cannot detect other running instances. This is only useful if you want to run different versions at the same time (with different profiles).
    MOZ_NO_RWS MOZ_NO_RWS=1 disables the WPS integration features provided by RWS. With RWS, you can open downloads using their default WPS association and have the app display the correct icon in file listings & dialogs. These are normally useful features, but there is at least one known bug, where dragging with the mouse can cause a crash.
    MOZ_PLUGIN_PATH Warpzilla will look for plugins in .\plugins, %MOZILLA_HOME%\Mozilla\Plugins, and in the path specified by the %MOZ_PLUGIN_PATH% environment variable.
    NSPR_NO_EXCEPTQ If Warpzilla crashes, Exceptq will beep and then create an exception report containing details of the crash. Setting NSPR_NO_EXCEPTQ=1 disables this for Warpzilla apps, but normally you want that information to be available.
    NSPR_OS2_NO_HIRES_TIMER If you are having trouble with multimedia applications that use OS/2's high resolution timer, you can set the Warpzilla browsers to not use it by setting the enviroment variable NSPR_OS2_NO_HIRES_TIMER=1
    KAI_AUTOMODE Starting with Firefox 31 (and SeaMonkey 2.28), the K Audio Interface is used to support both DART and UniAud. It will automatically choose based on what you have installed, but you can override it if you have a reason to (for example, the UniAud interface does not always work, but the UniAud drivers also support DART). You can set KAI_AUTOMODE=UNIAUD or KAI_AUTOMODE=DART
    MOZILLA_USE_EXTENDED_FT2LIB This environment variable enabled full support for the Innotek Font Engine. That font engine is no longer necessary, and in fact can cause crashes in current versions of Warpzilla. The mozinst package includes the "fechg" utility for deactivating it.

    Tips for more functionality
    Profiles SeaMonkey 1.x uses the same profile data that Mozilla Suite did, while SeaMonkey 2.x, Firefox, and Thunderbird have separate profiles, but can migrate profile data if it is in %MOZILLA_HOME%.

    You can transfer portions of older profiles into a new profile; there are tips for SeaMonkey, Firefox, and Thunderbird. Moving profiles can be done, but requires manually modifying paths in configuration files (primarily prefs.js), and getting registry.dat to point to the correct profile location. This online registry.dat editor (for SeaMonkey 1.x) or these REXX tools can help.

    Antialiased fonts Warpzilla features built-in support for antialiased fonts. Only TrueType and Type 1 fonts can be used, so you may want to install WorkPlace Sans to substitute for WarpSans.
    MathML fonts Warpzilla features support for MathML, but you need to have fonts that contain the required symbols, such as the STIX and Asana fonts. After you have the fonts installed, you can test MathML.
    Drag & Drop Warpzilla features full drag&drop support, both to and from the browser. You can hold down the Ctrl key if you want to copy images and web pages, rather than just creating URL objects.

    Drop these on Mozilla Press Mozilla will get this Formatted as
    WPSUrl object contents of the object Url, HTML, & Text
    any file path of the object Url, HTML, & Text
    any file Alt contents of the file Text
    DragText Url Url text Url, HTML, & Text
    DragText Text dragged text Text
    Text dragged from a compatible
    app (e.g. EPM, GCJava)
    dragged text Text

    SYS2070 If you get SYS2070 crashes when trying to run Mozilla, this means that the wrong version of a DLL is being found. One of these solutions might help:
  • Remove IBM Web Browser from LIBPATH
  • You did not install properly (unzipped into an old directory)
  • You have another version running without using LIBPATHSTRICT
  • Modifying Prefs The easiest way to modify preferences is from the about:config page; there is documentation for many of them. If you choose to make changes directly to the preferences file (prefs.js), they should be done when Warpzilla is closed, or they will not be saved; it rewrites the file when it exits! You should also avoid using an editor that appends an EOF character (like E.EXE).
    As an alternative to modifying prefs.js, you can create a user.js file. This file is never modified by Mozilla, and overrides any settings in prefs.js
    Using Tabs You can navigate tabs with the keyboard by using Ctrl-PgUp and Ctrl-PgDn or Ctrl-Tab
    You can save a bookmark which will re-open all of the currently open browser tabs, by selecting Bookmark this Group of Tabs. You can even add or remove URLs from this group, as it is treated like a folder.

    In Firefox 2.0, every tab has a close button. If you wish to restore the old behavior, set "browser.tabs.closeButtons" to 3.

    Script Timeouts If you have problems with some Javascript taking too long and hogging CPU cycles, you can shorten the amount of time it takes for the "cancel script" dialog to appear. You can change the "dom.max_script_run_time" and "dom.max_chrome_script_run_time" values to the number of seconds you wish to allow before the dialog appears, where the first option is for scripts on web pages, and the second option is for scripts in the user interface (including extensions!).
    Bookmarks Warpzilla switched to using a SQLite database for bookmarks, rather than the standard bookmarks.html file. It is possible to automatically import and export your bookmarks.html file at startup and shutdown, albeit with some minor caveats.
    SQLite SQLite databases, as used in Warpzilla, can have a tendency to grow excessively large. You can use the SQLite Browser to "vacuum" (compact) the *.sqlite database files in your profile, while the browser is closed; this will improve runtime performance. The "Places" database can also be compacted within Warpzilla, using the Error Console. Another option is the UPSSV package.
    Icons If you don't like the icons in Mozilla 1.1 and above, you can change them by replacing the files in the chrome\icons directory. There are some icon packs available, but people have reported problems getting them to work in OS/2. Klaus Staedtler has created an icon package which uses the default icons, but is correctly scaled for OS/2.
    You can get icons for more windows by putting in icons with these filenames: commonDialog.ico, profileWindow.ico, and default.ico

    Phil Parker has created some Firebird icons based on the flame design found on the Firebird web site. With a little prodding, he also produced two more icons for us; one of the Firebird icon found on the Mozilla beta web site, and one found on a recent Stardock screenshot. Note that OS/2 icons are not viewable in Mozilla, save them to disk to see them! There are some Firefox icons on Hobbes as well.

    FavIcons Mozilla has a GUI-configurable option for "web site icons" but there is also a hidden option for favicon support (non-standard IE style), which defaults to off. To enable favicon support, use this option:
    user_pref("", true);

    You can also enable site icons in your bookmarks menu, by setting this option:
    user_pref("", 2);

    Cursors You can check out the support for CSS cursor styles on this sample page
    Throbbers You can change the throbber in Mozilla by creating a chrome\userChrome.css file in your profile. It should contain the following:
    list-style-image : url("animthrob_single.gif") !important;
    list-style-image : url("animthrob.gif") !important;
    There is a nice throbber you can use from one of the Netscape builds. Just place the image files in your profile's chrome directory, along with userChrome.css
    Throbber URL You can also change the URL that the throbber goes to when clicked on:
    URL entry field If you want the URL entry field to act correctly (not highlight everything when you click on it), you can use this setting:
    user_pref("browser.urlbar.clickSelectsAll", false);
    User agent If you want to change the user agent reported by the browser, you can use this setting:
    user_pref("general.useragent.override", "Mozilla/4.61 [en] (OS/2; U)");

    You can also take a look at prefbar which has a menu of several options for this.

    Menu Movement If you don't like the mouse following the menus, you can add a delay to slow it down:
    user_pref("ui.submenuDelay", 7000);
    or stop it from happening:
    user_pref("ui.submenuDelay", -1);
    Spring-loaded folders Spring-loaded folders have been in Mozilla Mail & Newsgroups for some time. Simply attempt a Drag&Drop operation on a closed folder tree, hovering the mouse over the visible parent folder; the tree will drop open, allowing you to select the proper subfolder for filing the message. The "normal" behavior is for the folder tree to then remain open, but it is easy to enable the auto-close of such "sprung" folders with the following addition to prefs.js:
    user_pref("ui.treeCloseDelay", 1000);

    Other aspects of spring-loaded folders can also be tweaked; the defaults are:
    user_pref("ui.treeOpenDelay", 1000);
    user_pref("ui.treeLazyScrollDelay", 150);
    user_pref("ui.treeScrollDelay", 100);
    user_pref("ui.treeScrollLinesMax", 3);

    Reply header You can easily change the default reply header for mail and news messages to include the date of the original message, or anything else you would like it to have. user_pref("mailnews.reply_header_type", 2); is a nicer default; see Mozillazine for more options.
    Reply quoting Thunderbird 3.x and SeaMonkey 2.x will quote just the selected portion of a message when you reply to it. You can disable this feature:
    user_pref("mailnews.reply_quoting_selection", false);
    Max Connections You can try increasing the maximum persistent connections per server; this reportedly can speed up page loading significantly on some sites.
    user_pref("network.http.max-persistent-connections-per-server", 8);
    Protocols It is now possible to define your own protocols, so that you can launch anything you want from Warpzilla. For instance, to edit your Config.Sys file in the EPM editor with the URL "epm:C:\Config.Sys" you would add these settings:
    user_pref("applications.epm", "c:\\os2\\apps\\epm.exe");
    user_pref("applications.epm.parameters", "%url%");

    Warpzilla now has the "telnet:" protocol built-in to os2pref.js, which runs telnetpm.

    Mailcap You can customize the MIME information used by Mozilla. A mime.types file maps the MIME types to file extensions, while the mailcap file specifies the helper applications to launch for a given MIME type. Add these lines:
    user_pref("helpers.global_mailcap_file", "X:\\HOME\\mailcap");
    user_pref("helpers.global_mime_types_file", "X:\\HOME\\mime.types");
    user_pref("helpers.private_mailcap_file", "X:\\HOME\\.mailcap");
    user_pref("helpers.private_mime_types_file", "X:\\HOME\\.mime.types");

    Then create the corresponding files. You can see an example mailcap file, which should give you the idea. You can find a comprehensive mime.types file with web server (Apache) or Linux distributions.
    Cookies Firefox 2.0 removed the option of only allowing cookies from the originating web site. You can restore this behavior with this setting:
    user_pref("network.cookie.cookieBehavior", 1);
    Mail notification There is an undocumented way to get a new mail indicator on WarpCenter, which is now hooked up to Mozilla as of version 1.1. You can configure it as follows:

    1. Create an icon on your desktop with an object ID of <CCINBOX>, using this REXX code:

    /* */
    call RxFuncAdd 'SysCreateObject', 'RexxUtil', 'SysCreateObject'
    result = SysCreateObject('WPProgram', 'Mozilla Mail', '<WP_DESKTOP>', 'OBJECTID=<CCINBOX>');
    Customize this object to open "mozilla -mail" with the appropriate path info.

    2. Add the mail icons to your WarpCenter; you need Resource Manager and NewMail.Zip. Unzip both of these files into a temporary directory, and make a copy of your \OS2\DLL\SCENTER.DLL there. To add the icons, run this command:

    resmgr -a scenter.dll scenter.res
    Now replace your \OS2\DLL\SCENTER.DLL with the one just created (I suggest using an unlock utility).

    3. Once you reboot, your Warpcenter should have a mail icon. There is a mailtest.exe application in NewMail.Zip, which can be used to test the functionality outside of Mozilla.

    If you want to customize the icons, edit mail.bmp or newmail.bmp, then run the resource compiler to recreate scenter.res.

    If you want to remove the new mail indicator in Warpcenter, delete the Mail icon in the Mozilla folder (or the one you created following the above instructions). Once you reboot, the extra button will be gone.
    Default apps There is support for using externally configured default applications for browser and email. You can use either the ConfigApps utility, or Internet Application Integration, which also includes the Run! utility and will configure it for you.
    External mail apps You can also specify an email program manually via these preferences:
    user_pref("applications.mailto", "X:\\path\\to\\mail_prog.cmd");
    user_pref("applications.mailto.parameters", "\"%url%\"");
    user_pref("network.protocol-handler.external.mailto", true);

    There is a REXX script for integrating PMMail with Mozilla and an executable version of similar function

    To have Firefox open Thunderbird when clicking on a mailto: link using the Run! utility, you can use these preferences:
    user_pref("applications.mailto", "X:\\path\\to\\thunderbird\\thunderbird!l.exe");
    user_pref("applications.mailto.parameters", "-compose");

    Running Multiple Versions Concurrently You can only run Firefox and Thunderbird at the same time if they are the same version (or more accurately, built from the same code), due to the way the OS/2 kernel loads DLLs. If you wish to run builds from different code levels, use Internet Application Integration to set up Run!.

    You can run multiple versions of SeaMonkey (i.e. debug and release versions) at the same time, as long as you are careful. You must use different profiles for each version, and use Run! or a little script to start it (such as seaMonkey.cmd):

      SET MOZILLA_HOME=<profile_path>
      SET PATH=<mozilla_directory>;%PATH%
      SET BEGINLIBPATH=<mozilla_directory>
      seamonkey.exe %1 %2 %3 %4 %5

    MOZ_NO_REMOTE=1 keeps Mozilla from creating the parent message window, so two Mozilla's can no longer detect that each other is running. LIBPATHSTRICT=T forces DLLs to be loaded from the correct place, instead of using what is already in memory (this feature requires a recent OS/2 kernel). These pre-made mozcall scripts may be useful.

    Search Tip You can use the Bookmark Keyword feature to create a shortcut to your favorite search engine, for example, you could just type "imdb star wars" in the Location Bar to look up "Star Wars" on the Internet Movie Database. To do this:
    1. Make a search on your favorite search engine (in this example, IMDB).
    2. When results appear, bookmark the page.
    3. Go to Bookmark Manager. Select the bookmark and press Properties
    4. In the Location text box locate the terms you typed for the search and replace them with %s (for IMDB it will look like
    5. Set the keyword to your preference (for example "imdb", without quotes)
    6. Now you can make searches from the location bar by just entering the keyword followed by the search terms!
    Addons is a great resource for finding themes and extensions. The xSidebar project has tweaked a lot of Firefox extensions and Thunderbird extensions to install and run properly in SeaMonkey.

    Preferences Toolbar adds a toolbar for quickly changing the settings for custom fonts and colours, images, and Javascript.

    mycroft is a list of search plugins for Mozilla, and instructions for writing your own (like a nice Hobbes search). There's also some FireFox search plugins for use with Google (images, news groups, and news), commTalk software archive, Leo German/English dictionary, and Hobbes.

    Bookmarklets are some nice little Javascript utilities for dealing with annoying web pages

    Form History Control gives you a nice interface to manage saved form field data.

    Problematic Extensions You can start Warpzilla with all extensions disabled (and using the default theme) by using the "-safe-mode" command line parameter. Then you can uninstall any problematic extensions and/or themes.
    Corrupted Interface If there is something wrong with your user interface, there are a few things you can try.
  • Be sure you are using a theme that is included with Warpzilla, or one that is made specifically for the version you are running.
  • While the browser is closed, delete the xul.mfl file in your profile directory; it will be recreated, and you won't lose anything.
  • If it still doesn't work, chrome\chrome.rdf (both application and profile versions) may be corrupted. You can delete these files, and let Mozilla rebuild them. Note that you will need to reinstall any themes and extensions.
  • If you still have a corrupted interface, you probably tried to manually remove an addon without cleaning up the overlays.rdf files. Do some more manual editing, or start deleting more rdf files. Again, you will probably need to reinstall extensions.
  • Command line There is some documentation on the command line options.

    This page is maintained by Steve Wendt.