Subject: ANNOUNCING: XbmBrowser v4.3

From: Anthony Thyssen <[email-masked]>
Date: Tue, 30 May 1995 18:05:51 +1000

Announcing:

       __  ___               ____
       \ \/ / |__  _ __ ___ | __ ) _ __ _____      _____  ___ _ __
        \  /| '_ \| '_ ` _ \|  _ \| '__/ _ \ \ /\ / / __|/ _ \ '__|
        /  \| |_) | | | | | | |_) | | | (_) \ V  V /\__ \  __/ |
       /_/\_\_.__/|_| |_| |_|____/|_|  \___/ \_/\_/ |___/\___|_|
                 __   __          _            _ _   ____
                 \ \ / /__ _ _ __(_)___ _ _   | | | |__ /
                  \ V / -_) '_(_-< / _ \ ' \  |_  _| |_ \
                   \_/\___|_| /__/_\___/_||_|   |_(_)___/

This version has finally fixed the ``inverted pixmaps'' problem that
many users have told me about. It also fixes numerous other faults
that were reported to me.

Here is the rest of the readme file.
-------------------------------------------------------------------------------

XbmBrowser (version 4.3)
   A program to allow the user to view a complete directory of X bitmaps
and X pixmaps all in one go, and to perform user defined actions on
these images.

       Copyright   Ashley Roll  and  Anthony Thyssen

Original Program:     Ashley Roll      [email-masked]      upto version 3.2
Current Programmer:   Anthony Thyssen  [email-masked]  version 4.0 on

This program while available in the X windows Contrib Area, still belongs
to the programmers.  Permission is however given for you to freely copy,
distribute and modify it on the condition that this and all other
copyright notices remain unchanged in all distributions. Modifications
should be forwarded to the Current Programmer (anthony) for inclusion into
the next release.

This software comes with NO warranty whatsoever and no responsibility for
any damages, losses or problems that the program may cause will be taken.

Please also send any interesting user menu additions you come up with to
the current programmer :-

                              Anthony Thyssen    <[email-masked]>
                            http://www.cit.gu.edu.au/~anthony/anthony.html

-------------------------------------------------------------------------------

WHERE TO GET IT

  XbmBrowser
     ftp.x.org   /contrib/utilities/xbmbrowser4.3.tgz
     archie.au   /X11R6/contrib/utilities/xbmbrowser4.3.tgz

and all its mirrors. You may also like to get and install the package
before tring to build this program so that it can read and display
Xpixmap files too.
  
  XPM  (X Pixmap Library)
     ftp.x.org   /contrib/libraries/xpm-3.4f.tar.gz  

DISTRIBUTED FILES

  Documentation
    README               - this file.
    Changes              - history of changes made to xbmbrowser
    xbmbrowser.man       - Online manual for xbmbrowser

  Sources
    Imakefile            - imake file
    Makefile.std         - the standard make file.
    patchlevel.h         - the current patchlevel.
    xbmbrowser.h         \
    xbmbrowser.c          |
    callbacks.c           |
    user_menu.c            > the 'C' code.
    user_functs.c         |
    bitmaps.c             |
    misc.c               /
    XbmBrowser.ad        \_ application defaults
    XbmBrowser-color.ad  /
    tickbox_on.xbm       \_ menu option tick boxes
    tickbox_off.xbm      /
    filesyms/            - directory of file symbols for non-icon files
    test_icons/          - directory of icons used for testing purposes
    icon.xbm             - programs icon -- resource `pixmap' can override.
    xbmbrowser.menu      - The default user menu file.
    xbmbrowser.menu.tut  - Default User menu with comments and suggestions

  Support
    xbm-cmd              \_ Scripts to filter bitmaps and pixmaps
    xbm-resize           /        using the pbmplus filters

  You can download more such support from Anthony's Icon Library
          http://www.cit.gu.edu.edu/~anthony/icons/support/

DEFAULT AND PERSONAL USER MENUS.

  The man page and the file "xbmbrowser.menu.tut" contains information on
the syntax of the new user menu configuration file format.  NOTE: The
Default user menus assume that PbmPlus is available on the users path.

  You can change the default location at which the program expects to find
the default user menu file, either via an appropriate resource setting, or
through the hardcorded resource default in the "Imakefile" or
"xbmbrowser.h".  The default setting is to place the global menu
configuration into normal X11 library directory for your system.

  A personal menu configuration file can be defined by the user, in the
