Description

BarClock is a utility that displays useful information in the unused area of the caption bar of the active window. This approach is less obtrusive than using a separate window which is always on top or that can be covered by other windows.

The small size, low memory/resource usage and the feature set listed below make it easy to see why BarClock is becoming standard on Windows desktops across the world!

Title Bar Display

Time/Date display

World time display

System information display

Integrated task switcher

Application launch icons

Alarms

Unlimited alarms/reminders/events

Integrated popup calendar

Repeating alarms

Program launch capability

Send alarms to others via network (PLUS only)

Optional logging of alarms

Timers

Unlimited timers

Built in rate calculations

Auto start/stop for WinCIM, AOL and Prodigy usage

Cumulative time/rate capabilities

Optional logging of timers

System Monitor/Warnings

Free resources (GDI and User)

Free memory

Free disk space

Remaining battery life

Low/DOS memory

Available/reserved PSP count

Use warnings to avoid crashes

Optional logging of warnings

Extensible

Plug-in extensions fully supported (buttons and keywords)

QExit - Windows quick exit/restart extension included (w/source)

RunProg - Run program extension included (w/source)

CDPlay - CD Player extension included (w/source)

More included with PLUS version!

Other

Chimes (hour, 15, 30, 45 past)

Send messages to others via network (PLUS version)

Low memory manager - helps prevent Out of Memory

Fully user configurable display and menu options

Low memory and resource usage (30k and about 1% of resources)

See also:	Reviews and Comments


Basic Operation

Once BarClock is running, information will appear in the caption of the active window.  Initially, BarClock is configured to display the date and a calculator icon on the left and the time and a clock icon on the right.  In addition, the right may also contain a number of additional icons which represent applications that are currently running.  To get going, you only need to learn the few basic gestures that BarClock understands.

Click and hold the left mouse button on either the time or the date to display the BarClock configuration menu.

Clicking on the calculator icon on the left will launch the Windows Calculator.

Clicking on the clock icon on the right will toggle the BarClock display on or off.

Clicking on the other icons on the right will activate the corresponding application.

A short click on the date or time will toggle the display.  Initially, the toggle order is free memory followed by free resources, free disk space on drive C and, finally, the timer.

Right click on either the time or date to display a shortcut menu that lists the current values of the toggle items and timers.

Click for more information on:

Setup

Alarms

Timers

Warnings

Other


Setup

The configuration of BarClock can be customized to your liking.  You have full control of what information is displayed and where it is placed.  All of BarClocks configuration information is stored in the file BARCLOCK.INI which is located in your \WINDOWS directory.

Each of the setup dialogs can be accessed by clicking and holding the left mouse button down on either the time or date display.  From the menu that appears, choose Setup and then choose the desired option from the sub-menu.

Click for more information on:

Display

Logging

Chimes

Colors

Font

See Also:	Examples

Advanced Topics


Setup - Display

Adding Items

1.	Select where you want the item to display (application launch buttons may only be added to the left or right item list).  Toggle items appear in sequence after a short click on the BarClock display.

2.	Click on the Add... button (or press Insert key)

3.	Select the item type to add and click OK

Changing Display Format

1.	Select the item to modify

2.	Click the Edit... button (or double-click on item)

3.	Use the dialog to modify the item and click OK

NOTE:  To edit the format string directly, hold down the SHIFT key while clicking on the Edit... button - this forces the generic editor to appear for the selected item.

Removing Items

1.	Select the item to remove.

2.	Click the Delete button (or press Delete key)

See also:	Setup - Display - Add Item

Setup - Display - Edit Item

Setup - Display - Edit Date

Setup - Display - Edit Time

Setup - Display - Edit Disk

Setup - Display - Edit Button


Setup - Display - Add Item

This dialog allows you to choose from the list of objects that BarClock can add.  Application launch icons can be added by choosing Application Icon from this list.  The subsequent dialog will ask for the name of the application to add.

The Free Battery item will display the remaining life in your laptop battery if your computer supports the Advanced Power Management protocol.  If the battery percent appears as 0, your computer does not support this protocol.

A Custom Display item can be text or text which contains any of the format keywords.

Extensions

When new BarClock extensions are added, any new buttons that the extension supports are added to the end of this list.  BarClock comes with extensions for playing CDs, quickly restarting Windows and running programs.


Setup - Display - Edit Item

This dialog is used to modify the default format strings or create your own combinations of text and format keywords for display.  All keywords must be enclosed in square brackets [ ].  New keywords can easily be added by creating an extension .DLL.


Setup - Display - Edit Date

Choose the desired date display format from the set of available choices.  The first choice in the list is from your Control Panel settings and is often the same as another item in the list - this is normal.  If you wish to display the date in a format not in the list, click cancel to return to the Display Setup dialog and hold the SHIFT key down while clicking on the Edit... button.  This will display the generic Edit Item dialog allowing you full control over the display format.

See also:	Custom Date/Time Formats


Setup - Display - Edit Time

Choose the desired time display format from the set of available choices.  The first choice in the list is from your Control Panel settings and is often the same as another item in the list - this is normal.  If you are setting up a time for another city, you may optionally enter the name of the location and the number of hours time difference between the locations.  To specify a negative time difference, include a minus sign (-) in delta amount.

If you wish to display the time in a format not in the list, click cancel to return to the Display Setup dialog and hold the SHIFT key down while clicking on the Edit... button.  This will display the generic Edit Item dialog allowing you full control over the display format.  This technique can be used to include the date in the time display of another location.

See also:	Custom Date/Time Formats

Multiple Time Zones


Setup - Display - Edit Disk

Choose the drive letter of the disk that you wish to monitor. Make any desired changes to the format string and click OK.  Entering drive letters that correspond to removable media drives (such as a floppy drive) is not recommended.


Setup - Display - Edit Button

Choose the application that you wish to launch with the button.  The Set... button at the top of the dialog displays the file browse dialog to aid with the program selection.  Add any desired program arguments after the application name.  Specify the text that should appear in the tip window (if none is specified, the application name is used).

By default, the icon for the executable will be compressed and displayed in the title bar.  If you wish to specify a different .ICO file, you may do so by clicking on the Set... button located at the bottom of the dialog.


Setup - General

This dialog allows you to configure the behavior of BarClock.  The set of checkboxes control different aspects of BarClock's behavior.  Click below for more information on the various settings.

Show BarClock window if there is no active application

Allow text to overlap window title

Display free memory and disk space in "Kilobytes"

Display BarClock icon on desktop

Don't chime when screen saver is active

Listen for BarClock DDE messages

Display quick hide toggle button

Display active tasks in title bar

Display button labels

Stop all running timers on shutdown

AutoChron enabled (WinCIM and AOL)

Enable low DOS memory management

Display advanced menus

Messages	allows you to specify whether messages from alarms and warnings will scroll across the caption bar or display in a message box.  To acknowledge a message that is scrolling through the caption, simply click anywhere in the scrolling message.

Position	allows you to adjust the location where BarClock is displayed.  There are a handful of applications that change the layout of the caption bar.  This option specifies the amount of room that BarClock should leave on either the left or the right for those applications.

Menu Access	allows you to control how the BarClock menu is accessed.  By default, the BarClock menu appears when you click and hold on the BarClock display.  However, this prevents you from moving a window by dragging an area where BarClock appears.  If this is a problem, change the menu access to Double-click.  This will change the behavior so that a short click will toggle the BarClock display and a longer click will move the window.  When this option selected, the BarClock menu is accessed by double-clicking on the BarClock display.


Setup - Logging

This dialog allows you to customize the log messages that BarClock uses when logging Alarms, Timers, Warnings or Events.  Any of the format keywords can be used in the message string.  The use of tabs (specified by \t) or line breaks (specified by \n) allows you to format the log file for use in spreadsheets or other analysis tools.

Although not configurable through a dialog, it is possible to configure BarClock so that it uses different log files for each type of log message.  See the [Logging] section for more information on how to configure this option.


Setup - Chimes

This dialog let's you specify whether or not BarClock will play chimes.  BarClock can chime on the hour, half hour, quarter hour (15 and 45 past) or any combination of the four.  There is also a check box that will cause BarClock to chime once for each hour (for example, at 4:00pm, the hourly chime will occur 4 times).

The Set... button displays the standard file dialog that allows you to select a .WAV file.  To sample the selected .WAV file, click the Play button that appears in the file dialog.  The selected .WAV file will be played.

In addition to the .WAV files that come with Windows, the BarClock PLUS installation program copies a number of .WAV files into the directory \BARCLOCK\WAVES.


Setup - Colors

This dialog lets you set the colors that BarClock uses for the background and text.  You can choose to use either the default colors or select one of your own.  If you choose Default, the clock will blend into the caption bar by using the same background and text color of the rest of the caption bar.  If you choose Custom, the Set... button displays the standard color dialog which allows you to choose any color you want for either the background or the text.  In addition, the background can be given a 3D look by choosing the 3D Pedestal option.


Setup - Fonts

This dialog lets you set the font that BarClock uses for its display.  Choose the font that you desire and click OK.  Because of the limited height of the caption bar, font sizes greater than 12 may not be displayed properly.


Alarms

BarClock allows you to create and use alarms for a variety of purposes.  Each alarm has a number of configuration options that make this possible.

Meetings/Appointments

When you need to enter a reminder of a meeting or appointment, simply right-click on the time/date display and choose Calendar... from the menu.  Next, double-click on the day of the meeting or appointment.  Give the alarm a name, set the time and enter the message you wish to display when the alarm occurs.

Reminders

Start with the same steps as above.  The only extra step is to choose Daily from the drop down list of repeat frequencies.

Birthdays/Anniversaries

Start with the same steps as above.  The only difference is to choose Yearly from the drop down list of repeat frequencies.

Automated Program Execution

When setting up this type of alarm, start by following the same steps as above.  Next, choose the desired repeat frequency - for example, if you are scheduling backup software to run, you may wish this program to repeat once a week.  And finally, choose the program that you wish to run when the alarm occurs.  The command line should include any optional program arguments required.

Logging

