Copyright: ®Ian Jefferies 1995
Citation: ®Ian Jefferies 1995


ProgramBar contents
ProgramBar for Windows 3.1

Written by Ian Jefferies

(jeffers@teaching.physics.ox.ac.uk)

(C) Ian Jefferies 1995.  All rights reserved.

This release: 23 October, 1995

Version 1.2

Welcome to ProgramBar help!

Inspired by the task bar found in Windows95, this program has been written so that the same kind of functionality and ease of use can be brought to Windows 3.1 and Windows For Work Groups.

Introduction to ProgramBar

Installing ProgramBar

Using ProgramBar

Configuration of ProgramBar

Version release information

Known problems with ProgramBar

Statement of warranty, about BookWare and other notes


Introduction to ProgramBar

Windows was designed so that you might run several programs together.   Using information from these programs so that you might do your job and hit that deadline.  Reading a help file while trying to write and test that Excel based macro on the information requested in an e-mail for example.

While you can do this, you quickly run out of screen real estate in which to place all those open windows so you can see them all at the same time.  Now you are having to switch between applications using Alt-TAB, more often than not overshooting the application you want - very annoying.  ProgramBar will help you switch between applications quickly, easily and with confidence.  It's as easy as using the mouse!

For most of the time you will not be aware that it is running on your system.  It uses very little in the way of system resources and processor time as it sits in the background, quietly noticing when you load and close down programs.

The following main features have been implemented for this release:

	A `Start' button that gives access to much of the functionality of ProgramBar.
	Access to, and running of, any program in your Program Manager groups.
	Access to all of the Control Panel configuration applets
	Each running application is represented on the ProgramBar as a button.  A push of the button makes that application active.
	Right click on the ProgramBar panel to display a list of active applications that can be closed.
	Shutdown Windows, either returning to DOS, restarting Windows again, or rebooting your machine.
	Fast access menus for your most frequently used programs, documents and help files.
	Access to this help file (click on the ProgramBar logo on the right hand side of the bar.)
	Hidden out of the way when you don't need it.  May also be permanently visible on your desktop.
	Fast search for files on your hard disk.  They may be launched or added to the fast access menus.
	Run a program specifying the command arguments, or a data file with an association.  The file can be browsed for.
	Colourful icons help navigation through the main popup menu.
	Flyby help hints when you let the mouse hover over part of the ProgramBar interface.
	Drag and drop of files from File Manager onto ProgramBar.  Automatic separation into Applications, Documents and Help files.
	The state of ProgramBar is saved between sessions.
	The Control Panel may be inhibited from running in order that a potential clash between ProgramBar and Control Panel is avoided.
	Control over the fonts used on the ProgramBar panel and menus.

Installing ProgramBar

Using ProgramBar


Using ProgramBar

Activating ProgramBar

ProgramBar runs in one of two modes, permanently visible or hidden.  When permanently visible the ProgramBar will never take focus from the application you are currently working with.  When hiding (the default method of operation) the bar is not visible and requires the use of  the mouse to activate it.  This is the preferred mode of operation as ProgramBar will not then obscure status information that a maximised application might display at the bottom of the screen.

Just move the mouse pointer to the bottom of the screen and ProgramBar will pop up.  It appears as a small rectangular bar filling the width of the screen and taking up the less that 10% of the screen height.  Notice that the application currently running does not lose focus.  When in this hiding mode, ProgramBar will automatically hide itself again a few moments after the cursor is moved off of its interface panel.

Known problems with ProgramBar

The interface components of ProgramBar

Three components of the interface are visible when activated.  You can click on the visual components for more information, either a popup menu or a link to another page.  Any jump links are also indicated in the body of the descriptive text.

The Start button

This button on the left hand side of the bar gives access to much of the functionality of ProgramBar.  Through it you may access the items in your Program Manager groups and load them.  You can also configure any part of Windows that may be changed through the Control Panel application.

Press the button down to display the Start menu.  Drag the mouse up/down the menu to the item you want to activate.  If an item will presents you with a sub menu then it will display an arrowhead on the right hand side.  The sub menu will pop up when this item is selected, move the cursor off the left or right edge of the menu you are on and continue dragging the mouse up/down to continue selection.  Some menu items may be more than one popup menu deep.

Running tasks

These buttons indicate the applications currently loaded on your system and detected by ProgramBar.  The application that currently has the input focus is indicated by having its button permanently pressed in and shaded out.  Each button has a brief description of the application derived from its title.  These buttons always maintain the same relative positioning, with the most recently loaded program on the rightmost button.

Simply press the button for the application that you want to switch to.  It will come to the foreground of the screen ready for you to use.  The ProgramBar will automatically hide itself if it was hiding before it was used.

More information on tasks

When the cursor is held motionless over one of the task switching buttons more information is displayed.  It appears in the form of a flyby `hint' and gives the full title of the application window.  This is useful should you have several instances of the same program and, because the button bar is crowded, names have been truncated so you can't distinguish between them.