file ".xbmbrowserrc" in the users home directory. I suggest that users
copy the global library file to thier personal rc file, and then make
changes as required.  I myself use a file very simular rc file to the
default global file provided, but using various shell scripts to do
complexe tasks, and with all the rescan()'s removed as I prefer to use the
main button when I want to do a rescan.

SUPERUSER INSTALLATION

  With Imake execute:
     xmkmf
     make
     make install
     make install.man

  With normal make execute:
    Edit xbmbrowser.h or the resource file XbmBrowser.ad to suit your
    machines setup.
       cp Makefile.std Makefile
       make
    then manually install the xbmbrowser, support scripts, manual, and
    the default user menu, as you require.

USER INSTALLATION

    To stop xbmbrowser from tring to load the menu defaults from the
  X11 library directory, do one of the following.
    1/ Just copy the "xbmbrowser.menu" file  into your home directory 
       as  ".xbmbrowser".  If xbmbrowser finds this it will use it
       instead of the library default menus.
    2/ Specify in the XbmBrowser resources where to find the library
       file.
    3/ Edit the Imakefile to specify the directory to find the default
       library menus.
  I think the first is the easiest. I just mentioned the others for
  completeness.

    Build the "xbmbrowser" executable using ``xmkmf; make;'' commands.
  But DO NOT run the "make install" or ``make install.man'' commands.

    Install the XbmBrowser resource (.ad) files into your personal
  application resources directory (renaming without the .ad on the end).
  This directory is pointed to with the Environment variable XAPPRESDIR.
  If this variable is not set then it defaults to your home directory,
  or install the resources into your .Xdefaults or other resource files.
  For more information on resources look at the following WWW document.

        http://www.cit.gu.edu.au/~anthony/info/X/hints.Resources

  Try it.

PROBLEMS

Ultrix Machines (Decstations)
    A number of memory faults seems to occur. Both in user menu
  configuration and also in the X Pixmap library. The solution that works
  is to recompile both xbmbrowser AND the X Pixmap library with gcc.

    NOTE: to compile Xpm with gcc, your must set the following Imakefile
  define in the Xpm lib sub-directory's Imakefile. Or better still fix it
  in the /usr/lib/X11/config/Imake.tmpl file with.

  #define LibraryCcCmd gcc

    Noramlly these X Pixmap errors are of concern to most applications.
  They seem to only happen when a xpm is being freed, either by a call
  from the client program or because the xpm file is invalid. Most
  programs using the Xpm library never free X pixmaps or try to referance
  non-pixmap files. Xbmbrowser does both.

Linix (PC Unix) 
    Linix machine have the same problems with the pixmap library. In this
  case however the problem seems to do with the Xpm library 3.3,
  distributed with the linux system. Users can get a replacement copy of
  the Xpm library via ftp from :-

      sunsite.unc.edu:/pub/Linux/libs/X/libXpm-3.4c.tar.gz

  This can be placed in the /usr/X11/lib directory with the old library
  and recompile xbmbrowser.

BETA TESTERS

  The following people returned bugs and suggestions for this release
of xbmbrowser. Many thanks to all of them.

  Steve Kinzler   <[email-masked]>         :Recursive Directory Tests
  Shane Watts     <[email-masked]>            :Linix PC
  Thomas Cooke    <[email-masked]>       :Zero Width/Heigth Xpm Bug
  Bjorn P. Brox   <[email-masked]>                 :Stupid Memory Faults
  Jan Sandquist   <[email-masked]>
  Detlef Schmier  <[email-masked]>
  Brian Dowling   <[email-masked]>           :Dec Ultrix -- symlinks
  Robert Paulus   <rbg.informatik.th-darmstadt.de> :HP9000/400
  Richard Lloyd   <[email-masked]>        :HP-UX -- Imake changes
  Bob Friesenhahn <[email-masked]>            :Solaris -- Memory Faults
  Heiko Schroeder <[email-masked]>  :List widget bug
  Michael Weller  <[email-masked]>   :dir_list[] - no limit tests
  John Polstra    <[email-masked]>                :SVR4 symlinks
  Amir J. Katz    <[email-masked]>           :Double Click Fault
  Steven Chaplin  <[email-masked]>          :Imake problem on linux
  Reinhard Sy     <[email-masked]>                    :Sony -- include file
  Detlef Schmier  <[email-masked]>             :Simple fix to "None" colors

  Anthony Thyssen ( System Programmer )   http://www.cit.gu.edu.au/~anthony/
-------------------------------------------------------------------------------
      "The best way to accelerate an IBM is at 9.81 metres/sec^2"
                                                       - Larry Phillips
-------------------------------------------------------------------------------