If you have chosen to log one or more alarms to a log file, choose the menu item Show Log... item from the Alarms sub menu to display the log file using Notepad.

Related Topics

Calendar

Alarms - Edit

Alarms - List


Calendar

The calendar window appears in front of all other windows allowing you to view the calendar while continuing to work in other applications.  The scroll bar controls which month is displayed - click on the arrows to move a month at a time, click in the page left/right area to move a year at a time.  The Today button will position the calendar back to the current month and select the current day.  Any day that has one or more alarms is displayed in red.

Add new alarm

1.	Double-click on the day the new alarm is for - OR - right click on the day and choose Add Alarm... from the popup menu that appears.

2.	Configure the alarm using the alarm editor and click OK

Edit/Delete existing alarm

1.	Right-click on the day with the alarm

2.	Choose the desired alarm from the popup menu

3.	Configure or delete the alarm using the alarm editor and click OK

List all alarms for a given day

1.	Scroll to the desired month

2.	Right-click on the desired day

3.	A menu will appear with the alarms for that day

List all alarms for a month

1.	Scroll to the desired month

2.	Right-click on the dialog box

3.	A menu will appear with the alarms for the month


Alarms - Edit

Name

The name allows you to associate a name with the alarm.  The name is displayed in the alarm listing and used to identify the alarm in the log file.

Time/Date

The time that the alarm should occur is specified using either a 12 hour or 24 hour clock depending on your Control Panel settings.  If an AM and PM radio button appear after the time, the 12 hour clock is being used - remember to select either AM or PM!

The date specifies the date the alarm will occur.  Clicking the Set... button displays a calendar allowing you to easily choose a specific date.

Repeat

The Repeat checkbox indicates if the alarm should repeat.  Alarms can be set to repeat Hourly, Daily, Weekly, Biweekly, on Weekdays only, on Weekends only, Monthly or Yearly.  If an alarm is specified as a repeating alarm, the alarm will start repeating once the specified date has been reached.  For example, it is possible to set an alarm for some future date that will repeat every hour when that date is reached.

Warning

You can choose to have a warning message appear a number of minutes before the actual alarm.  This is useful if the alarm is an appointment reminder and you need time to prepare for the appointment.

Net Send... (PLUS Only)

This feature, available in the PLUS version only, uses Windows for Workgroups and NetDDE so that you can send alarms to other BarClock users within your workgroup.  Simply enter the machine name you wish to send the alarm to (or use the Browse... button to find a machine) and click the OK button.  Your alarm will be added to the specified users alarm file.

Alarm Options

When an alarm occurs, you can have BarClock do any or all of the following.

Log entry.  An entry will be made in the log file

Display on startup if missed.  If the BarClock was not running when an alarm was scheduled to occur (e.g. the machine was turned off), you can have the alarm occur automatically when BarClock starts.  If this option is not checked, repeating alarms are properly rescheduled but one-time alarms are discarded!

Play a .WAV file.  Click the Set... button to specify which .WAV file should be played.

Run an application.  Enter the full command (including any of the program arguments) that you wish to run.  If you want the application to run in the background, make sure to check the Minimized box.  The Set... button can be used to browse for the application you wish to run.

Display a message.  The message will be displayed according to the message option specified in the Settings|General... dialog.


Alarms - List

This dialog is displays all of your alarms in one list.  This makes it easy to add, configure or delete a number of alarms at one time.

Add Alarm

1.	Click on the Add... button (or press the Insert key)

2.	Configure alarm settings and click OK

Edit Alarm

1.	Select the alarm you wish to change

2.	Click on the Edit... button (or double-click the warning)

3.	Make desired changes and click OK

Remove Alarm

1.	Select the alarm you wish to remove

2.	Click on the Delete button (or press the Delete key)


Timers

Timer Display

By default, the timer is the last of the toggled items.  When you toggle to the timer, the display will remain on the timer until you toggle off of it.  If you have more than one timer defined, you can quickly display a particular timer by right-clicking on the time/date display and choosing the desired timer from the menu.

Start/Stop Timer

To start the timer, click on the green circle.  The circle turns red and the timer begins counting.  To stop the timer, click the red circle.  The circle turns green and the timer stops.  Click the green circle again and the counter will continue counting from where it left off.

Reset Timer

If you wish to reset the timer, right click on the timer and choose the Reset Timer menu item that now appears in the menu.  This option will log the current timer value to your log file (if desired) and then reset the current timer value.  The cumulative timer value can only be reset from within the edit timer dialog.

AutoChron

BarClock features a smart timer capability that can be used to automatically track on-line connect time when using WinCIM or America Online.  When either the WinCIM or AOL application is launched, BarClock will automatically toggle to display a timer that is configured to track connect time.  If such a timer does not exist, one will be created for you (however, you will need to adjust the rate information for you particular service plan).  BarClock will automatically start and stop the timer for you based on the following rules.

WinCIM Standard	This timer corresponds to the CompuServe Standard pricing plan.  The timer is started when you enter an extended service and stopped when you return to basic services.  The total extended service usage is logged when you exit WinCIM or disconnect and reconnect to the service.

WinCIM Alternate 	This timer corresponds to the CompuServe Alternate pricing plan.  The timer is started when you establish a connection and stopped when you disconnect.  The total usage is logged when you exit WinCIM or reconnect to the service.

America Online	The timer is started when you establish a connection and stopped when you disconnect.  The total usage is logged when you exit the AOL application or reconnect to the service.

Prodigy	The timer is started when you establish a connection and stopped when you disconnect.  The total usage is logged when you exit the Prodigy application or reconnect to the service.

Logging

If you have chosen to log one or more timers to a log file, choose the menu item Show Log... item from the Timers sub menu to display the log file using Notepad.

Related Topics

Timers - Edit

Timers - List


Timers - Edit

Name

The name allows you to associate a name with the timer.  The name is displayed in the timer listing and used to identify the timer in the log file.  Timers are sorted alphabetically by name.

Type

Choose the type of timer from the list of types.  The timer can be set to count up, count down or use the AutoChron  feature to create a timer that automatically tracks and logs your WinCIM, American Online or Prodigy charges.  WinCIM users can choose between the WinCIM Standard timer which only tracks time in extended services or the WinCIM Alternate timer tracks the entire connection.

Display Resolution

You can choose how much information to include in when displaying the timer.  BarClock can display timers in 1/10 second intervals.  This setting modifies the display only - internally, BarClock will always use the maximum resolution.

Totals

The cumulative total for the timer is displayed.  Whenever a timer is reset, the current timer value is added to the cumulative total.  The cumulative total honors the rate increment when accumulating the timer amounts.  For example, if you have specified a rate increment of 1 minute, a timer value of 46 seconds will add one minute to the cumulative time when it is reset.

Limits

If you choose a count down timer, you must specify a starting time or dollar amount to count down from.  For all other timer types, the stop time (or dollar amount) is optional.  If no stop time is specified, the timer will count up indefinitely.

Hourly Rate

You can associate a rate with timer.  BarClock can display both the time and the dollar amount that it represents.  The hourly rate can be configured to correspond to several standard step values.  BarClock will always display the amount that corresponds to the next highest multiple of the chosen increment.  For example, if you choose an increment of 15 minutes and the timer value is 4 minutes, the amount displayed is for

Timer Options

When a timer limit is reached (0 for count down timers, or the specified limit if the timer counts up), you can have BarClock do any or all of the following.

Log entry.  The timer will make entries in the log file when reset.

Start again.  The timer will reset itself and begin counting again.

Play a .WAV file.  Click the Set... button to specify which .WAV file should be played.

Run an application.  Enter the full command (including any of the program arguments) that you wish to run.  If you want the application to run in the background, make sure to check the Minimized box.  The Set... button can be used to browse for the application you wish to run.

Display a message.  The message will be displayed according to the message option specified in the Settings|General... dialog.


Timers - List

This dialog is displays all of your timers in one list.  This makes it easy to add, configure or delete a number of timers at one time.

Add Timer

1.	Click on the Add... button (or press the Insert key)

2.	Configure timer settings and click OK

The new timer will appear in the list in alphabetical order.

Edit Timer

1.	Select the timer you wish to change

2.	Click on the Edit... button (or double-click the timer)

3.	Make desired changes and click OK

Remove Timer

1.	Select the timer you wish to remove

2.	Click on the Delete button (or press the Delete key)


Warnings

Warnings allow you to avoid situations that may lead to problems before its too late.  BarClock can keep watch on your remaining resources, memory, disk space and a few other values and alert you when they fall below a trigger value you define.  The advance warning ensures that you have an opportunity to save your work and possibly remedy the situation before it becomes worse.

Resource Warnings

The default installation creates two warnings that alert you if your system resource level falls below 35% and 20%.  Although you can remove these warnings if you wish, we recommend that you always have some form of resource warning to alert you when resources run low.

Logging

If you have chosen to log one or more warnings to a log file, choose the menu item Show Log... item from the Warnings sub menu to display the log file using Notepad.

Related Topics

Warnings - Edit

Warnings - List

Enhanced Crash Protection


Warnings - Edit

Name

The name allows you to associate a name with the warning.  The name is displayed in the warning listing and used to identify the warning in the log file.

Warning Type

Choose the desired type of alarm from the drop down list of choices.  The dialog will change based on the type of warning selected.  Fill in the trigger value that you wish to set.  When the resource falls below this level, the warning will occur alerting you to take action.  Remember, you can create multiple warnings with different trigger values for the same item type.

Warning Options

When a warning occurs, you can have BarClock do any or all of the following.

Log entry.  An entry will be made in the log file

Play a .WAV file.  Click the Set... button to specify which .WAV file should be played.

Run an application.  Enter the full command (including any of the program arguments) that you wish to run.  If you want the application to run in the background, make sure to check the Minimized box.  The Set... button can be used to browse for the application you wish to run.

Display a message.  The message will be displayed according to the message option specified in the Settings|General... dialog.  All keywords in the message will be replaced with the appropriate value at the time of the message is displayed.


Warnings - List

This dialog is displays all of your warnings in one list.  This makes it easy to add, configure or delete a number of warnings at one time.

Add Warning