Logo

More than just a pretty picture, the logo is also a button that may be pressed to activate this help file.

System menu

A single click with the left mouse button on a part of the ProgramBar panel that is not a button will display the system menu.  From this menu you may close ProgramBar, or set whether or not it is always visible at the bottom of the screen.

You can also hide the ProgramBar.  This is particularly useful if you normally have the ProgramBar permanently visible but want to see the bottom row of the screen for some period.  ProgramBar will hide itself and pop up again when activated by moving the mouse to the bottom of the screen.  This is a one off hide and does not affect the `always visible' state of the bar.

You may also turn the flyby hints on or off from this menu (they do annoy some people!)

Close Applications menu

A click of the right mouse button on a part of the ProgramBar panel that is not a button will display a menu that allows you to close any application running on the system.  Keep the right mouse button pressed down as you drag the mouse pointer to select the required menu option.  From this menu you can also close all applications that are either minimized, maximized or running in a window smaller that the full screen.

ProgramBar will also terminate a DOS application running in a DOS-box.  There will be no warning from the running program should it require saving of data.  The shutdown is equivalent to pressing the Terminate button presented when the DOS-box system menu item Settings... is selected.  Use with extreme caution!


Activate the Borland C++ application

You just activated the application with the title `Borland C++ - taskbar'.  That application would have moved to the top of all of the windows and now have the input focus.


Activate the File Manager application

