===============================================================================
-- F i r e f o x   R e a d   M e ----------------------------------------------
===============================================================================

* Firefox is subject to the terms detailed in the license agreement
  accompanying it.

* This Read Me file contains information about installing and using
  the OS/2 build of Firefox.

* For more info on Firefox, see the "Links" section below.


===============================================================================
-- Contents -------------------------------------------------------------------
===============================================================================

*  Release Notes

*  Compatibility Warning

*  Installation

*  Starting Firefox

*  OS/2 Add-ons

*  Environment Variables

*  Fonts

*  Printing

*  Video

*  Links

*  System Requirements


===============================================================================
-- Release Notes --------------------------------------------------------------
===============================================================================

This version includes many OS/2-specific enhancements and bug fixes.

* Video
    Dramatic reductions in CPU usage will be seen when viewing OGG videos,
    and to a lesser extent, WebM videos.  Overall video performance should
    be noticeably improved for SNAP and GenGradd users running their displays
    in full-color mode, thanks to the implementation of DIVE.

* Printing Support
    All native printer drivers will work if their output resolution is set
    to 600 DPI or less.  Mozilla's built-in Postscript support is also
    available for use, as is its PDF support.

* Memory Management
    With a few trivial exceptions, the Mozilla apps no longer use any shared
    memory beyond what is needed to load their dlls.  Problems that have been
    attributed to low or no shared memory should not occur.

* Exceptq Support
    If the app crashes and Exceptq is installed, it will beep and then create
    an exception report containing details of the crash.  You can send these
    reports to the developers at <crash@e-vertise.com>.

* Other Improvements and Fixes
  - Font Selection:  the app should do a better job of selecting DBCS fonts
        and fonts with less common font weights such as "Thin" or "Heavy".
  - Copy Link Location:  a bug that caused characters to be deleted from
        URLs when using the 'Copy Link Location' menu item has been fixed.
  - Clipboard:  the app no longer copies to the clipboard at shutdown.


===============================================================================
-- Compatibility Warning ------------------------------------------------------
===============================================================================

After using Firefox v4.x, your History and Cookies databases (places.sqlite
and cookies.sqlite) will NOT be compatible with Firefox v3.x.  However, a
REXX script is available to restore compatibility.

* To preserve compatibility:
  - download 'dbrestore.zip' from
      ftp://ftp.netlabs.org/incoming/mozilla/dbrestore.zip
    or
      http://e-vertise.com/warpzilla/dbrestore.zip
  - unzip it into your profile directory
  - make backups of places.sqlite and cookies.sqlite

* To restore compatibilty BEFORE running Firefox v3.x:
  - run the script from your profile directory.

* To restore compatibilty AFTER running Firefox v3.x
  (i.e. you forgot to run the script before):
  - look for 'places.sqlite.corrupt' and 'cookies.sqlite.corrupt' in your
    profile directory,   If they appear to be the right size, remove the
    '.corrupt' extension after deleting the newly-created versions.
  - run the script
  - if your history and cookies aren't restored, use your backup copies.


===============================================================================
-- Installation ---------------------------------------------------------------
===============================================================================

1. UNZIP the archive into any directory you wish.  This will create a
      'firefox' subdirectory containing the program.  For example:
         unzip firefox-4.0.en-US.os2.zip -d x:\mozilla.org

   !! If you already have a 'firefox' directory from an older version,
      rename it first (e.g. 'firefox-old').  Do not let the new version
      install on top of the old one.

2. CHOOSE a directory where Firefox and other Mozilla applications can
      store their profile data, then add a line like this to config.sys:
         SET MOZILLA_HOME=x:\mozilla.org
      The first time you run any Mozilla app, it will create a 'mozilla'
      subdirectory where your customized settings are saved.

   !! Without "SET MOZILLA_HOME=", the 'mozilla' subdirectory will be
      created in your 'firefox' directory.  This can make it very hard to
      upgrade to new versions without deleting your customized settings.