1.	Click on the Add... button (or press the Insert key)

2.	Configure warning settings and click OK

Edit Warning

1.	Select the warning you wish to change

2.	Click on the Edit... button (or double-click the warning)

3.	Make desired changes and click OK

Remove Warning

1.	Select the warning you wish to remove

2.	Click on the Delete button (or press the Delete key)


Other

Unload DLL

WARNING:  Unloading a .DLL that is required by a running application may cause the system to become unstable and crash.  This feature is intended for advanced users only!  This feature is only accessible if advanced menus are enabled in the Setup|General... dialog.

This dialog lists all the .DLLs that are currently loaded into memory and, where possible, the applications that are linked to the .DLL.  For .DLLs that were loaded dynamically (through use of the LoadLibrary function), the current usage count is displayed in place of the application list.

If you wish to unload a .DLL, select the .DLL from the list and click the Unload DLL button.  A confirmation will always appear reminding you of the possible danger.  Clicking OK will cause the DLL to be removed from memory.

Global Compact

WARNING:  This option may move or discard memory handles and resources that are not locked.  Some programs may not be fully tested when this happens and have bugs that cause them to crash.  This feature is intended for advanced users only!  This feature is only accessible if advanced menus are enabled in the Setup|General... dialog.

Global compaction is an operation that discards and moves memory handles in an effort to coalesce free memory.  During this operation, all memory and resource handles that are marked as discardable are discarded.  The remaining memory is then reorganized by relocating handles that are not locked to minimize memory fragmentation.  Choosing this option has been known to help certain DOS applications get the extended memory they need to run when they are being run from within Windows.

Network Message (PLUS Only)

This feature, available in the PLUS version only, uses Windows for Workgroups and NetDDE so that you can send messages to other BarClock users within your workgroup.  Simply enter the machine name you wish to send a message to (or use the Browse... button to find a machine), enter the message text, choose how the message will appear (scrolling or in a popup message box) and click the OK button.  Your message will appear on the machine you specified!


This check box controls whether BarClock will display it's own window when it cannot not find a "host" application.  This is useful if you often leave your applications minimized.  This is checked by default.


This check box controls whether BarClock is allowed to obscure the application window's title text when it displays it's information.  (NOTE:  If this option is not checked, BarClock may not display all of the information on either or both sides - this is proper behavior.)


This check box affects disk and memory display.  If checked, the memory and disk space are always displayed in kilobytes, otherwise, the values are scaled to the best display value.


This check box controls whether a BarClock icon appears on your desktop.  This is useful if you need to exit BarClock using a macro or scripting language.


This check box controls whether BarClock displays an icon for each application that is running in the top right of the title bar.  A click on the icon allows you to quickly switch between applications.  This is checked by default.


This check box controls whether BarClock will automatically time WinCIM, America Online or Prodigy sessions.  When checked, BarClock will automatically display (or create) a timer when either WinCIM, America Online or Prodigy is started.  This timer will automatically track connect time on these services.  This is checked by default.


This check box controls whether BarClock will play chimes when a standard screen saver is running.  This allows you to leave your computer running for long periods of time without being disturbed.  This is checked by default.


This check box controls whether BarClock will can send and receive DDE messages.  When checked, other applications have access to BarClocks features and, if you have the PLUS version, BarClock can send and receive messages and alarms from other BarClock users if you are using Windows for Workgroups.  This is checked by default.


This check box controls whether BarClock displays its Quick Hide icon in the title bar.  If there are times when BarClock obscures the Window title, you can click this icon to hide BarClock.  A second click will bring BarClock back into view.  This is checked by default.


This check box controls whether BarClock displays fly out labels when you position the cursor over buttons in the title bar.  These feature helps you distinguish one instance of an application from another.  This is checked by default.


This check box controls whether BarClock will stop all running timers when it exits.  If this option is not checked, any timers that are running at shutdown will resume running when BarClock next starts.


This check box controls whether BarClock will implement a smart fragmenting strategy of low memory to help eliminate Out of memory messages when trying to launch applications.  This is checked by default.


This check box controls whether BarClock includes advanced menu options in the menus it displays.  Since improper use of the advanced commands may cause the system to crash, we have disabled this option by default.


NOTE:  If you do not have a sound driver, BarClock will not be able to play .WAV files and will beep instead.  Microsoft has a sound driver available that let's you play .WAV files using the internal speaker - the quality is not great but it works!  The driver can be found in a self-extracting archive called "speak.exe" (sometimes speakr.exe or speaker.exe) and it is available from a number of sources including ours at ftp.std.com /vendors/AtomicDog/speak.exe and the WINSHARE forum on CompuServe.  If you can't find it, drop us a line and we'll point you in the right direction.


NOTE:  If you wish more flexibility with the date and time, hold down the SHIFT key before clicking Edit... (or double-clicking on the date or time in the list).  This will bring up a dialog that allows you to edit the keywords that are used to define the date and time format.  In this dialog, you can also add additional text or identifiers that you may desire.


Company Info

We are always interested in hearing from our users.  If you have any problems with this program or ideas for features that should be added, changed or removed, all of our contact information can be found below - pick your favorite!

Atomic Dog BBS

BBS:	(617) 279-3561

E-Mail Addresses

Internet:	pbreen@world.std.com

CompuServe: 	70312,743

America Online:	PBreen

Postal Address

Atomic Dog Software Corp.

PO Box 523

Medford, MA 02155

Telephone Numbers

Phone:	(800) 721-ADOG

(617) 396-2673

Fax:	(617) 396-5761

For technical support, recorded information or Fax-Back service, please call (617) 396-2673 (automated service is available 24 hours a day, 7 days a week) or send a fax to (617) 396-5761.  If no one is able to answer your call, please leave a message that includes both a day and evening number where you can be reached for fastest service.

Automated Mailing List

We have established an automated mailing list that we use to keep people informed of new products and new versions of existing products.  To join this mailing list, send an e-mail message to majordomo@world.std.com which contains the message subscribe atomicdog.

Web and FTP Sites

Visit our Web site:	http://world.std.com/~pbreen

or stop by our ftp site:	ftp.std.com /vendors/AtomicDog


Contents
BarClock v4.1 Contents

Whats new in v4.1?

License Agreement

Overview

Description

Installation

Basic Operation

Advanced Topics

Company Info

Registration

Registration Information

Upgrade Information

Registration Form

Registration Form - Holland & Belgium

Additional Topics

Examples

Common Questions

Reviews and Comments

Revision History

Other Versions

BarClock NT

BarClock 95


BarClock NT

BarClock is also available for NT!  The same set of features found in the Windows version are available in the NT version.  In addition, there are additional keywords specific to the NT environment.  You can find the latest versions at our ftp or World Wide Web site or you can call or write for more information.

Web and FTP Sites

Our Web site is at:	http://world.std.com/~pbreen

Our ftp site is at:	ftp.std.com /vendors/AtomicDog


BarClock 95

BarClock will be available for Windows 95!  The same set of features found in the Windows version will be found in the Win 95 version.  In addition, there will be changes and features added specifically for the Win 95 operating system!  This version will at our ftp and World Wide Web sites as soon as its available!

Web and FTP Sites

Our Web site is at:	http://world.std.com/~pbreen

Our ftp site is at:	ftp.std.com /vendors/AtomicDog


Installation

System Requirements

BarClock is completely self-contained and requires Windows 3.1.  BarClock uses very little memory (about 30 k) and uses almost no system resources.

If you are using Windows 3.0, use v1.32 of BarClock.

If you are using Windows NT, use the NT version of BarClock.

Installation from .ZIP file

1.	Create a new directory (such as C:\BARCLOCK).

2.	Unzip the BARCLK41.ZIP archive into this new directory.

3.	Create a new program manager item for BarClock - the command line for this icon should read C:\BARCLOCK\BARCLOCK.EXE.  We suggest adding this icon to your StartUp group.  This will cause BarClock to start every time you start Windows.

4.	Double-click the icon to start BarClock.

Automatic Launch

If you chose not to create an icon in your StartUp group and you want BarClock to start automatically when Windows is started, you can modify the "load=" line in your WIN.INI file (found in your \WINDOWS directory) so that it reads "load=barclock.exe".  (NOTE:  Always make a backup copy of WIN.INI before changing it.)

Checking Installation

If BarClock is installed properly, you will see the BarClock About... dialog displaying the current version number and important copyright information.  Click OK to continue and the time and date will appear in the title bar of the active application. This introductory dialog can be recalled later by choosing About... from the BarClock menu.

Upgrading a prior version of BarClock

If you are upgrading an older version of BarClock, you will first need to exit the older version of BarClock.  The new version of BarClock can be safely installed into the same directory as the prior version and will retain all existing settings, alarms and timers.

Removing BarClock

Since BarClock does not make any modifications to any of your system files, if you decide to remove BarClock you simply need to delete a few files and icons.

1.	Delete all files in your BarClock directory

2.	Delete the following files from your Windows directory

BARCLOCK.INI	configuration file

BARCLOCK.DAT	Alarm/warning/timer data

BARCLOCK.TXT	Default log file

3.	Remove any program icons/groups for BarClock

4.	If you modified your WIN.INI file to load or run BarClock, remember to remove BarClock from the line that was modified


Advanced Topics

The following topics provide information for complete customization of BarClock. The information provided in the following topics allows you to change the default menu structure, communicate with BarClock from external applications, or create your own buttons or keywords that can plug into BarClock.

Format Keywords

.INI file documentation

Menu Customization

DDE Commands

BarClock Extensions

BarClock SDK


Keywords

This section lists all keywords that BarClock recognizes in format strings.  On display, BarClock will replace each occurrence of a keyword with its appropriate value.  For example, the format string [mmm] [d], [yyyy] would display as Jan 12, 1994 on the 12th of January of 1994.  New keywords can be added to BarClock by creating extension .DLLs.

In addition to expanding each keyword, BarClock will also convert \t to a TAB character and \n to a NEWLINE character when they appear in format strings.

Time & Date

[m]	- Month (1-12)

[mm]	- Month (01-12)

[mmm]	- Month (Jan - Dec)