You just activated the application with the title `File Manager'.  That application would have moved to the top of all of the windows and now have the input focus.


Currently active application

The button for this application is pressed in and greyed out, indicating that this is the active application and already has input focus.


ProgramBar logo

When pressed the ProgramBar logo runs this help file.


Hide

May be used to hide the ProgramBar when it is permanently visible.  Useful when the lower portion of the screen is displaying information that you want to see.  The ProgramBar may be reactivated when the cursor is moved to the bottom of the screen.


Always Visible

This menu item toggles ProgramBar between being permanently visible and hiding when the mouse is moved off of the front panel.  ProgramBar is always the topmost window, so it may obscure some information presented in the program you are currently working with.


Inhibit Control Panel

This menu item toggles ProgramBar between allowing and preventing Control Panel from executing.  When checked, Control Panel is not allowed to load and, if already active when ProgramBar is first run, will be shutdown.

This option is provided so that the user may not accidentally have the same configuration windows opened by both Control Panel and ProgramBar.  Since ProgramBar opens and controls a configuration window independently of Control Panel, having both open may cause unexpected side effects.


Show flyby hints

This menu item enables or disables the display of flyby hints.  The hints assist the user in using ProgramBar, though some may consider them an annoyance.

When enabled and the mouse pointer has settled on a part of the ProgramBar interface for a few moments a small window appears.   This window gives more information about where the mouse pointer has settled.

The most useful aspect of this at present is for the task switching buttons.  Their flyby hint gives the full title of the window that will be selected.  Normal operation of these buttons may truncate the title and make identification of similar programs difficult.


About...

Gives some information about the program and author.


Close ProgramBar

Shuts down ProgramBar.  Note that Alt-F4 does not work with ProgramBar since it never has the input focus.


Close All menu

Windows grouped by type may be shut down together using this menu.


Close a program

Selecting an item here closes the application.


Start button
The Start menu

When pressed a menu pops up so that you can access the extra functionality of ProgramBar.  Some of these functions are not yet implemented in this early beta release.

Click on the menu item that you want to learn more about.  Use the back arrow to return to the top of this page.

Return to Using ProgramBar

Groups

When selected a popup menu appears with a list of the program groups available in Program Manager.  The contents of the list are sorted alphabetically.  When an item on this list is selected then a further popup menu appears with a list of the icons present in that group.  The title of the icon as stored by the Program Manager is used.  If the number of icons in that group is too large then the list will be spread across two panels.

To run an icon, drag the mouse to the menu item and release the mouse button.  If the menu item is a program then the program will run.  If the menu item is a file then the program associated with the files extension will run and attempt to load the document.

Applications

When selected a popup menu appears with a list of applications that have been set up by the user for quick access.  It is suggested that you place all the major applications that you use here so that they can be accessed more quickly than through the Groups menu item.

At present, applications may only be added to this menu by selecting the executable from File Manager and dragging it onto the ProgramBar front panel.  If the executable is recognised (i.e. appears in one of your Program Manager groups) then it's icon title will be displayed, otherwise the full path to the executable will be shown.

Multiple files may be dragged onto ProgramBar.  They will be separated and placed on the appropriate menu (Applications, Documents or Help files).  If the executable is already on the menu then a duplicate will not be added.

The only way to delete an executable from this list is to edit the progman.ini file directly.  The [Applications] section of the INI file stores the information for this menu.  Each entry consists of a unique identifier followed by an equals sign, then the name of the program displayed on the menu, followed by the path to the executable.  The unique identifier may be any name that does not appear elsewhere in that section on the INI file.  Item0, Item1 etc. are used for simplicity.  The program name and path are separated by the last comma on the line.  The INI file should be edited while ProgramBar is not running.

Documents

When selected a popup menu appears with a list of documents that have been set up by the user for quick access.  It is suggested that you place all the frequently accessed documents that you use here so that they might be accessed more quickly than through the Groups menu item.

At present, documents may only be added to this menu by selecting the document from File Manager and dragging it onto the ProgramBar front panel.  If the document is recognised (i.e. appears in one of your Program Manager groups) then it's icon title will be displayed, otherwise the full path to the document will be shown.

Multiple files may be dragged onto ProgramBar.  They will be separated and placed on the appropriate menu (Applications, Documents or Help files).  If the document is already on the menu then a duplicate will not be added.

Menu entries may only be removed at present by editing the program.ini file directly, as described in the Groups section above.  They are stored in the [Documents] section of the file.

Help files

When selected a popup menu appears with a list of help files that have been set up by the user for quick access.  It is suggested that you place all the frequently accessed help files that you use here so that they might be accessed more quickly than through the Groups menu item.

At present, help files may only be added to this menu by selecting the help file(s) from File Manager and dragging it onto the ProgramBar front panel.  If the help file is recognised (i.e. appears in one of your Program Manager groups) then it's icon title will be displayed, otherwise the full path to the help file will be shown.

Multiple files may be dragged onto ProgramBar.  They will be separated and placed on the appropriate menu (Applications, Documents or Help files).  If the help file is already on the menu then a duplicate will not be added.

Menu entries may only be removed at present by editing the program.ini file directly, as described in the Groups section above.  They are stored in the [Help files] section of the file.

Configuration

This menu provides access to the configuration utilities managed by Control Panel. 	Each of the icons loaded by Control Panel may be accessed by selecting from the popup menu.  The dialog box associated with the configuration utility will appear in the bottom left corner of the screen.  You will have to close or cancel the dialog box before control is returned to ProgramBar.

Some dialog boxes may sit partially off the edge of the screen.  Just pick up the dialog box by the title bar and drag it so it is visible in entirety.  Since the ProgramBar is the parent of the configuration dialog boxes then a loss of focus from the currently running task to the dialog box is inevitable.

* * * WARNING * * *

It is not recommended that the configuration utilities are run from both Control Panel and ProgramBar.  Two dialog boxes will appear, and since they are being generated by the same DLL the results of any operation are uncertain and potentially fatal.  It is possible to inhibit Control Panel while ProgramBar is in operation.

Run...

This dialog box allows you to find and run an individual program.  It is also possible to run the program either as an icon minimized on the desktop or as a fullscreen application.  The full path and filename of the executable should be typed into the combo box.  A history list of up to 20 of the previous commands issued is available.  The command line arguments should also be entered.  Alternatively the name of a data file may be entered.  If the data file is associated with an application then the application will be run and the data file loaded.

The browse button allows you to search for an executable or data file with the assistance of a dialog box.  By default the browse dialog box searches for executables (*.exe,*.com,*.pif,*.bat), but any extension may be specified.  It is not possible to set the arguments passed to the selected executable using the browse dialog box.

Click on the OK button to run the program/data file, or Cancel to close the dialog box without attempting to run the program.  Should the executable not exist or the data file selected not have an association, no warning message will be generated.

Find file...

This dialog box helps you to find files by specifying the search pattern and search directory.  The matching files may then be added to the fast access menus for executables, documents or help files, or executed.

Enter the search pattern into the `Search' combo box.  Typical patterns may search for all instances of one extension (e.g. *.com), one type of main filename (e.g. progbar.*), or for missing characters (e.g. abc??.wri).  Any search pattern accepted by the MS-DOS dir command may be used here.  The 20 most recently used search patterns are stored in the combo box for recall.

