New in version 1.4.1:
---------------------
- Fixed an Enforcer hit if the user activated the calendar
with the global hot key while the clock window was closed
in response to the Workbench screen being closed.
What is ScreenTime?
-------------------
ScreenTime is a commodity that will display the current time
on the Workbench or any other public screen. By default,
ScreenTime will open a small borderless window on top of the
screen bar, adopting the font and colors of the screen to
make it look like it's part of it, but the position, font or
colors can all be configured using tool types or Shell argu-
ments.
When running on Workbench 2, ScreenTime will use a simple
hh:mm:ss format. On Workbench 2.1 or later, you can choose
between a number of formats defined by your locale that show
different combinations of time and date, or you can create
your own custom format that can also include things like day
of the week and week number.
A calendar for the current month can be brought up by click-
ing on the clock, or using a configurable hot key, and from
here the user can browse through past and future months.
ScreenTime requires Kickstart 2 or later. Full source code
is included.
Installation
------------
To have ScreenTime start automatically whenever you boot
your system, simply run the installer included. This will
install ScreenTime in SYS:WBStartup, or update it there if
it is already installed. Updating in this manner will not
replace the icon, so you will not lose your current configu-
ration.
The installer will also install language files for existing
languages. ScreenTime currently supports English, Danish,
German and Italian.
Operation
---------
Clicking the clock will bring up a calendar for the current
month. You can also define a global hot key for bringing up
the calendar (more on this below). A pair of buttons allow
you to browse through other months. Alternatively, you can
use the left and right arrow keys on your keyboard for the
same purpose. Click the clock again or press Esc (or the
global hot key) to dismiss the calendar.
You can run multiple instances of ScreenTime at the same
time if you want the time displayed on several screens at
once, but only one for each screen. Each instance will be
given a different commodity name that includes the screen
name so that they can be told apart in Commodities Exchange.
To remove an instance of ScreenTime, run it again (using the
same screen specification) or use Commodities Exchange. You
can also quit from the menu when the calendar is open.
Note that if you change your system time, it can happen that
the clock stops updating due to the manner in which it waits
for the system time to change. The program is still running
just fine, but it might be waiting for a moment in time that
is now far in the future. If this happens, you will need to
restart the program or use Commodities Exchange to de- and
reactivate it.
Configuration
-------------
If you start ScreenTime from the Workbench or by placing it
in WBStartup, you configure it through tool types. If you
start it from a Shell or the User-Startup, you use command
line arguments.
You specify the desired format using the FORMAT tool type or
argument. There are six different locale-defined formats to
choose from:
TIME
DATE
DATETIME
SHORTTIME
SHORTDATE
SHORTDATETIME
What you get in each case depends on your locale. Some of
them may give the same result in some locales. By default,
ScreenTime will use the TIME format, equivalent to using
FORMAT=TIME
You can also create your own custom format. For example,
FORMAT=%a %q:%M
will show the abbreviated week day, followed by a space,
followed by the hour (in 24-hour format), followed by a
colon, followed by the minutes.
You can include any characters in the string, but every ap-
pearance of a % character followed by a single letter is
taken as a command to insert a particular element of the
current time into the string at that position - to display
an actual % character, use %%.
The commands available are defined by the locale. They are:
%a - abbreviated weekday name
%A - weekday name
%b - abbreviated month name
%B - month name
%c - same as "%a %b %d %H:%M:%S %Y"
%C - same as "%a %b %e %T %Z %Y"
%d - day number with leading 0s
%D - same as "%m/%d/%y"
%e - day number with leading spaces
%h - abbreviated month name
%H - hour using 24-hour style with leading 0s
%I - hour using 12-hour style with leading 0s
%j - julian date
%m - month number with leading 0s
%M - the number of minutes with leading 0s
%p - AM or PM strings
%q - hour using 24-hour style
%Q - hour using 12-hour style
%r - same as "%I:%M:%S %p"
%R - same as "%H:%M"
%S - number of seconds with leadings 0s
%T - same as "%H:%M:%S"
%U - week number, taking Sunday as first day of week
%w - weekday number
%W - week number, taking Monday as first day of week
%x - same as "%m/%d/%y"
%X - same as "%H:%M:%S"
%y - year using two digits with leading 0s
%Y - year using four digits with leading 0s
You specify which public screen you want the time displayed
on by using the PUBSCREEN tool type or Shell argument.
Use MARGIN_TOP and MARGIN_RIGHT to specify the position of
ScreenMenu's window. The default values are 1 and 30, re-
spectively.
Use FONT_NAME and FONT_SIZE to specify the font. The font
name must include the .font suffix, as in
FONT_NAME=topaz.font
FONT_SIZE=8
If no font is specified, ScreenMenu will use the same font
as the screen bar.
You can specify the colors to be used with TEXT_COLOR and
BACKGROUND_COLOR. The value in each case must be a number
from 0 and up, or -1 to tell ScreenMenu to imitate the
screen bar, the latter being the default behavior.
You can specify the position of the calendar using
CALENDAR_X and CALENDAR_Y. If you specify a position that is
outside the bounds of the screen, it will be adjusted to
place the calendar along the edge. Using -1 will place the
calendar just below the screen bar and on the right edge of
the screen, respectively. This is also the default behavior.
You can define a global hot key for bringing up the calendar
using CALENDAR_POPKEY. By default, no hot key is defined.
There are abbreviations available for some of the command
line arguments when using a Shell or the User-Startup. They
are as follows:
TOP for MARGIN_TOP
RT for MARGIN_RIGHT
FNAM for FONT_NAME
FSIZ for FONT_SIZE
COL for TEXT_COLOR
BG for BACKGROUND_COLOR
CALX for CALENDAR_X
CALY for CALENDAR_Y
CALKEY for CALENDAR_POPKEY
Miscellaneous
-------------
Thank you to Stefan Haubenthal for the German translation,
and to Samir Hawamdeh for the Italian translation, and to
the people who gave suggestions and feedback that helped me
improve ScreenTime!
Check out some of my other Amiga software on Aminet:
Harmonics - mus/edit/harmonics.lha
- A simple additive synthesizer.
KoalaView - gfx/show/KoalaView.lha
- View and convert Commodore 64 images with authentic
looking colors.
Labyrinth - game/misc/labyrinth64.lha
- Remake of the Commodore 64 game Labyrinth published by
Commodore in 1983.
Space Invaders - game/shoot/spaceinv.lha
- Arcade perfect and system friendly.
ToolsMenu - util/cdity/ToolsMenu.lha
- Add tools and projects to the Workbench menu, using a
simple interface similar to FKey.
History:
--------
1.4.1 (Mar 19, 2022)
- Fixed an Enforcer hit if the user activated the calendar
with the global hot key while the clock window was closed
in response to the Workbench screen being closed.
1.4 (Jan 6, 2022)
- If screennotify.library is available, a clock on the Work-
bench screen will now automatically close and reopen when
the Workbench needs to close and reopen its screen.
- The user can now define a global hot key for bringing up
the calendar.
- The calendar window now sports a menu.
- Now comes with an install script.
1.3 (Feb 1, 2021)
- The placement of the calendar can now be specified with
tool types or Shell arguments.
- The calendar can now be dismissed by pressing the Esc key.
- Added abbreviations for several of the Shell arguments.
- Added the DONOTWAIT tool type to the program icon.
1.2.2 (Mar 31, 2020):
- Fixed a bug in the calendar where, if you were on the last
day of the month, the next and previous month would be
incorrectly rendered.
1.2.1 (Jan 24, 2020):
- Tried to make the calendar layout routines more compatible
with certain patches or versions of the AmigaOS that mess
with window title bars and cause problems when precalcu-
lating the size of windows that do not have titles.
- Removed the spacing added in 1.2 since it might not be de-
sirable when using alternative colors, and since it can be
added manually using the format string anyway.
- Now includes Italian translation by Samir Hawamdeh.
1.2 (Jan 16, 2020)
- Clicking the clock now pops up a calendar for the current
month. Months can be browsed using buttons or the arrow
keys. Click the clock again to close the calendar.
- Added a bit of spacing at the left edge of the clock to
cover very long screen titles.
- Now includes German translation by Stefan Haubenthal.
1.1 (Dec 17, 2019)
- Added options to specify position, font and colors.
1.0 (Dec 8, 2019)
- Initial release.
|