[MMM]	- Month (JAN - DEC)

[mmmm]	- Month (January - December)

[MMMM]	- Month (JANUARY - DECEMBER)

[d]	- Day (1-31)

[dd]	- Day (01-31)

[ddd]	- Day (Mon - Sun)

[DDD]	- Day (MON - SUN)

[dddd] 	- Day (Monday -Sunday)

[DDDD] 	- Day (MONDAY -SUNDAY)

[yy]	- Year (00-99)

[yyyy] 	- Year (1900-2040)

[HH]	- Hour (00 - 24)

[H]	- Hour (0 - 24)

[hh]	- Hour (1 - 12)

[mm]	- Minutes (0 - 59) (following either [HH], [H] or [hh], otherwise, month)

[ss]	- Seconds (0 -59)

[AM]	- AM/PM indicator

[day]	- Day of year (1 - 366)

[rem]	- Days remaining (365 - 0)

[wk]	- Week of year (1 - 53)

[jul]	- Julian date

[mjul]	- Modified Julian date (yyddd)

Memory & Resources

 [fdisk]	- Free disk space

[udisk]	- Used disk space

[tdisk]	- Total disk space

[drive]	- Drive letter indicator

[fmem]	- Free memory (includes virtual memory)

[lomem]	- Free low/DOS memory

[rpsp]	- Number of PSP blocks BarClock has

[psp]	- Total available PSP blocks

[gfree]	- Free global handles

[gcnt]	- Global handle count

[glru]	- Global handle LRU count

[spct]	- Free system resources (percent)

[gpct]	- Free GDI resources (percent)

[upct]	- Free User resources (percent)

[bpct]	- Remaining battery life (percent)

Timers & Alarms

[name]	- Timer/Alarm name

[msg]	- Alarm/Timer/Warning message

[timer]	- Current timer value

[rate]	- Current dollar amount

[ctimer]	- Cumulative timer value

[crate]	- Cumulative dollar amount


.INI File Documentation

This section describes the contents of the BARCLOCK.INI file which is most often found in your \WINDOWS directory.  This file can optionally be placed in the same directory as the BARCLOCK.EXE.

If you do wish to edit the BARCLOCK.INI file directly, its best to exit BarClock before making the changes and then restart BarClock once the .INI file has been updated.  If you wish to restore a particular setting to its default value, you can simply remove the appropriate line from the .INI file and the default will be restored.

Sections

The .INI file is split into several sections - each section begins with the section name enclosed in square [] brackets.  For more information on a particular section, click on the section name below.

[BarClock]

[Left], [Right], [Toggle]

[FormatStrings]

[Logging]

[Chimes]

[Hooks]

[ClockX], [TaskX]


.INI File - [BarClock]

[BarClock]

This section contains the general settings for BarClock.  Unless specified otherwise, the values are yes/no settings where 1 represents yes and 0 represents no.

ClockID	Indicates version of BarClock running
FilePath	Location to create and find BarClock support files
Language	Name of language .DLL to load (if any)
ShowWindow	Display BarClock window if no application is found
Overlap	Allow display to overlap title text
MenuDoubleClick	Left menu accessed by double-click
ChimeOnce	1 = chime exactly once each hour, 0 = chime for number of hour
Chimes	Bit flag of which chimes are armed
NoChime	Suppress chime if screen saver is active
AM	Text string for AM indication
PM	Text string for PM indication
UseKB	0 = auto-scale, 1 = Kb display, 2 = Byte display
Use3D	Use 3d look for dialogs (uses a bit more memory)
MsgScroll	1 = scroll messages, 0 = use message box
ScrollSpeed	scroll speed, higher numbers scroll faster
TrackActiveWindow	1 for normal behavior, 0 to fix display in BarClock window
StickyToggle	0 to return to default display after toggle, 1 to remain toggled
ShowIcon	Show BarClock icon on desktop
ShowTitle	Show title in BarClock window
LeftOffset	Number of pixels to leave before BarClock display on left
RightOffset	Number of pixels to leave before BarClock display on right
FontSize	Font size
Italic	Use italic font
FontWeight	Font weight, 400 = normal, 800 = bold
FontName	Name of font to use
TextColorR	Text color (red value, 0 - 255)
TextColorG	Text color (green value, 0 - 255)
TextColorB	Text color (blue value, 0 - 255)
BackColorR	Background color (red value, 0 - 255)
BackColorG	Background color (green value, 0 - 255)
BackColorB	Background color (blue value, 0 - 255)
SysTextColor	Use system color for text
SysBackColor	Use system color for background
GrayBack	Use 3d pedestal for background
CalendarStart	Start year of calendar display
CalendarRange	Range of years displayed in calendar
WeekStart	Starting day of week in calendar (0 = Sunday)
TimeOut	Number of minutes scrolling message is repeated
TaskList	Display active tasks in title bar
TaskPos	Position of task list, 0 = left, 1 = right
BtnBmpX	X - size of title bar bitmaps
BtnBmpY	Y - size of title bar bitmaps
BtnTips	Display button tips
TipDelay	Delay before tip display (in seconds)
DdeServer	BarClock is a DDE server
ManagePSP	Manage low memory areas
Level	Advanced commands appear in menu (unload DLL/global compact)
ClockX	Enable class filter for BarClock Window selection
QuickHide	Quick hide button is enabled
HKCalendar	Hot key for calendar (0 = off, 67 = SHIFT-CTL-C)
HKTimer	Hot key for calendar (0 = off, 84 = SHIFT-CTL-T)
HKAlarm	Hot key for calendar (0 = off, 65 = SHIFT-CTL-A)
LogAll	Log BarClock startup/shutdown
StopTimers	Stop timers when Windows exits
TimerPos	Default timer position (0 = left, 1 = right)
AutoChron	AutoChron enabled for WinCIM and AOL
LastWave	Last wave file used
LastMessage	Last message used
LastMachine	Last machine used in network exchange (PLUS)
WindowLeft	Starting window position
WindowTop	Starting window position
WindowSize	Starting window width


.INI File - [Left], [Right] and [Toggle]

These sections list the items, in order, that appear on either the left or right of the display or the items that are in the toggle list.  Within each section, the items are enumerated like so:

Left2=1,LeftFmt0,0

The first number indicates the type of the object.  The mapping of values to types is as follows

1	Time

2	Date

3	Memory

4	Resource

5	Disk space

6	Battery life

7	Timer/stopwatch

8	Application button

9	External button

14	Other

If the item is not a button, the type is followed by the name of the format string that should be used for display.  This name corresponds to an entry in the [FormatStrings] section of the .INI file.  The value following the format name is unused for all items except disk space display in which case it specifies the drive that should be displayed.

Application Buttons

If the item is an application button, the type is followed by the command line to execute (including program arguments).  The command line is followed by a mIcon identifier (0 for none).  If specified, the icon with the corresponding id in the [mIcons] section is used for display.  And the last item, if specified, is the custom tip text to display when the cursor is over the button.

External Buttons

If the item is an external button, the type is followed by a value which is the signature of the extension .DLL the button came from.  Each extension .DLL has a unique signature.  The value following the signature is a local id used by the extension .DLL.

Example

Left0=8,C:\WINDOWS\NOTEPAD.EXE,2,Notepad

In this example, the entry is an application button that appears on the left of the display.  The icon used for display is specified by the mIcon2 entry in the [mIcons] section.  When clicked, Notepad is launched.  And, the text displayed when the cursor remains over the button is Notepad.


.INI File - [FormatStrings]

This section contains the list of format strings for the chosen display items.  Keywords with the strings are enclosed in brackets.  See the Format Keyword section for a listing of all available format keywords.


.INI File - [Logging]

This section contains information that controls the format of log entries and the files that are used to log information.  The format strings can be modified in the product by choosing the Logging... menu item from the Setup sub-menu.

AlmLog	Format string used for alarm log entries

WrnLog	Format string used for warning log entries

TmrLog	Format string used for timer log entries

EvtLog	Format string used for event log entries

Log Files

The default log file is BARCLOCK.TXT which will be created in your \WINDOWS directory (or in the directory specified by the FilePath entry in the [BarClock] section).  By default, all logged entries, regardless of type are stored in the same log file.  If you wish to change the default log file or use a different log file for each class of log entry, the following keywords can be added to the [Logging] section.

LogFile	Specify default log file (e.g.  C:\BARCLOCK\BARCLOCK.TXT)

AlmFile	Specify log file for alarms

WrnFile	Specify log file for warnings

TmrFile	Specify log file for timers


.INI File - [Chimes]

This section records the chimes that should play on the hour or at 15 minute intervals during the hour.  Each entry can contain the name of a valid .WAV file or be set to none to indicate that no chime should be played.

Chime00	Chime to play on the hour

Chime15	Chime to play 15 minutes past the hour

Chime30	Chime to play 30 minutes past the hour

Chime45	Chime to play 45 minutes past the hour

If no sound card or appropriate driver software is present or an invalid .WAV file is specified, BarClock will beep at the specified interval.


.INI File - [Hooks]

This section lists the extensions that BarClock is aware of.  The listing must be enumerated in sequence starting with File0.  If a specified .DLL cannot be found, BarClock will display a message on startup.  To add or remove a BarClock extension, simply add a new line to this section and update the number sequence appropriately.

The default setting for this section contains the names of the extensions that come with BarClock.  This setting is:

[Hooks]

File0=runprog.dll

File1=qexit.dll

File2=cdplay.dll


.INI File - [ClockX], [TaskX]

There may come an occasion when you dont want a certain task to appear in the task listing or you dont want BarClock to appear in a certain window.  The following steps describe how to

Exclude BarClock from a window:

1) Set ClockX to 1 in the BARCLOCK.INI file

2) Restart BarClock

3) Display Quick Hide icon in Settings|General... dialog

4) Activate window you wish to exclude BarClock from

5) SHIFT-Click on Quick hide icon

Each window class that BarClock will not appear in is listed in the [ClockX] section of the BARCLOCK.INI file.  If you later change your mind, you can simply remove the line from the .INI file (or set ClockX to 0) and BarClock will once again appear in all windows.