Then enter the start directory that the search will begin with.  By default only the specified directory is searched, selecting the `Recurse sub-directories' modifies the search to include sub-directories.  For each new search the contents of the Files found list box are removed, unless the `Append' check box has been selected.

The `Files found' list box gives a list of the files that match the specified search pattern.  They are sorted alphabetically by directory and alphabetically by filename within each directory.  The list box also displays how many files it has found.  The list box may be cleared using the `Clear list' button.  Appended files always appear at the end of the existing list, also sorted alphabetically by directory and filename.

By clicking on each of the files, the attributes of that file are displayed at the bottom of the dialog box.  Groups of files may be selected by clicking and dragging the mouse in the list box.  Individual files may be selected/unselected by clicking on the file while the CTRL button is held down.  When more than one file is selected it is not possible to display file attributes.

Two actions may be performed on the selected files.  First, then may be added to the fast access menus for applications, documents or help files by clicking on the `Add' button.  Alternatively they may be executed by selecting the `Run' button.  If the file is not an executable, or does not have an association known by File Manager, then the file will not be run or added to the fast access menus.  Such files are quietly ignored, no warning message will appear.  By selecting the `Run minimized' check box then all the programs run will be iconized.  Alternatively, the 'Run maximized' check box may be selected so that all the applications are run fullscreen.  These checkboxes only affect programs that you try to run from this dialog box.

Press the `Close' button to close the dialog box and return to the normal operation of ProgramBar.

* * * Warning * * *

Windows 3.1 does not handle resources as well as Windows95, so selecting and running 100 files may well cause you system resource problems.  Also, ProgramBar is not yet able to deal with this many active programs effectively (what else is the next version for?)  Try it... once :)

Shutdown...

This menu item produces a popup menu with two options, one referring to Windows and the other to ProgramBar.

Choosing the Windows menu item allows you to close down the running of Windows.  There are three ways of doing this: a normal shutdown that returns you to the DOS command prompt; a reboot of Windows that may be used to introduce changes that cannot be changed on the fly (e.g. screen driver resolution); and a shutdown that performs a soft reboot, running through the POST and reloading of DOS.  Each application is allowed to prompt you in case it has unsaved data, possibly allowing the shutdown to be aborted.  Note that at the present it is not possible to perform a shutdown with a DOS session active.

Choosing the ProgramBar menu item will force ProgramBar to go through its normal shutdown procedure.  It is equivalent to choosing `Close ProgramBar' from the system menu.