3. INSTALL 'libc063.dll' into one of the directories on your "LIBPATH"
      (e.g. 'x:\os2\dll').  You can download a zip from:
         ftp://ftp.netlabs.org/pub/gcc/libc-0.6.3-csd3.zip

4. Optional: you may want to install some of the items listed in the
      "OS/2 Add-ons" section below to improve Firefox's performance.


===============================================================================
-- Starting Firefox -----------------------------------------------------------
===============================================================================

If Firefox is the only Mozilla application you use, then all you need is
a simple program object.

However, if you run Firefox along with Thunderbird or SeaMonkey, you may
encounter dll conflicts.  If you can open any one of these apps by itself,
but are unable to open a second one at the same time, this is the likely
cause.  An entry in popuplog.os2 reporting a 'SYS2070' error for the
program that failed to start will confirm the problem.

The solution for dll conflicts is "SET LIBPATHSTRICT=T".  There are several
ways to set this:

* modify your program object:
    Path and file name: *
    Parameters:         /c set LIBPATHSTRICT=T & firefox.exe "%*"
    Working directory:  x:\mozilla.org\firefox

* create a .cmd file:
    x:
    cd mozilla.org\firefox
    SET LIBPATHSTRICT=T
    start firefox

* use Run! <http://hobbes.nmsu.edu/h-search.php?key=run!>:
    Copy 'run!.exe' in your Firefox directory, rename it 'firefox!L.exe',
    then have your program object start it rather than 'firefox.exe'.
    (Use 'firefox!LK.exe' if you want the icon to show it's "in-use".)

Note:  Thanks to a bug in Warp v4.5, you can run multiple Mozilla apps at
the same time even if one (and only one) of them doesn't have LIBPATHSTRICT
set.  Since LIBPATHSTRICT is known to prevent audio playback in Innotek's
port of Flash, you may want to omit it for your primary browser and only
set it for your other Mozilla apps


===============================================================================
-- OS/2 Add-ons ---------------------------------------------------------------
===============================================================================

* Workplace Sans - TrueType Font
    Firefox no longer supports bitmap fonts like WarpSans, so its menus
    and dialogs may not look very "OS/2-like'.  To fix this, you may want
    to install Alex Taylor's 'Workplace Sans', a TrueType font inspired
    by WarpSans.  Firefox will use it by default if it's available.
        http://hobbes.nmsu.edu/h-search.php?key=wpsu_ttf

* RWS - WPS Integration
    With RWS, you can open downloads using their default WPS association
    and have Firefox display the correct icon in file listings & dialogs.
    For example, when you download a WPI file, the download dialog will
    display WarpIn's icon, and offer to open it using WarpIn so you can
    install it directly from the browser.
        http://hobbes.nmsu.edu/h-search.php?key=rws08dll

* Exceptq - Crash Reporting
    If the app crashes, Exceptq will beep and then create an exception
    report containing details of the crash.  You can send these reports
    to the developers at <crash@e-vertise.com>.
        http://hobbes.nmsu.edu/h-search.php?&key=exceptq71

* ConfigApps & Internet Application Integration - Set Default Browser
    These two utilities make it easier to set your default browser,
    email program, newsreader, etc.
    - ConfigApps
        http://hobbes.nmsu.edu//h-search.php?key=configapps
    - Internet Application Integration
        http://7cities.net/~mckinnis/os2/

* Doodle ScreenSaver - Intelligent Timing for Internal Cleanups
    When Doodle's Screen Saver (DSSaver) v1.8 or later is installed,
    Firefox can determine how long the user has been inactive.  This
    let it suspend reloads of "Live Bookmarks" and perform cleanup
    operations during idle periods rather than while you're browsing.
        ftp://ftp.netlabs.org/pub/dssaver/dssaver_v18.zip


===============================================================================
-- Environment Variables ------------------------------------------------------
===============================================================================

These can go in config.sys or the .cmd file you use to start Firefox.

* MOZILLA_HOME=[path]  (recommended)
    As noted above, this controls where the 'mozilla' subdirectory
    containing your profile (personal settings and data) is located.
    For example:  if you specify "SET MOZILLA_HOME=x:\mozilla.org",
    then your profiles will be stored in 'x:\mozilla.org\mozilla'.

* MOZ_PLUGIN_PATH=[path]  (recommended)
    This lets you specify a global directory for plugins like Flash
    and Acrobat Reader so that all Mozilla apps can access them.
    For example:  "SET MOZ_PLUGIN_PATH=x:\mozilla.org\plugins"
    Note that _you_ will have to create the 'plugins' subdirectory
    and install your plugins into it.

The following are intended to fix problems, not enhance performance.
Very few users have any need for any of these:

* NSPR_OS2_NO_HIRES_TIMER=1
    This tells Firefox not to use OS/2's high resolution timer.  Don't
    set this unless other applications using the high resolution timer
    (e.g. multimedia apps) act strangely.

* SET MOZ_ACCELERATED=0
    Disable DIVE (accelerated video) support.  Try this if the app fails
    to start or the display is corrupted.

* MOZ_NO_REMOTE=1
    This permits you to run multiple copies of firefox.exe at the same
    time (provided you have separate profiles for each copy).

* MOZ_NO_RWS=1
    This disables the WPS-integration features provided by RWS.

* SET NSPR_NO_EXCEPTQ=1
    This disables Exceptq for the Mozilla apps without disabling it for
    other programs that use it.


===============================================================================
-- Fonts ----------------------------------------------------------------------
===============================================================================

* Firefox uses an internal font engine that offers antialiasing and the
  ability to search multiple fonts for the correct glyph.  However, it
  only supports TrueType & Type1 fonts.  OS/2 bitmap fonts like WarpSans,
  System Proportional, etc, are NOT supported.  Users are encouraged to
  install Alex Taylor's "Workplace Sans" TrueType font to restore an
  "OS/2 look-and-feel" to menus and dialogs.

* Firefox's built-in antialiasing can be controlled via two preference
  settings.  Type "about:config" into the Address Bar, then press Enter.
  If these preferences aren't listed, you can add them by right-clicking
  any item and selecting "New" from the menu.

  - gfx.os2.font.antialiasing (Boolean)
    This preference controls whether antialiasing is enabled; the default
    value is "true".

  - gfx.os2.font.hinting (Integer)
    This controls the hinting level.  It can range from 0 (no hinting)
    to 3 (full hinting);  the default value is 2.  Font hinting improves
    the contrast of displayed text, but may produce poor results for
    certain characters of some fonts, most notably the OS/2 version of
    "Times New Roman".

  Note:  you may need to restart the application to see your changes.

* Fonts that contain special characters in their names (like Asian
  Unicode font names) will not display correctly in the list of fonts
  in the Options panel.


===============================================================================
-- Printing -------------------------------------------------------------------
===============================================================================

This version offers interim printing support using both native drivers and
the app's built-in Postscript generator.  It is part of a project sponsored
by Mensys to enable printing in the Mozilla apps.

* Native Driver Support
    All native printer drivers should work if their output resolution is
    set to 600 DPI or less.  If the resolution is set higher, the app will
    attempt to reduce it to 300 or 360 DPI.  Should that fail, it will pop
    up a 'Print to file' dialog and will create a PDF.

    Resolution has been limited to avoid excessive memory consumption.
    At 300 DPI, a print job on A4- or Letter-sized paper uses about 32mb;
    at 600 DPI, it requires 133mb.  The 'Print to file' dialog appears
    whenever a job needs more than 144mb.

* Built-in Postscript Support
    Mozilla's built-in Postscript support provides an alternative to using
    the native PSCRIPT or ECUPS drivers.  If you use ECUPS or print directly
    to a Postscript printer, this option may offer better print quality.
    To enable it:
    - enter "about:config" in the browser's address bar, press Enter
    - click MB2 on any item in the preferences listing
    - select 'New->Boolean' from the popup menu
    - enter "print.os2.postscript.use_builtin" (no quotes), press OK
    - select "true", press OK

    To use the built-in support, you must select a printer associated with
    a native PS driver to signal Mozilla to produce PS output. Because the
    native driver isn't used to create the print job, none of its optional
    settings are passed to the printer.  To fix this, users with PS printers
    (*not* ECUPS users) may want to try this experimental setting:
    - enter "about:config" in the browser's address bar, press Enter
    - click MB2 on any item in the preferences listing
    - select 'New->Boolean' from the popup menu
    - enter "print.os2.postscript.use_ibmnull" (no quotes), press OK
    - select "false", press OK

    Built-in support has some limitations:
    - while it works for most Postscript printers, it does not work for
      all of them.  Users report that the printer appears to receive the
      job but never prints anything.

* PDF Support
    PDFs can be created by selecting 'Print to file',  When the file dialog
    appears, give the file's name a ".pdf" extension.


===============================================================================
-- Video -------------------------------------------------------------------
===============================================================================

Dramatic reductions in CPU usage will be seen when viewing OGG videos, and to
a lesser extent, WebM videos.  Overall video performance should be noticeably
improved for SNAP and GenGradd users running in full-color mode, due to the
implementation of DIVE.

* DIVE Support
    DIVE lets an app bypass PM's graphics subsystem and write directly to
    your video card's memory.  This improves display speed but can cause
    problems on some systems.

    Use the following to disable DIVE:
    - uncheck "Use hardware acceleration when available" on the Options
      dialog's 'Advanced->General' tab.
    - start the app in "safe mode" (use "/safe-mode" on the command line)
    - add "SET MOZ_ACCELERATED=0" to config.sys.

* Mouse Pointer Issues
    If the mouse pointer disappears when starting the app, you can use
    "SET MOZ_ACCELERATED=1" to override automatic detection of how your
    video driver displays the pointer.  If it flickers when scrolling a
    page, you may want to try "SET MOZ_ACCELERATED=2".


===============================================================================
-- Links ----------------------------------------------------------------------
===============================================================================

* New Versions of Firefox for OS/2
    http://www.mozilla.org/ports/os2

* General Information About Firefox
    http://www.mozilla.com/en-US/firefox/

* Steve Wendt's Tips for Warpzilla
    http://www.os2bbs.com/os2news/Warpzilla.html

* Mozilla for OS/2 Newsgroup
    mozilla.dev.ports.os2 on server news.mozilla.org

* Mozilla for OS/2 IRC Channel
    #warpzilla on server irc.mozilla.org

* Submit Bug Reports (all platforms)
    https://bugzilla.mozilla.org

* Building Mozilla Apps on OS/2
    https://developer.mozilla.org/en/OS/2_Build_Prerequisites


===============================================================================
-- System Requirements --------------------------------------------------------
===============================================================================

* Minimum hardware requirements
    - 400 MHz Pentium class processor
    - 128 MiB RAM plus 128 MiB free swap space
    - 40 MiB free harddisk space for installation
      plus storage space for disk cache
    - Graphics card and driver capable of displaying more than 256 colors

* Recommended hardware for acceptable performance
    - 1.0 GHz processor
    - 512 MiB RAM plus 128 MiB free swap space

  Note:  Firefox's performance and stability increases the more physical
         RAM is available.

* Software requirements
  - Installation on a file system supporting long file names
    (i.e. HPFS or JFS but not FAT)
  - OS/2 Warp 4 with Fixpack 15 or later (Warp 3 may work but is unsupported)
  - MPTS version 5.3
  - TCP/IP version 4.1
  - INETVER: SOCKETS.SYS=5.3007, AFOS2.SYS=5.3001, AFINET.SYS=5.3006

  Note:  Do not attempt to use MPTS & TCP/IP versions below these INETVER
         levels.  Although Firefox may seem to start and run normally,
         some features Firefox needs are not implemented correctly in
         older MPTS versions and may cause crashes and data loss.

  Convenience Pack 2 or eComStation 1.0 or later meet these requirements
  out of the box.

* Java
    Java versions earlier than 1.5 are *not* supported.  Neither the IBM
    nor Innotek versions of Java will work with this release.

* Innotek Font Engine
    This is no longer needed or used by Firefox.


===============================================================================