Exclude task from task list:

1) Set TaskX to 1 in the BARCLOCK.INI file

2) Restart BarClock

3) SHIFT-Click on the task to exclude

Each window class that BarClock will not display in the task list is listed in the [TaskX] section of the BARCLOCK.INI file.  If you later change your mind, you can simply remove the line from the .INI file (or set TaskX to 0) and the tasks will once again appear in the task list.


Menu Customization

There are three different menu configurations in BarClock.  A left click on the BarClock display displays the configuration menu.  A right click on the display brings up the quick access menu.  A right click on a timer brings up the quick access menu with some additions specific for timer use.

Each of the three menus can be totally customized by adding its definition to the BARCLOCK.INI file.  This is done by creating a new section in the .INI file that corresponds to the menu you wish to define.  The [LMenu] section is used to define the left-click menu, the [RMenu] section is used to define the standard right click menu and the [TMRMenu] section is used to define the right click timer menu.

Within each section, list the menu items that you wish to appear in the order that you desire.  In addition text for the menu item, each line needs a numeric command ID from the command table.  Sub-menus are indicated by a name followed by a command ID of -1  The sub-menu definition appears in its own section in the .INI file - the section name is the item name with Menu appended to the end.  Separators are indicated by an item name that begins with -.

Lists of items (alarms, timers, etc.) are indicated by enclosing the item to be listed in brackets.  A separator is automatically added if the list contains any items.

Example Menu

Command Table


Custom Menu Example

Here is how the default left-click menu would appear in the .INI file.

[LMenu]

Item0=Calendar...,2

Item1=Alarms,-1

Item2=Timers,-1

Item3=Warnings,-1

Item4=Setup,-1

Item5=-

Item6=About...,1

Item7=-

Item8=Exit,0

[AlarmsMenu]

Item0=Todays...,21

Item1=Add...,20

Item2=Show Log...,22

Item3=[Alarms]

[TimersMenu]

Item0=Add...,30

Item1=Show Log...,35

Item2=[Timers]

[WarningsMenu]

Item0=Add...,40

Item1=Show Log...,41

Item2=[Warnings]

[SetupMenu]

Item0=Display...,5

Item1=General...,6

Item2=Logging...,7

Item3=Chimes...,8

Item4=Colors...,9

Item5=Font...,10


Command Table

Here is a listing of all the commands supported by BarClock and the command ID that is associated with each.  This table can be used to construct custom menus for BarClock.

Command	Command ID

Exit BarClock	0

About	1

Calendar	2

Global Compact	3

Unload DLL	4

Display setup	5

General setup	6

Logging setup	7

Chimes setup	8

Colors setup	9

Font setup	10

Alarms

Add alarm	20

Todays alarms	21

Show alarm log	22

Timers

Add timer	30

Start/stop current timer	31

Reset current timer	32

Log current timer	33

Configure current timer	34

Show timer log	35

Warnings

Add warning	40

Show warning log	41

Other

Exit windows	50

Restart windows	51

Reboot system	52

Net message (PLUS)	60


DDE Commands

BarClock makes most of its functionality available by using DDE (and NetDDE).  This section lists the commands that BarClock understands.  All of the functions listed here are declared in the file BCDDELIB.H and defined in the file BCDDELIB.C which are part of the BCSDK.ZIP package.  All functions return BCDDE_NOERROR on success.

Refer to the sample code included in BCSDK.ZIP for an example which makes use of DDE and the BCDDELIB to communicate with BarClock.

Initialization

// Init - the init function must be called before

// any of the following functions can be used.  If

// the callback function is NULL, the value of

// afCmd (init flags) is ignored.  The library should

// be freed when usage is complete

short BCDdeLibInit(FARPROC lpfnCallback, DWORD afCmd);

void BCDdeLibFree(void);

General

// Display message

//	t = 0 for message box

//	t = 1 for scrolling message

short BCDdeMessage(char FAR *pMessage, short t);

// Display calendar and with specified year and

// month display.  Specified day is selected.

short BCDdeCalendar(short y, short m, short d);

// Run application

short BCDdeRunApp(char FAR *pCmdLine);

// Play .WAV file

short BCDdePlayWave(char FAR *pFileName);

Timers

// Add new timer with specified attributes

short BCDdeTimerAdd(char FAR *pName,

short tmrType,

short dollar,

short cent,

short tmrInc,

DWORD tmrLimit);

// Modify attributes of named timer

short BCDdeTimerInfo(char FAR *pName,

 char FAR *pMsg,

 char FAR *pWave,

 char FAR *pApp);

// Start/stop timer with specified name

short BCDdeTimerStart(char FAR *pName);

short BCDdeTimerStop(char FAR *pName);

// Delete named timer

short BCDdeTimerDelete(char FAR *pName);

Alarms

// Add new alarm with specified attributes

short BCDdeAlarmAdd(char FAR *pName,

short year, short month, short day,

short hour, short min,

short repeatType);

// Modify attributes of named alarm

short BCDdeAlarmInfo(char FAR *pName,

 char FAR *pMsg,

 char FAR *pWave,

 char FAR *pApp);

// Delete named alarm

short BCDdeAlarmDelete(char FAR *pName);

Extensions

// Install a new extension

short BCDdeInstallHook(char FAR *pDllName);

// Add/delete external buttons

short BCDdeButtonAdd(unsigned long hookSig, BYTE btnId, Position pos);

short BCDdeButtonDelete(unsigned long hookSig, BYTE btnId);


BarClock Extensions

Its very easy to create new .DLLs that can add to BarClocks functionality.  Each .DLL can add new buttons and/or several new keywords.  This section provides a brief overview of the sample extensions provided in the BCSDK.ZIP.

First, each .DLL needs to have a unique 4-byte signature.  The signature is used to keep track of which .DLL services which buttons or keywords.  We suggest that you contact us if you have a desire to redistribute your .DLL to prevent duplication of signatures.

Next, each .DLL needs to implement a one or more functions that are used by BarClock to communicate with the .DLL.  Each function and its description can be found below and also in the file BCHOOK.H which is part of BCSDK.ZIP.  If you are implementing a button, you need to add a bitmap or icon to your .DLL.  The resource id should be 100 greater than the button index - for example, the resource id of the first button is 100.

Once your .DLL is complete, you need to make BarClock aware that it exists.  This is done by adding a new line to the [Hooks] section of the BARCLOCK.INI file.

Required Function

// DWORD BCHookVersion(DWORD FAR *pSignature);

//

//	Return the hook version constant.  This is used

// 	to check for compatibility if the hook DLL format

//	is ever modified.  The return value should always

//	be HOOKVERSION.  The signature should be set to

//	a unique signature value.  T We suggest that you

//	contact us if you have a desire to redistribute your .DLL

//	to prevent duplication of signatures.

DWORD FAR _export BCHookVersion(DWORD FAR *pSignature);

Keyword Functions

// BYTE IsKeyword(LPSTR, short FAR *);

//

// 	This routine is called to convert text within

// 	[ ] into keyword ids.  When the format string

// 	is parsed, each keyword will passed through

// 	this routine.  If the text represents a keyword

//	that this DLL supports, return a non-zero

//	identifier and set pLen to the length of the

//	keyword text.

BYTE FAR _export IsKeyword(LPSTR pTxt, short FAR *pLen);

// short ExpandKeyword(BYTE id, LPSTR pOutBuf);

//

// 	This routine is called when a string containing

//	a keyword identified by the above routine is

//	displayed.  The id returned by IsKeyword()

//	is passed in to this routine.  The output buffer

//	should be modified to contain the value that the

//	keyword represents and the number of bytes added

//	to the output buffer should be returned.

short FAR _export ExpandKeyword(BYTE id, LPSTR pOutbuf);

// short KeywordText(BYTE id, LPSTR pOutBuf);

//

// 	This routine is called to convert a keyword id

//	into it's textual representation.  The id returned

//	by IsKeyword() is passed in to this routine.

//	The output buffer should be modified to contain the

//	value that the keyword represents and the number of

//	bytes added to the output buffer should be returned.

short FAR _export KeywordText(BYTE id, LPSTR pOutbuf);

Button Functions

// BYTE BCBtnCount(void);

//

// 	Return the number of buttons supported by this DLL.

//	Each DLL can support up to 256 unique buttons (0 - 255).

//	The resource should contain a bitmap or icon for each

//	button.  The identifier for the resource should be the

//	button id (0 - 255) plus 100.  If a resource is not found

//	with the appropriate identifier, resource id 100 is used.

BYTE FAR _export BCBtnCount(void);

// void BCBtnLabel(short btnId, LPSTR pLabelBuf);

//

// 	This routine is called to get the text to

//	display in the tip text window (when the cursor

//	is over the button) and in the BarClock setup

//	dialog listing the available item types

void FAR _export BCBtnLabel(BYTE btnId, LPSTR pLabelBuf);

// void BCBtnMenu(short btnId, BOOL bLeftClick);

//

// 	This routine is called when the user clicks on

//	the button in the title bar.  This routine should

//	return a menu to drop in response to the click or

//	return 0 indicating that no menu should appear.

// 	If 0 is returned the BCBtnClick function is called.

HMENU FAR _export BCBtnMenu(BYTE btnId, BOOL bLeftClick);

// void BCBtnClick(short btnId, BOOL bLeftClick);

//

// 	This routine is called when the user clicks on a

//	button that has been added to the title bar.

void FAR _export BCBtnClick(BYTE btnId, BOOL bLeftClick);

// void BCBtnMenuSelect(short btnId, short itemId);

//

// 	This routine is called when the user selects a menu

//	item from a button that has been added to the title bar.

void FAR _export BCBtnMenuSelect(BYTE btnId, short itemId);


BarClock SDK

Included with BarClock is the file BCSDK.ZIP.  This file contains example files that will help you create your own extension .DLLs or easily communicate with BarClock using DDE commands.  We recommend unzipping the BCSDK.ZIP file into its own directory.

Here is a description of each of the files included with the SDK:

Extension Samples

BCHOOK.H	Used to create BarClock extensions