POST

An acronym for Power On Self Test.  Performed by your computer when it is turned on, this checks the RAM of your machine, the presence of the keyboard, PS/2 mouse and other key components required for the normal operation of the machine.


ProgramBar configuration

Not yet implemented.


Command line

Enter the name of the executable and path (if required), and any additional arguments required.  Alternatively the name and path of a data file that has an association known to File Manager.

The last 20 entries may be accessed using the button on the right of the combo box.


Run minimized

When selected the program will be loaded and run in icon form.


Run maximized

When selected the program will be loaded and run fullscreen.


Run

Attempts to run the program and arguments entered into the Execute combo box.  If the program or data file does not exist or has no association then the dialog box will close with no error message.


Cancel

Cancels the dialog box.  No program will be run and the contents of the Execute combo box will not be added to the history list.


Help

Gives more detailed information about how to use the dialog box.


Browse

Creates a dialog box that allows you to search for an executable or data file.


Search for

Enter the search pattern for the file(s) you want to find. Any search pattern accepted by the MS-DOS dir command is acceptable.  A `*' represents any number of characters, a `?' represents a single character.  e.g.  *.com, progba?.*


Start directory

Specifies the directory that the search is to begin from.  Must be a valid directory.


Append

When checked the results of the next search are added to the contents of the `Files found' list box.  When not checked the listed files are deleted from the list box before the search is performed.


Recurse sub directories

When checked all directories below the start directory will also be checked for files matching the search parameters.  When not checked only the specified directory will be searched.


Search

Initiates the search with the supplied parameters.


Close

Closes the dialog box.  All search results will be lost, but the 20 most recent search parameters will be retained in each of the `Search for' and `Start directory' combo boxes.


Help

Gives more detailed information about how to use the dialog box.


File count

Indicates how many files have been found that match the specified search parameters.


Files found

This list box contains all the files found using the specified search parameters.  Selecting a single file gives information on the file: size, date/time stamp and attribute flags.  Multiple files may be selected by clicking and dragging over a range of files.  The list box will scroll as required.  Individual files may be selected/de selected by clicking on them while holding down the CTRL key.


File attributes

Displays the attributes of a single file.  The file length, date/time stamp and access attributes are given.

The access attributes are as follows:  R - read only, A - archive bit set, S - system file, H - hidden file.


Clear list

Forces the contents of the `Files found' list box to be emptied.  Enabled only when there are entries that can be flushed.


Add

Adds the selected file(s) to the fast access menus.  Enabled only when a selection has been made.  Files that do not have associations known by File Manager will not be added.


Run

The selected files will be launched.  Any file that does not have an association known to File Manager will not be run.


Run minimized

When checked, programs that are run by selecting the `Run' button will run as icons.  This button does not affect how items are added to the fast access menus using the `Add' button.


Run maximized

When checked, programs that are run by selecting the `Run' button will run as maximized windows.  This button does not affect how items are added to the fast access menus using the `Add' button.


Control Panel items

Gives a list of the configuration utilities managed by Control Panel.  Select the menu item for the configuration utility that you want to access.


Configuration of ProgramBar

Most of ProgramBar may be configured while it is running.  This can be done through the system menu.  There are however several aspects of ProgramBar that require a little tinkering with the .ini file.  The .ini file may be edited with NotePad or any other text based editor.  This is best done while ProgramBar is not running, though the settings described here will not be altered when ProgramBar is closed unless otherwise stated.

Why not configure them from within the program?  Good question.  The next major addition to ProgramBar will be a configuration panel.  What I have planned is going to be a major coding effort and other projects are calling on my time.  This interim solution keeps (most) people happy.

Return to the contents page

Changing the panel font

