

v01.07.00
Released: 04/16/05
Program Summary
FairView is an image viewer that can be controlled from within other Windows applications. It is specially designed to allow other applications to initiate the viewing of images without being disruptive to the application window from which it was launched. This means that you can launch FairView, and the last window that was active before doing so retains focus, unless you manually specify otherwise. This is useful when working with databases and other applications which may benefit from the viewing of images while retaining control over the application itself. FairView may be launched, updated, and taken away as needed, all from the command line or from inside any program that can launch another program.
The program may be set to either resizing or scrolling mode by virtue of the geometry
specified at startup, if any. By default, FairView starts in the top-
New images are displayed in the same window simply by invoking the program again with a new image name.
Supported Platforms
The current supported platforms are:
System Requirements
The following is required to use FairView:
Demo Versions
A demo version is available. The demo versions stamp the top of the viewing window with an [UNREGISTERED DEMO] label. This extra label indicates the unregistered status of the software. This does not occur with the fully licensed version.
Download the demo for your platform:
Installation
Unpack the zip archive into any directory you choose. A subdirectory named FairView will be created, and all program files are present within this subdirectory.
You may call the program directly from this directory at any time. If you wish to relocate the program itself to a location, you must copy all the included dynamic libraries to the same location in order for the program to work correctly. Relocation is purely optional.
Usage
Utilise the following syntax from inside any program that has the ability to launch other applications:
fairview [options] image_file
Supported image formats are: GIF, JPG, BMP, TIFF, PNG, XBM, XPM, PPM, and PGM.
Options
-
The geometry string may be one of three formats:
+X+Y
Position the window at the top-
XxY
The middle 'x' is literal. Set the dimension of the window to X by Y, position the
window at the top-
XxY+X+Y
The middle 'x' is literal. Set the dimension of the window to the first X by Y, position
the window so its top-
If no -
This option only affects the initial instance of FairView.
-
The resize string takes this format:
XxY
The middle 'x' is literal. This sets the size to which you wish the image resized.
If you specify a size larger than the image, the image will be displayed at its normal
size, unless you also use -
-
This option tells the program to scale all photos so that they fit within the geometry
specified by -
-
Give the FairView window focus, rather than retaining focus for the window that had it prior to FairView being started, as is the default. This option only affects the initial instance of FairView.
-
Cause the existing FairView window to terminate. This option does not require you to specify an image file. It is a command directive to allow you to "tear down" the existing instance of the application.
-
Do not display the filename label above the picture. The default behaviour is to display a label with the image name (including the full path, if it was supplied).
-
Prune the filename label to just the basename of the file, discarding the path information.
-
Use instance N of the program. If omitted, the default is session 0. If you wish
to have multiple instances, you may use -
-
Causes the window to stay on top of all other windows. (Win32 Only.)
-
This option brings up the program documentation window. Help is also available from any window in the program via the menu.
Menus
The menu available in the main window lets you control the functionality of the program while it is running. The menu options are as follows:
File-
Toggles the program between resize and scrolling modes.
File-
Toggles whether the image label is shown above the image itself.
File-
Toggles whether the window manager is active for the main window. In the Microsoft Windows version, this is on by default, and turning it off serves no purpose unless you wish to take away the titlebar and ability to move and resize the window via the window manager. In Microsoft Windows, it's safe to just leave this alone at its default setting and never think twice.
In X-
File-
Toggles whether the image display window remains on top of all other windows. (Win32 only.)
File-
Allows you to submit feedback to the author from within the program itself. This option requires an active Internet connection to successfully provide the feedback.
File-
Exits the program.
Help-
Provides program usage information.
Help-
Allows you to see what the geometry of your FairView window is. This is useful for determining what geometry to use on the command line. Simply start in or switch to scrolling mode, resize and/or reposition the window, and use this option to obtain your geometry. Use the parts that are relevant to your particular scenario.
Help-
Provides information about the program version, copyright, and author.
Advanced Optimisation for Speed
By nature, FairView requires a fair amount of resources. Every time you invoke the program, it must load all its shared libraries again, which takes a little time. One can expedite window updates to the same session by launching the session window only once, and then manipulating two files that are monitored by the program. The following describes the methodology for taking advantage of raw file manipulation to eliminate the load time for secondary calls to alter the contents of established session windows.
There are two files you need to be concerned with. On *nix systems, they will be placed into the /tmp directory. On Win32, these files will be placed into the directory in which FairView.exe resides (and from which it was called). All filenames are case sensitive, even on Win32, so pay close attention to the filename casing.
First, we write the file FairViewImagePath-
That is not the actual filename. You need to do substitutions on [username] and [session]
in order to accomodate which user you're running as, and which session you wish to
affect. On *nix systems, the username section will be whatever is stored in $USER
in your environment. In Win32, the username is always set to undefuser (unless you
actually have an environment variable for $USER set, which is doubtful). The second
substitution is the session number. This is identical to the number you would give
the -
In this fashion, if I'm running on Win32 and altering session 0, my filename would actually be
FairViewImagePath-
We will write the contents of this file according to what we wish to do. The following parameters are all followed by an equals sign and their respective values as described below:
file
The file we wish to display.
label
Either on or off. The value off is equivalent to specifying -
aspect
Either on or off. The value on is equivalent to specifying -
prunelabel
Either on or off. The value on is equivalent to specifying -
top
Either on or off. The value on is equivalent to specifying -
resize
The value we wish to use to resize the image when subsampling. (e.g., 200x200) This
value is what you would specify to the -
There is a special line which, in its entirety, may read __KILL__. That is in all
caps, and there are two underscores on either side. This option, regardless of the
presence of any others, will result in the immediate death of the session. This is
equivalent to using -
All lines should end in their respective platform's line-
After writing the file, close the file, as the program will want full permission to remove it.
There is one more thing we must do in order to finalise our request and let the program
act upon them. Take the filename you constructed above and replace the TXT suffix
with the SEM suffix. Simply open and close this file. No contents are necessary-
After creating that second file, you're done. The session that's being manipulated will act on the data nearly instantaneously (250ms maximum delay).
This methodology is for advanced users who wish to speed performance of FairView, and who know what they're doing. This method is also not officially "supported" behaviour, although it does work. Please bear in mind that there is absolutely no error checking done on this file for bad pathnames, bad sizes, etc. This mechanism is really meant to be used by FairView itself, which does all the command line sanity checking. You can't seriously damage anything, although you may net some unexpected results if you accidentally give strange values.
Changelog
v01.04.00 -
Original Release.
v01.05.00 -
Added multiple instances, multiuser facilities, and pathname pruning. Fixed fonts
to be uniform on all versions of Windows, regardless of native font scaling settings
and reworked geometry to be smaller for several windows. Did pre-
v01.06.00 -
Finished Linux version and integrated into one codebase. Not released publicly.
v01.06.01 -
A little more work on Linux version. Added auto-
v01.06.02 -
Added "Always on Top" mode for Win32. (User requested feature.)
v01.07.00 -
Added TIFF support. (User requested feature.)
Copyright, License, Warranty, and Payment
This software remains the property of Fairlight Consulting, and license to use the program is sold to users. FairView is licensed at a cost of $49.95 USD per system on which it is used. Each license fee entitles you to use FairView on one system, in any role you require.
Upon receipt of payment for a license, program will be delivered to the licensee via email at the email address associated with the PayPal payment.
Upgrades for the product are currently free when moving to new minor and major versions. Fairlight Consulting reserves the right to change this policy in the future, with no prior warning.
There is no warranty for this software. This software is offered "AS-
Good computing practice dictates that any program should be thoroughly tested with
non-