SAMPLE.C	Sample extension that with keywords and buttons

SAMPLE.RC	Resources for sample

SAMPLE.DEF	.DEF file for sample

RUNPROG.C	Sample extension that runs a program

RUNPROG.RC	Resources for sample

RUNPROG.DEF	.DEF file for sample

QEXIT.C	Sample extension that exits Windows

QEXIT.RC	Resources for sample

QEXIT.DEF	.DEF file for sample

CDPLAY.C	Sample extension - audio CD interface

CDPLAY.RC	Resources for sample

CDPLAY.DEF	.DEF file for sample

DDE Samples

BCCOMMON.H	Common enumerations for BarClock

BCDDESTR.H	DDE commands supported by BarClock

BCDDELIB.H	Simplified DDE interface for BarClock

BCDDELIB.C 	Simplified DDE interface for BarClock

TESTDDE.C	Sample DDE communication

TESTDDE.RC	Resources for sample

TESTDDE.DEF	.DEF file for sample


License Agreement

Definition of Shareware

Shareware distribution gives users a chance to try software before buying it. If you try a Shareware program and continue using it, you are expected to register. Individual programs differ on details -- some request registration while others require it, some specify a maximum trial period. With registration, you get anything from the simple right to continue using the software to an updated program with printed manual.

Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights, with a few specific exceptions as stated below. Shareware authors are accomplished programmers, just like commercial authors, and the programs are of comparable quality. (In both cases, there are good programs and bad ones!) The main difference is in the method of distribution. The author specifically grants the right to copy and distribute the software, either to all and sundry or to a specific group. For example, some authors require written permission before a commercial disk vendor may copy their Shareware.

Shareware is a distribution method, not a type of software. You should find software that suits your needs and pocketbook, whether it's commercial or Shareware. The Shareware system makes fitting your needs easier, because you can try before you buy. And because the overhead is low, prices are low also. Shareware has the ultimate money-back guarantee -- if you don't use the product, you don't pay for it.

Association of Shareware Professionals (ASP)

Atomic Dog Software is a member of the Association of Shareware Professionals (ASP).  ASP wants to make sure that the shareware principle works for you. If you are unable to resolve a shareware-related problem with an ASP member by contacting the member directly, ASP may be able to help. The ASP Ombudsman can help you resolve a dispute or problem with an ASP member, but does not provide technical support for members' products.  Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI 49442-9427 USA, FAX 616-788-2765 or send a CompuServe message via CompuServe Mail to ASP Ombudsman 70007,3536.

Disclaimer - Agreement

Users of BarClock must accept this disclaimer of warranty:

BARCLOCK IS SUPPLIED AS IS.  THE AUTHOR DISCLAIMS ALL WARRANTIES, EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, THE WARRANTIES OF MERCHANTABILITY AND OF FITNESS FOR ANY PURPOSE.  THE AUTHOR ASSUMES NO LIABILITY FOR DAMAGES, DIRECT OR CONSEQUENTIAL, WHICH MAY RESULT FROM THE USE OF BARCLOCK.

BarClock is a "shareware program" and is provided at no charge to the user for evaluation.  Feel free to share it with your friends, but please do not give it away altered or as part of another system.  The essence of "user-supported" software is to provide personal computer users with quality software without high prices, and yet to provide incentive for programmers to continue to develop new products.  If you find this program useful and find that you are using BarClock and continue to use BarClock after 45 days, you must make a registration payment of $15 to Atomic Dog Software Corporation.  The $15 registration fee will license one copy for use on any one computer at any one time.  You must treat this software just like a book.  An example is that this software may be used by any number of people and may be freely moved from one computer location to another, so long as there is no possibility of it being used at one location while it's being used at another.  Just as a book cannot be read by two different persons at the same time.

Commercial users of BarClock must register and pay for their copies of BarClock within 45 days of first use or their license is withdrawn.  Site-License arrangements may be made by contacting Atomic Dog Software Corporation.

Anyone distributing BarClock for any kind of remuneration must first contact Atomic Dog Software Corporation at the address below for authorization.  This authorization will be automatically granted to distributors recognized by the (ASP) as adhering to its guidelines for shareware distributors, and such distributors may begin offering BarClock immediately (However Atomic Dog Software Corporation must still be advised so that the distributor can be kept up-to-date with the latest version of BarClock.).

You are encouraged to pass a copy of BarClock along to your friends for evaluation.  Please encourage them to register their copy if they find that they can use it.


Registration Information

Upgrades

If you have previously registered BarClock, please refer to our upgrade policy.

Instructions

Registration is most easily completed using the built in registration facility.  Choose About... from the BarClock menu and then click on the Register... button.  The program will capture your order and either print the order form or allow you to save it as a .TXT file.  Discount pricing is built into the ordering program - as you increase the order quantity, the per unit price is adjusted to reflect the discounts we offer.

BarClock or BarClock PLUS?

When you register, you can choose to register BarClock or BarClock PLUS.

BarClock	US $15

Personal unlock code

Free 3 month extended account on Atomic Dog BBS

BarClock PLUS	US $20 (plus $3 for S & H)

3 1/2 inch program disk with latest registered version of BarClock PLUS

Network features (send messages and alarms across the network!)

Additional BarClock extension .DLLs

A number of .WAV files appropriate for BarClock

Free 6 extended month account on Atomic Dog BBS

Included with Both

Toll free technical support

Discounted or free upgrades to future versions

Notification of future updates

Payment Options

By BBS	You may register or upgrade to BarClock or BarClock PLUS by calling the Atomic Dog BBS at (617) 279-3561.  Payment by MasterCard and VISA is accepted and allows for immediate download of the PLUS version or delivery of your personal unlock code within 24hrs!

Check/MO	Check or money order should be made payable to Atomic Dog Software and it must be drawn on a US or Canadian bank for payment in US dollars.  All other checks will be returned.  Please fill out the registration form and send it in along with your check or money order.

Credit Card	Registration payment may be made using MasterCard, Visa, Diner's Club or Carte Blanche.  Fill out the registration form and either mail or fax it to the address/number shown on the form.  Please remember to include the expiration date and your signature.

Purchase Order	Corporate purchases may be made using a company purchase order.  The terms are Net 30 days.  Atomic Dog Software's tax ID number is 04-3216488.

CompuServe	To register using CompuServe, type GO SWREG at any ! prompt.  Follow the instructions that are provided on-line.  Multi-user discounts and upgrades are not available using SWREG.

BarClock PLUS v4.1	Registration ID 4283

BarClock v4.1	Registration ID 1324

Holland and Belgium

Users in Holland and Belgium, please print and fill out BESTEL.TXT or the registration form.  Please send completed form with payment to:

CopyCats Software & Services

Postbus 1088

1700 BB Heerhugowaard

Nederland

Tel./Fax 02207-45993  (na 10-10-95: 072-5745993)

Japan

In Japan, BarClock can be registered for 2.800 Yen by sending a check or money order for the Yen price to:

P & A Shareware Distribution

302 Bellwins, 1367-23

Nakagami, Akishima

Tokyo, 196 Japan

(Note:  the Yen price is liable to change due to currency fluctuations.  Please contact

P & A Shareware at 0425-46-9141 to confirm the latest price.)


Upgrade Information

If you have previously registered BarClock, our upgrade policy is outlined below.

Purchased BarClock PLUS v3.x on/after January 1, 1995

If you purchased BarClock PLUS v3.x on or after January 1, 1995, the upgrade to v4.1 is free.  Please e-mail, call or write and provide us with your name and address so we can send you your personal unlock code.  If you wish to have the PLUS disk shipped to you, please send along a $3 shipping & handling fee.

Registered BarClock v2.x on/after January 1, 1995

If you registered BarClock v2.x on or after January 1, 1995, the upgrade to v4.1 is free.  Please e-mail, call or write and provide us with your name and address so we can send you your personal unlock code.  If you wish to upgrade to BarClock PLUS, the cost is US $5 plus $3 for shipping & handling.

All Other Registered Users

We are offering the upgrade to v4.1 for US $5.  If you wish to have the PLUS disk shipped to you, there is an additional $3 shipping & handling fee.  The built in order form (click the Register... button in the About... dialog) offers both of these options for your convenience.

Site License Holders

If you purchased a site license for 10 or more users on or after January 1, 1994, the upgrade to v4.1 is free (including PLUS disk).  Please call or write to have your update disk sent.


Registration Form

Atomic Dog Software

PO Box 523

Medford, MA 02155

Phone:  (617) 396-2673	Fax:  (617) 396-5761	BBS: (617) 279-3561

CompuServe:  70312,743	Internet:  pbreen@world.std.com	AOL:  PBreen

BarClock v4.1 Registration Form

Instructions:  Fill out this form and mail it to Atomic Dog Software at the address above with payment to complete your registration.  You may also register by calling the Atomic Dog BBS at (617) 279-3561!  If you are paying by credit card, you may fax your registration for faster service.

(    )  Send me _____ copies of BarClock PLUS for $20 plus $3 shipping per copy - OR -

(    )  Please register _____ copies of BarClock at $15 per copy (does not include disk) -

OR - if you have already registered -

(    )  Please upgrade _____ copies of BarClock to BarClock PLUS for $5 plus $3 shipping per copy.

MA Residents add 5% sales tax	  =  __________

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

Total	  =  __________

Method of Payment:	Credit Card Information:  (PLEASE PRINT)

  (    ) Check/M.O.   	Card Number:	______________________________ Exp. Date _______

  (    ) MasterCard    	Name on Card:	______________________________

  (    ) Visa	Signature:	______________________________

Name:	________________________________ Date:__________________

Company:	_______________________________________________________

Address:	_______________________________________________________

City, State, Zip:	_______________________________________________________

Country:	_______________________________________________________

Day Phone:	_______________________  Eve:  ___________________________

Electronic Mail address:	_______________________________________________________

How did you hear about BarClock v4.1?  ____________________________________________

Comments:


Registration Form - Holland & Belgium

BarClock en BarClock Plus bestelformulier voor Nederland en België