The font type and point size used on the front panel can only be changed through editing progbar.ini.  The entry PanelFont is the name of the typeface that will be used to display the text on the front panel.  The entry PanelFontSize is the point size of the font that will be displayed.  The larger the number the bigger the font that will be displayed, but the more of the title that will be lost on the button face when it becomes crowded.  The default entries are as follows:

PanelFont=Arial

PanelFontSize=10

The ability to change these values is provided for those who don't want to get eye strain on higher resolution displays.

Changing the menu font

This was added at the request of several of you who didn't like the default menu font (the system font).  Both the font type and point size may be specified through editing progbar.ini.

By default if no font name or size is specified then the system font is used.  If a font name is specified in MenuFont (but no point size) then the point size defaults to 11.  If only the point size is specified in MenuFontSize then ProgramBar ignores the request to change the point size of the system font.  To restore the default (system) font, delete both entries after the equals (=) sign.

Note that these values describe the font used for the main menu and the submenu.  This means that its best not to make the font too large or too small.  The height of a single menu item is determined by the larger of the bitmap height and text height.  Making the font too small will not reduce the menu size past a certain point as the bitmaps are fixed.  I find the following to be a good compromise:

MenuFont=Arial

MenuFontSize=11

Changing the description and run arguments of items on the fast launch menus

Each of the fast launch menus (applications, documents and help files) includes an icon and some descriptive text.  If the item is recognised as an icon in one of your Program Manager groups then that icon title and icon will be used.  Otherwise the icon by association (if it is a document), or the first icon in the file (if it is a Windows program) will be displayed along with the full path to the item.

The .ini file saves this information between sessions in the following sections:

[Documents]

[Applications]

item0=Borland C++,D:\BC45\BIN\BCW.EXE

item1=OpenHelp,D:\BC45\BIN\OPENHELP.EXE

item2=C:\SB16\QCD.EXE,C:\SB16\QCD.EXE

[HelpFiles]

In this example both the documents and help menus are empty, and the applications menu has three items.  The title on the left and the path to the executable on the right are separated by a comma.  You can modify the descriptive text or add arguments to the executable.  The only requirement on this string is that the separating comma is the last comma on the line,  i.e. you cannot add an arguments list with a comma in it.

Warning!

Do not make these changes while ProgramBar is running, they will be overwritten.

Return to the contents page


Installing ProgramBar

There are three files required for the correct use of ProgramBar.  They are:

PROGBAR.EXE	The executable that provides all of the functionality of ProgramBar.
PBHOOK.DLL	A DLL that is used by ProgramBar to monitor system activity, notify of programs being opened or closed.
PROGBAR.HLP	This help file.

To install ProgramBar follow the steps below:

1.	Create a new directory for ProgramBar.  (e.g. C:\WINAPPS\PROGBAR)
2.	Copy all the files listed above into this directory.
3.	Then activate Program Manager and choose the program group that you want to place the ProgramBar launch icon into.
4.	From Program Manager's menu chose File|New...
5.	Select Program Item, then press the OK button.
6.	Fill in the name of the icon and the path where the executable may be found.
7.	If you want to have ProgramBar launch when you run Windows, place a copy of the icon in the StartUp group.  This may be done by keeping the CTRL key pressed down while clicking on the ProgramBar icon and dragging it to the StartUp group.

Clicking on the ProgramBar icon will now run the program.  ProgramBar creates an initialisation file called progman.ini in the windows directory.

ProgramBar assumes that both the Program Manager and WinHelp executables are available.  Some default icons are taken from these files for display purposes.

Introduction to ProgramBar

Return to the contents page


Version release information

This page details the changes made to ProgramBar between version releases.  Several of these changes have been as a result of the feedback from version 1.0, my thanks go out to all of you who took the time to write and show your appreciation of the effort I've spent on this program.

Version 1.2, release 23-Oct-95

	Crashing bug.  When a popup menu is closed and the cursor is at the very bottom edge of the screen, ProgramBar locks up.  Fixed.  This is the only improvement to this version, but warrants a new release.

Version 1.1, released 22-Oct-95

	Task switching to full screen DOS application from the button bar failed, doing nothing.  Fixed.
	ProgramBar failed to popup if the cursor was at the bottom edge of the screen and sitting over an icon title or window resizing frame.  Fixed.
	ProgramBar became confused if another application forced ProgramBar to display/hide its main window, refusing to popup when hidden.  Fixed.
	An application that forced ProgramBar to minimize its main window succeeded.  This should now not be possible.
	Cursor now changes to an hourglass while ProgramBar loads or performs a time consuming operation.
	All menus now display colourful icons to aid navigation.
	A Program Manager item that specified a working directory different to the full path prepended to the executable file name could not be run.  Items that did not specify a directory in which to find the executable were unaffected.  Fixed.
	The ProgramBar panel and menu display fonts and point sizes may now be adjusted separately in the progbar.ini file for those people using high resolution display modes.
	Flyby hints for the front panel give more information than the (possibly) truncated title text.
	While scanning for the DLL's and drivers managed by Control Panel, a non-existant driver will no longer produce a `File not found' dialog box during start up.
	Menu handling improved, menu's now split when they are larger than the screen height rather than a fixed number of entries.  The list of Program Manager groups will now split into two if you have an excessive number of groups.  This is a hint that you should rationalize the number of groups in Program Manager :)
	Added Maximized checkboxes to the file finder and program run dialog boxes.
	FILE_ID.DIZ added for the benefit of BBS Sysops.

Version 1.0, released 9-Oct-95

	First public release.

Return to the contents page


I use the directory C:\WINAPPS to place most of my windows programs in.  That way I can keep them separate from my Windows installation directory (C:\WINDOWS) and not clog up that directory unnecessarily (Window does a good enough job as it is!).


Problems using ProgramBar
Known and potential problems with ProgramBar

Most of the compatibility problems that I have encountered have been in trying to get ProgramBar to work with Borland Dashboard 2.0.  I have detailed below some of the compatibility issues I have successfully and unsuccessfully redressed.  The other main source of problems lies in identifying a program that has just been launched so that the task switching buttons can be correctly updated.

Using ProgramBar

Return to the contents page

Borland Dashboard 2.0

Supplied with the installation CD-ROM for Borland C++ 4.5, this application (now with Starfish Software?) gives you quick access to Program Manager groups, manages printing, displays system resources, allows an extended desktop, quick launch for applications and more.  I use it mostly for the extended desktop and quick launch.  ProgramBar might be seen by some to supplant some of the functionality of Dashboard.  It's certainly been a minor headache trying to get to two to co-exists reasonably peaceably...

	Dashboard allows access to extended screens though either the program interface or hot keys. If this is done while ProgramBar is active then Dashboard will attempt to move the interface window off screen.  ProgramBar intercepts this and prevents it occurring without having to be registered with Dashboard as being a `sticky app'.  This locking down of ProgramBar is seamless and does not require a screen redraw.
	The extended screens offered by Dashboard leave several unresolved problems.  On several occasions I have noticed that when an application on a different extended screen is switched to the main display also fails to move to the extended window so that the active app can be seen.  I have also seen the problem with the use of fast Alt-TAB so I suspect (but cannot prove) that the problem lies with Dashboard.
	Another problem with the extended screens lies in the activation of iconized programs.  When a program that is minimized in a different extended window is activated, then the program is restored to the current active window.  This problem is apparent for some applications and not others.  I suspect this has something to do with the way ProgramBar is activating applications.  I'm working on a solution to this.

Closing down DOS sessions

ProgramBar can only close down a DOS session if TerminateApp is used.  This is undesirable since some system resources (notably DOS memory) may be lost.  In addition, the shutdown of Windows is prevented by the presence of DOS sessions.  I'm working to try and find a way around these limitations.

Identifying applications appropriate for task switching

ProgramBar attempts to identify the tasks on your system that are to be considered applications.  Anyone who has looked at a Windows resource monitoring program such as Winsight (Borland) or Spy (Microsoft) will now that it is not always easy to separate the wheat (applications) from the chaff (all the other windows in the system).

When I first tackled this problem I was surprised at the different number of ways that an application may place a top level window on the screen.  Most of the time I work with a small subset of the large number of applications I have stored on my hard-disk.  Quite obviously I can't test all of the applications out there for compatibility.  After some testing I have settled on the following strategy for determining if a window may be considered an application.

	If a window is hidden, it cannot be an application.
	If the window doesn't have one of the following it cannot be an application:  A minimize box, a maximize box, a thick (re-sizing) frame.
	If it has a parent window, then it cannot be an application.  An exception to this is if it has a parent window that has zero size.

This manages to exclude applications that only have an icon presence on the desktop, I felt that these programs would only clutter up the active window bar unnecessarily.

If you come across a program that behaves oddly given the above criterion and can analyse why then I am interested in hearing from you so that I can update ProgramBar appropriately.

Other possible problems I cannot test for

Many graphics cards these days allow for a virtual desktop that is larger than the physically displayed screen area.  Since I am developing on a 3 year old 486DX/33, my graphics card doesn't support this feature (surprise!)  Thus I have no way of testing how well ProgramBar works in these environments.  It will either `float' at the position on screen where it is first instantiated, or only popup when the lowest line of the virtual desktop is at the bottom of the screen.  Some feedback on this would be appreciated so I can improve ProgramBar so it works on the widest possible range of machines.