Nederlandse en Belgische gebruikers kunnen hiermee de geregistreerde versie bestellen. Druk het formulier af, vul het in, en stuur het gelijktijdig of tezamen met uw betaling naar:

CopyCats Software & Services

Postbus 1088

1700 BB Heerhugowaard

Nederland

Tel./Fax 02207-45993  (na 10-10-95: 072-5745993)

JA, ik kan niet meer zonder BarClock! Stuur mij:

Aantal:  Produkt:                    Prijs:                   Totaal:

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

....     BarClock (registratiecode)  Dfl 37,50 / 710 BEF      .......

....     BarClock Plus               Dfl 49,95 / 945 BEF      .......

                                                            + -------

                                                    Totaal:

                                                              =======

(prijzen inclusief 17,5% BTW en verzendkosten)

Naam    : ..............................................

Bedrijf : ..............................................

Adres   : ..............................................

Postcode: ......... Woonplaats: ........................

Land    : .....................

Telefoon: ..................... fax: ...................

BTW-nummer (bedrijven België): BE.......................

(bij vermelding 17,5% op totaalbedrag in mindering brengen)

Betaalwijze:

[  ] Bijgesloten cheque of betaalkaart                 Datum, Handtekening:

[  ] NL: Overmaking naar Postbank 43.28.577

[  ] B: Overmaking naar Postrekening 000-1656064-80    ....................

[  ] Op rekening (Overheid/Bedrijven, met off. aankoopopdracht)

BarClock of BarClock Plus?

Bij registratie van BarClock ontvangt u een persoonlijke registratiecode waarmee u het programma in de geregistreerde versie verandert. Kiest u voor BarClock Plus, dan ontvangt u een disk met de laatste geregistreerde Plus-versie met netwerk-functies (berichten versturen over het netwerk), extra .DLLs met handige functies om aan het menu toe te voegen en extra .WAV sound-files. Voor beide versies geldt dat u recht krijgt op technische ondersteuning, goedkope of gratis upgrades naar toekomstige versies, en at u bericht ontvangt wanneer er een nieuwe versie verschijnt.


Examples

To help you get more out of BarClock, we have put together some simple examples that walk through the steps involved to customize BarClock to meet your needs.

Custom Date/Time Formats

Multiple Time Zones

Enhanced Crash Protection


Custom Time/Date Formats

Everybody has their own favorite format for displaying the time or date.  We have made some of the more common formats easily accessible in the drop down list that appears when you edit the date.  If the format you want is not in the list, follow these simple steps to create your own custom date format.

1.	Choose Display... from Setup section of the BarClock configuration menu

2.	Click once on the date whose format you wish to change

3.	Hold the SHIFT key down and click on the Edit... button

4.	The dialog that appears no longer has the drop down list of choices.  In its place is an edit field that allows you to construct your own date format using the format keywords.

5.	Modify or replace the format string as desired.  For example, if you want to display the date like 03.June.94, change the format string to [dd].[mmm].[yy].

6.	If you wish to modify how the time is displayed, you can do so by using the same sequence of steps.

See also:  List of Format Keywords


Multiple Time Zones

BarClock makes it easy to keep track of the time in more than one location.  To add a new time in a different time zone, follow these steps.

1.	Choose Display... from Setup section of the BarClock configuration menu

2.	Click once in the middle list of items labeled Toggle.

3.	Click the Add... button and make sure that Time is selected before clicking OK.

4.	Enter the name of the city in the edit field

5.	Enter the number of hours and minutes difference between your local time and the new city - the difference can be either positive or negative.

6.	Click OK

7.	Now, a click with the right mouse button will allow you to quickly view the time.

8.	Repeat this sequence to add additional cities.

See also:  Edit Time


Enhanced Crash Protection

The warnings offer protection against crashes by letting you know when the system is running low on the resources it needs.  To enhance your protection, you can cascade the warnings to provide an early warning of danger followed by a more serious warning should the resources continue to fall.  To do this, follow these steps.

1.	Choose Add... from the Warnings... section of BarClock configuration menu

2.	Add a system resource warning and set the warning level to 40%.

3.	Click OK to add the new warning.

4.	Choose Add... from the Warnings... section of BarClock configuration menu

5.	Add a system resource warning and set the warning level to 25%.

6.	Click OK to add the new warning.

Now, when either resource falls below 40%, youll get your first warning.  If that resource should then fall below 25%, a second warning will appear.  You can customize the messages for each warning to alert you to the severity of the warning that has occurred.

See also:  Warnings


Common Questions

What are User and GDI resources?

The free memory displays more memory than I have.

The free memory/disk space value is too low.

What is a PSP and why should I care?

How does the low memory manager work?

Is there more?


Reviews and Comments

Reviews from the press:

The $15 registration fee is a small price to pay for this gem.  PC World. 5/95, BarClock v2.3

 ... its amazing how much functionality has been packed into such a subtle little utility - perhaps the most versatile clock utility available for Windows.  Computer Shopper, 1/94, BarClock v2.3

After you use BarClock, it will be impossible for you to think of using a computer without it.  Business Law Today March/April 1994, BarClock v2.3

WHAT A GRRREEEAAAT IDEA!  Algorithmica Japonica, 2/94, BarClock v2.3

For my money, [no other clocks] match the unobtrusive functionality of BarClock.  PC World. 10/93, BarClock v1.32

This is a simple but truly elegant program.  Windows Sources 9/93, BarClock v1.32

Comments from users:

Best clock program Ive seen! TL, Scottsdale, AZ

Ive been looking for this for months.  Thank you!  HS, Rochester, NY

Simply one of the neatest utilities Ive ever found!  HL, Fayetteville, AR

Great idea!!  MS, Englewood, NJ

I love this program  PM, Browns Mills, NJ

I was so impressed with this product that (for the first time) I filled out the registration IMMEDIATELY!!!!!  Thank you.

Brilliant!  HM, United Kingdom

... your clock is the absolute best clock I have ever seen.  LL, Canada


The terms "User" and "GDI" are the names of heaps (or memory) that is used by the system.  These heaps are a fixed size of 64Kb and they shared by all applications.  When either value runs low, you should quit one or more applications to avoid the risk of a system crash.  The minimum of the two values is often referred to as "System Resources" and is the value that can be found in the Program Manager's About dialog.


This is because the value includes both physical (RAM based) memory and any virtual (disk based) memory that you have available.  This is proper behavior and the number you see matches the number displayed by the Program Managers About dialog.


This is most often caused by a trying to equate bytes with kilobytes or megabytes.  Keep in mind that a kilobyte is 1024 bytes and a megabyte is 1024 kilobytes.  So, if the DIR command in DOS states that you have 46,452,342 bytes free, BarClock will display the value as 44.3 megabytes.


A PSP (Program Segment Prefix) is created for every application started within Windows.  This data structure is used to communicate with DOS and it must be allocated from memory that is beneath the 1 Mb boundary (low memory).  Since each application needs a PSP and they must be allocated from low memory, it is possible to have lots of free memory available and not be able to start any more programs.  If you use networking software, such as Windows for Workgroups, the problem is real since low memory is not managed in the most effective manner possible.


When BarClock is told to manage low memory usage, it takes a number of steps to help insure that there will be enough low memory available to launch new applications.  Since each application requires a 512 byte PSP block, BarClock fragments a portion of the lower memory by allocating a number of 512 byte blocks and then releasing every other one.  This strategy effectively creates free 512 byte blocks that are between blocks that are in use.  Since most applications really dont need to allocate low memory, or, when they do, it is typically in sizes greater than 512 bytes, new applications can make use of the free 512 byte blocks that the fragmenting has created.  When new applications start or end, BarClock readjusts the fragmentation so that it is not holding to much in reserve.


Well, yes, actually there are a few options and settings in the BARCLOCK.INI file that can not be changed by any of the dialogs.  Typically, these are settings for very specific situations or environments that would add unnecessary confusion if they were added to one of the dialogs.  Check out the advanced topics for more information.


Revision History

Version 4.1

Version 3.0

Version 2.4

Version 2.3

Version 2.2

Version 2.1

Version 2.0

Version 1.32

Version 1.31

Version 1.3

Version 1.21

Version 1.2

Version 1.1

Version 1.0


Version 4.1
New for BarClock version 4.1 - April 18, 1995

WARNINGS

Low memory manager - helps reduce or eliminate the "Not enough memory to start application" error, especially when running Windows for Workgroups

New warnings for low/DOS memory, laptop computer battery life

Unlimited number of warnings can be added

Warnings can play .WAV files, display messages or launch applications

Warnings can be logged to a log file

ALARMS

Unlimited number of alarms now supported

Alarm warning allows pre-notification of events

Alarms can be independently logged to a log file

Each alarm can be configured to be displayed on startup if the alarm occurred while BarClock was not running

TIMERS

Timer resolution is configurable (to tenths of second)

Cumulative time saved from session to session

Timers can be independently logged to a log file

AutoChron now automatically tracks AOL connections

Hourly rate can be billed in different increments

APPLICATION ICONS

Custom .ICO file can be chosen

Customizable tip text describes icon function

CALENDAR

Right click on day shows all alarms for that day

Right click on dialog shows all alarms for displayed month

GENERAL

Quick hide button to quickly hide BarClock display

Menus reconfigured to minimize dialogs

Menus can be customized by editing BARCLOCK.INI file

Built in .DLL unloader (use with care!)

Custom log formats can be defined

Multiple log files supported

Many, many new keywords

INCLUDED ADD ONS

Quick Exit - easily end/restart Windows

Run Program - click to launch any application

CD Play - control CD audio device

3rd PARTY CUSTOMIZATION

Full DDE/NetDDE support

Extension .DLLs can add new keywords or buttons

Sample code included (BCSDK.ZIP)

NETWORK (PLUS only)

Net Message menu item allows message to be sent across network to another BarClock user

Alarms can be sent to other BarClock users on a network using the Net Send... button

Full NetDDE support (samples included in BCSDK.ZIP)

REGISTRATION

Central registration service

Built in order form generation

Unlock capabilities

NOTE:  This registration manager is available for licensing!

Bug fixes from v4.0 to v4.1

Font changes are now properly saved