Statement of worthiness
Some legalese and other notes

This software is bookware, but you can choose the best way of showing your appreciation of it.

If you like this software, find it very useful and want to thank me for it please drop me an e-mail.  Alternatively, you might forward a postcard so that I can see how far around the world my software has gone.

If you feel very strongly about how much this program has changed your life and have a good book or two that you no longer read and want to pass onto a good home then please mail it/them to me at the address given below.

DISCLAIMER OF WARRANTY

THIS SOFTWARE IS PROVIDED FREE AND "AS IS" WITHOUT WARRANTY OF ANY KIND.  THE AUTHOR FURTHER DISCLAIMS ALL IMPLIED WARRANTIES INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR OF FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE SOFTWARE AND DOCUMENTATION REMAINS WITH YOU.

IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER (INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS, BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR OTHER PECUNIARY LOSS) ARISING OUT OF THE USE OF OR INABILITY TO USE THE SOFTWARE OR DOCUMENTATION EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

DISTRIBUTION

You may distribute this software freely on any electronic based medium including but not limited to: uploading to a FTP site, uploading to a BBS, downloadable from a WWW page.  May be distributed as part of a CD-ROM collection of shareware/freeware.  Any distribution should not limit my rights (either explicitly or implicitly) to distribute this software using the same medium or any other.  The software should be distributed as received in the original archive file.

The only charges allowed for distribution shall be limited to the medium by which the software is delivered, and those incurred in handling/distribution.  A small shipping and handling charge may be made if this software is distributed as part of a collection.

Return to the contents page

OTHER NOTES

ProgramBar is Copyright (c) Ian Jefferies 1995.  All rights reserved.

The most recent version of ProgramBar may be obtained from the SimTel archive at ftp.coast.com in the directory SimTel\win3\desktop or any of the mirror sites as prgbar??.zip, where ?? represents the version number.

ProgramBar is also archived at the new `CICA' site, ftp.winsite.com in the directory pub\pc\win3\desktop.

Contact address:

Ian Jefferies,

24, Meredith Close,

Pinner,

Middx,

HA5 4RP,

England.

Tel: England (0)181-428-1466

Windows, Windows95 and MS_DOS are registered trademarks of Microsoft Corporation.

All other product names may be copyrighted and registered or unregistered trademarks/trade names of their respective owners.


What makes a good book?

Well, thats always a matter of personal taste.  I prefer to read sci-fi and sci-fact, fantasy and some cyberpunk, although horror does also make an appearance in my book collection.  If it's a book that you've found interesting, learnt from and/or enjoyed, and want to pass it on to someone who might appreciate it then it's fair game.

Uh... one request in this global village we now live in, could you make it a book written in English please?