Fixed problem when scrolling missed alarms on startup

Fixed problem related to low battery warnings

Fixed crash that occasionally happened during shutdown

Fixed problems related to logging of AutoChron timers

Fixed problem with saving timer information on exit/restart BarClock

Optimized low memory management algorithm

Known problems with v4.1:

There are problems with Smuggler, WinDock, NewCap and CapC10 that cause BarClock not to function properly if BarClock is started first.  The problem can be avoided by starting the other applications before BarClock or contacting the authors of the respective programs for updates which may fix the conflict.

Thanks -

Thanks to all the people who contributed ideas and bug reports - We will continue to listen and respond to all contributions - good or bad!


Version 3.0 - April 17, 1994

BarClock PLUS introduced features not available in the standard version of BarClock.  These features are listed below.

AutoChron  for WinCIM tracks extended forum charges

If you use WinCIM, youll love this feature.  BarClock PLUS is smart enough to recognize when you enter and leave extended services and automatically start and stop its timer.  This allows you to easily track your CompuServe charges and review them at the end of the month.

Integrated application launcher

Add your favorite applications to the title bar!  How many times have you had to switch back to Program Manager to launch a utility such as Calculator while working in another program?  This feature eliminates this problem by allowing you to add your favorite utilities to the title bar so they are always just a mouse click away!

Integrated task manager

Do you work with several applications at the same time?  If you do, youll love the integrated task manager.  This feature puts the icons of the running tasks in the title bar.  To switch to another running task, just click on its icon and that application is activated.  What could be easier!


Version 2.4 - April 17, 1994

Added support for multiple, named timers - each with its own rate information.  One or more timers can be running at the same time.  A right click on the timer display will show a listing of all of the timers and the current elapsed time on each.

Added logging of alarms and timers to user specified file.  Useful for tracking timer charges and reviewing what happened during the week or month.

Added hot keys for the Calendar (SHIFT-CTL-C), the Alarm list (SHIFT-CTL-A) and the Timer list (SHIFT-CTL-T).

Right mouse click displays all toggled items in a drop down menu - makes it easier to get around when the number of toggle items is large.

Added City edit field to Time Edit dialog.  This makes it easier to add labeled time zones from around the world.

Added minimize option for launching applications and running them as icons.

Alarm dialog is initialized with most recently used chime and message.

Added option to specify where BarClock files (BARCLOCK.ALM - alarms, BARCLOCK.TMR - timers and BARCLOCK.TXT - log entries) should be created.

If there is a BARCLOCK.INI file in the application directory, it is used instead of creating one in your \WINDOWS directory.

Added option to suppress chimes when standard screen savers are active.

If chimes are turned off, the .WAV file is remembered making it easy to turn them back on again.

Using international settings from control panel for default time and date display as well as for the alarm time and date display.  The control panel is also used for the currency symbol and display information.

Added option for adding 3D look to dialogs if the CTL3D.DLL file is installed in your SYSTEM directory.  This uses a bit more memory but it looks nice.

Calendar dialog stays in front of all other windows when it is displayed.

Added Play button to .WAV file dialog so you can sample the .WAV files before you set them.

Changed documentation to .HLP format and added Help buttons to all dialogs for easy access.


Version 2.3 - October 3, 1993

Fixed bug with weekly repeating alarms - they tended to change their trigger dates near the end of the month.

Repeating alarms can be set to start at any date in the future.  Once the date occurs, the alarm will start to repeat with the specified frequency.

If the computer is off, repeating alarms that repeat weekly, monthly or yearly will be displayed when BarClock is started.

Added Bi-weekly to the list of repeating alarm types.

Added Set... button to make it easier to choose an application to run when an alarm is triggered.

Added format keywords for Julian date, day of year (1 - 366), days remaining (365 - 0) and months and days can now be displayed in CAPS.

Shift-click allows edit of date and time format at the keyword level.

Warning levels can now exceed 65535 Kb.

Added ability to set the font that BarClock uses to display its information.

Added full featured count-up, count-down timer - the timer includes automatic hourly rate conversions.

Added ability to test .WAV files by holding the SHIFT key down when pressing the Set... button.

Changed Setup... dialog so that the lists of items can be modified using fewer dialogs.


Version 2.2 - August 26, 1993

Well, that was a short lived version.  This version includes a fix for a bug introduced in v2.1 that caused alarms to vanish when repeating alarms occurred - not exactly the ideal behavior.

We were using the system settings for AM/PM text but this caused problems when the system was set for 24 hour mode.  We now store the strings in the BARCLOCK.INI file.

Shift-double-click in calendar display will always create a new alarm regardless of whether one already exists for that day.


Version 2.1 - August 25, 1993

Fixed serious bug that caused random behavior/crashing after (or while) using the File Open dialog to choose a .WAV file.

Fixed bug that caused all "lunchtime" (12pm - 1pm) alarms not to work properly.

Warnings will shut off automatically if resource level is restored.

Fixed bug that caused warnings on other than disk C to always display disk C status in warning.

All alarms are always displayed - this allows you to leave your machine (even turn it off) and never miss an alarm.

Made alarm listing wider so time/date are visible more often.


Version 2.0 - August 22, 1993

Major revision - new features include

requires Windows 3.1

new documentation in .WRI format

dialogs for all options

full featured alarm mechanism

popup calendar

low resource warnings

message display in caption bar

support for multiple time zones

support for multiple disk drives

text/background color support is back

"pedestal" background option

option to chime once per hour

option to have BarClock icon on desktop

Bug fixes include

text disappearing from caption bar

BarClock menu access from within Excel

various compatibility problems

free resource readings are more accurate

using more robust Windows 3.1 hook functions


Version 1.32 - April 9, 1993

Really fixed bug in calculation of free disk space on disks that had a large amount of free space!

Finally was able to reproduce, and fix, the problem with not using the system colors for the clock background on all systems - however, there is still a problem if a dialog or other window obscures a portion of the display.


Version 1.31 - April 5, 1993

Made change so that changes made to the .ini file would not overwritten when the clock exited.

Fixed bug in calculation of free disk space.

Fixed bug that caused small drawing problem when clock was on a dithered background.


Version 1.3 - March 28, 1993 (Beta Only)

Renamed from WinClock to BarClock to avoid conflict with an existing shareware product.  This includes the .ini file which is now "BarClock.ini".

Eliminated flicker when mouse is positioned over display.

Fixed compatibility problem with Ami Pro that caused information to overwrite the text they place in the title bar when selecting from the menu.

Fixed compatibility problem with a handful of applications that would cause them not to redraw properly.

Clock never gets put in a window that is always topmost.

Added full date picture support that is syntactically equivalent to Windows.  See readme.txt for more details.

Added all long and short month and weekday names to a string table in the resource file which can be edited with any resource editor.  This provides support for international days and months.

Added full control of format of the resource, free memory and free disk space strings.  See readme.txt for more details.

Added support for hour, half hour and quarter hour chimes. See readme.txt for more details.

Reduced memory footprint to about 12k.


Version 1.21 - February 24, 1993

Fixed bug that caused 12 noon and 12 midnight to display as 0 when not using the 24 hour clock.

Fixed bug that caused an invalid HDC to be released.

Fixed compatibility problem with MS Word that caused several items to toggle with one click.

Better support for Norton Desktop - information now appears in main caption rather than the group window captions.

Changed display of memory and disk space to use scaling - can be forced to always use "Kb" with change to .INI file.

Fixed compatibility problem with XVision that caused it clock to ignore all session windows.

Fixed text so that the window title is not overlapped.

Fixed problem that caused clock to appear in some dialog windows.

Save window size and position in .INI file for window that appears when the clock is homeless.

Reorganized code so that memory footprint is about 16k.


Version 1.2 - February 20, 1993

Hopefully removed bug that caused system colors not to work on certain configurations.  We now default to using the active colors rather than the inactive colors.

Completely tested and compatible with Windows 3.0.  There were a few compatibility issues introduced with v1.1 that are now fixed.

Removed custom colors - the clock now always uses system colors for the background and the text.  Removing this option also eliminated a bug which caused a "COMMDLG.DLG could not be found" message.  (Custom text color is still supported by options in the .INI file.)

Make sure that the clock does not cover the entire caption bar on small windows.  Items on left are given preference over items on right.

When all windows are iconized and clock is left homeless, information is displayed in the clock caption bar.  Can be disabled by setting in .INI file.

Moved all preferences out of win.ini and into WinClock.ini.

Added new display items for displaying free memory, free resources and free disk space on a chosen drive.

Added options for what gets displayed when and where it gets displayed.  Setup dialog is now a collection of radio buttons that allow the setting of these options.

Added better support for international time and date settings.  We now use the system settings for time separator, AM/PM text, and date separator.  In addition, DD/MM/YY and YY/MM/DD formats have been added.  Setup dialog now uses current date for sample.

Added option to disable invalidation of entire desktop on machines running Windows 3.0.


Version 1.1 - February 7, 1993

Fixed drawing problem that resulted in "ghost" clocks.  This version uses the Windows 3.1 function RedrawWindow() to invalidate the caption of the previous window which had the clock.  If RedrawWindow() is not available (i.e., Windows 3.0 is being used), the entire desktop window is invalidated.  This does solve the problem, but it causes a noticeable flicker.  We will continue to look for a better solution.

Fixed drawing problem in very small windows - the clock would cover the system menu and the window border.  Now it will never extend outside of the caption area.

Added date.  A short click on the clock will display the date in the caption bar for a few seconds before displaying the time again.  There are a couple of date formats available in the Setup... dialog.

Removed flashing colon when seconds are not displayed.

Added ability to position the clock on either the left or the right of the caption bar.  This is controlled by an option found in the Setup... dialog.

Added Setup... dialog so that many options can be set at once.

Added Color... dialog.  This dialog allows you to specify the text and background color of the clock.  It now defaults to using the system colors.  The Set... buttons are enabled if you have the Windows COMMDLG.DLL (We didn't want to create a fancy color dialog).  Otherwise, type in the RGB value of the color you desire.


Version 1.0 - January 30, 1993

Initial Release