PolarClock 0.12.6
=================
Developed by René Thomsen. Released 9 November 2026.
PolarClock is a polar clock for AGA Amigas. Six concentric rings fill up
clockwise from 12 o'clock, from the outside in:
seconds, minutes, hours (24h), day of week, day of month, month
Every ring moves smoothly: the seconds ring sweeps at 25 frames per second
and each ring includes the progress of the finer units below it. The rings
are anti-aliased, and the time (HH:MM) and date (DD.MM) are shown in the
centre in smooth graphical digits, in the colours of their rings.
PolarClock is also a commodity and a screen blanker: after a chosen idle
time it shows the clock fullscreen until you touch the mouse or keyboard.
If you already use Garshneblanker, the clock is also included as a
Garshneblanker module.
Features
--------
- Smooth, anti-aliased rings (9 shades on 256-colour screens)
- Five colour schemes: Classic, Fire, Water, Ice, Earth
- Resizable window or fullscreen on its own 256-colour screen
- Screen blanker after 1, 2, 5, 10 or 30 minutes of inactivity
- Module for the Garshneblanker screen blanker
- Commodity: controlled from Exchange, with hotkeys
- Settings are remembered between runs
- Only the parts that change are redrawn: low CPU use, no flicker
- Circles stay round in HiRes, interlaced and RTG screen modes
Requirements
------------
- An AGA Amiga (A1200, A4000, CD32) or an RTG graphics card
- A 68020 or better (every AGA Amiga has one); no FPU needed
- Kickstart/Workbench 3.1 or newer
- A Workbench or public screen with at least 32 colours. 256 colours
looks best: set it in Prefs/ScreenMode.
Fast RAM helps a lot when running fullscreen on a 640x512 256-colour
screen, because that display mode leaves little chip RAM bandwidth for
the CPU.
Installation
------------
Double-click Install-PolarClock in the PolarClock drawer. It needs the
Installer program in C:, which comes with Workbench 3.1 and newer.
- Novice users get PolarClock in SYS:Tools/PolarClock, without further
questions. If Garshneblanker is installed (its Blankers drawer in
SYS:WBStartup, where its installer puts it, or SYS:Blankers), the
Garshneblanker module goes there too.
- Intermediate and expert users choose where PolarClock goes, whether
it starts at boot (as a clock window, or hidden as a screen blanker
after 5 minutes), and whether and where to install the Garshneblanker
module.
An existing PolarClock icon is kept, so its tooltypes stay as you set
them.
To install by hand, copy the PolarClock drawer anywhere, for example to
SYS:Tools/. To start the clock or the screen blanker at boot, copy
PolarClock and PolarClock.info to SYS:WBStartup/. The icon already has
the DONOTWAIT tooltype. The Garshneblanker module is in the
Garshneblanker drawer: see "Garshneblanker module" below.
The manual is PolarClock.guide (AmigaGuide; double-click it to read it in
MultiView).
Usage
-----
Double-click the icon, or from the Shell:
PolarClock [LEFT=n] [TOP=n] [WIDTH=n] [HEIGHT=n] [PUBSCREEN=name]
[FPS=n] [NOTEXT] [SCHEME=name] [SHOWEMPTY] [FULLSCREEN]
[BLANKER=minutes] [CX_POPUP=YES|NO] [CX_POPKEY=key]
[BLANKKEY=key] [CX_PRIORITY=n] [NOVSYNC]
[TEXTSTYLE=GEOMETRIC|DOTS] [TEXTCOLOR=RINGS|GREY]
[CLOCK=12|24] [DATEORDER=DM|MD] [WEEKSTART=MON|SUN]
Run >NIL: PolarClock ; start in the background
From Workbench the same options are read as tooltypes. Tooltypes in
parentheses, such as (FPS=25), are disabled: remove the parentheses in
the icon's Information window to use them.
WIDTH, HEIGHT Inner window size. Without HEIGHT the window gets the
height that makes the clock round on your screen mode.
PUBSCREEN Open on this public screen instead of the Workbench.
FPS Frame rate, 1 to 50 (default 25). Lower it on slow
machines.
SCHEME Classic, Fire, Water, Ice or Earth.
NOTEXT Hide the time and date (also TEXT=NO as a tooltype).
TEXTSTYLE Digits: GEOMETRIC (smooth strokes) or DOTS (dot matrix).
TEXTCOLOR RINGS (each number in its ring's colour) or GREY.
CLOCK 12 or 24-hour digits (default: from Locale prefs).
DATEORDER DM (day first) or MD (month first) (default: Locale).
WEEKSTART MON or SUN: where the weekday ring starts (default:
Locale).
SHOWEMPTY Show the empty part of each ring as a grey track.
FULLSCREEN Start fullscreen.
BLANKER Screen blanker idle time in minutes (0 = off).
CX_POPUP=NO Start hidden, e.g. to run only as a screen blanker.
CX_POPKEY Hotkey that shows the window (default: ctrl alt p).
BLANKKEY Hotkey that blanks the screen (default: ctrl alt b).
CX_PRIORITY Commodity priority (default 0).
NOVSYNC Don't wait for the vertical blank before updating the
screen. Saves a little latency; may show tearing.
Keys in the PolarClock window:
T Toggle the time and date
F Toggle fullscreen
Esc Leave fullscreen (in a window: quit)
Q Quit
Menus
-----
Project
About... Version and author
Blank now Start the screen blanker now (Right-Amiga B)
Hide Close the window, keep running (Right-Amiga H)
Quit Quit PolarClock (Right-Amiga Q)
Settings
Color scheme Classic, Fire, Water, Ice, Earth (Right-Amiga 1-5)
Show time and date Time and date in the centre (Right-Amiga T)
Text style Geometric or Dot matrix digits
Text colour Ring colours or Grey
Hide empty rings Draw only the filled part of each ring (Right-Amiga E)
Fullscreen Window or full screen (Right-Amiga F)
Screen blanker Off, or after 1, 2, 5, 10 or 30 minutes
PolarClock follows your Locale preferences: 12 or 24-hour time, the
order of day and month and the separator between them (. / or -), and
whether the week starts on Monday or Sunday. Without a country set in
Locale prefs, Workbench uses American formats (12-hour, month/day). The
CLOCK, DATEORDER and WEEKSTART options override the locale.
The window opens where it was last closed, with the same size; this is
saved in ENVARC:PolarClock.window. LEFT, TOP, WIDTH and HEIGHT override it.
Menu settings are saved in ENVARC:PolarClock.scheme, PolarClock.text,
PolarClock.textstyle, PolarClock.textcolor, PolarClock.empty and
PolarClock.blanker, and are used next time. A tooltype or Shell option
overrides the saved setting.
Default settings
----------------
Colour scheme Classic
Time and date shown, geometric digits in ring colours
Empty rings hidden
Display window (first time: top right of the screen, 1/4 of
its width, at least 200 pixels wide; after that where
it was last closed)
Time and date 12/24 hours, date order and first weekday from the
Locale preferences
Frame rate 25 frames per second
Screen blanker off
Hotkeys ctrl alt b (blank now), ctrl alt p (show window)
Screen blanker
--------------
Choose an idle time in Settings > Screen blanker, or use the BLANKER
tooltype. When there has been no key or mouse input for that long,
PolarClock shows the clock fullscreen and hides the mouse pointer. Any key
or mouse movement brings back what was there before.
While the blanker is on, the close gadget hides the window instead of
quitting, so the blanker keeps running. Use Project > Quit, Exchange, or
the Q key to quit. Starting PolarClock a second time shows the window of
the copy that is already running.
To use PolarClock only as a screen blanker, put it in WBStartup and
enable the tooltypes CX_POPUP=NO and, for example, BLANKER=5.
Garshneblanker module
---------------------
Garshneblanker (Aminet util/blank/GBlanker36.lha) is a screen blanker
with many blanker modules. The Garshneblanker drawer holds PolarClock as
one more module, so you can use the clock from Garshneblanker instead of,
or as well as, PolarClock's own screen blanker.
To install it, copy the three files PolarClock, PolarClock.ifc and
PolarClock.txt from the Garshneblanker drawer to Garshneblanker's
Blankers drawer (the one in its BLANKERDIR tooltype). Then open
Garshneblanker's window with its hotkey and choose PolarClock from the
list of blankers. Prefs sets the module's options and Info shows
PolarClock.txt. Prefs needs the BGUI version of Garshneblanker with
bgui.library (Aminet dev/gui/bgui.lha), or the MUI version with MUI.
The module has these settings: colour scheme, time and date shown or
hidden, text style, text colour, empty rings hidden or shown, and the
screen mode. They are saved by Garshneblanker in Blankers/PolarClock.prefs
and are separate from PolarClock's own settings. Without saved settings
the module uses PolarClock's defaults and the mode of the front screen.
12/24 hours, the date order and the first weekday follow your Locale
preferences.
Choose an AGA or RTG screen mode for the module: it draws on a 256-colour
screen of that mode, or at least 32 colours. With other modes, such as
ECS modes or HAM, Garshneblanker blanks the screen to black instead. Like
every Garshneblanker module, it also stops and blanks to black when other
programs need the processor.
The screen blanks at once. On a 68020 the rings then fill in from the
top and bottom edges over about 11 seconds on a 640x512 screen, while
PolarClock prepares its picture (see "How it works"). The same is true of
PolarClock's own screen blanker. With fast RAM, PolarClock keeps what it
prepared, so the next blank fills in sooner.
The module is a separate program from PolarClock itself and needs only
Garshneblanker. It doesn't use PolarClock's commodity, hotkeys or menus.
Colours
-------
PolarClock shares the screen's colours: it asks for the colours it needs
with ObtainBestPen and gives them back when it quits. On a 256-colour
screen it uses about 50 pens with empty rings hidden (about 100 with
SHOWEMPTY). On a 32 to 128-colour screen it uses fewer shades. If there
are not enough free colours, PolarClock tells you; closing other programs
that use many colours, or switching to 256 colours, helps.
How it works
------------
When the window opens or changes size, PolarClock calculates for every
pixel its angle and how much of it each ring covers, using integer maths
only. Each frame it then redraws only the pixels of the rings whose arc
ends moved, looks up the colours in pre-calculated colour ramps and
writes them straight into the bitplanes of an off-screen buffer. Frames
are timed with the E-clock, so the clock keeps its speed even when a
frame takes longer.
Slow work is spread over many frames, so the clock never stops: the
per-pixel calculation when the display opens (on a fast CPU it is done
at once; on a 68020 the rings fill in as it goes), the digits for the
next minute, which are prepared while the current minute is shown, and
erasing a ring that starts again at 12 o'clock: the old arc then
retracts towards 12 o'clock over a few frames, or a few seconds on a
68020 with a large screen. During such work PolarClock runs at one
priority lower, so other programs stay responsive.
In fullscreen PolarClock uses two screen buffers: each frame is copied
into the hidden one, which is shown at the next vertical blank, so the
display never shows a half-drawn frame. In a window, each screen update
starts at the vertical blank (turn this off with NOVSYNC).
Copyright and licence
---------------------
PolarClock is (c) 2026 René Thomsen. All rights reserved.
PolarClock is freeware:
- You may use it free of charge, privately and commercially.
- You may copy and distribute it, but only as the complete, unmodified
archive. This includes Aminet and its CD/DVD collections, magazine
cover disks and download sites.
- You may not sell it on its own. Charging a small fee for the media or
for a collection it is part of is fine.
- You may not modify, disassemble or redistribute parts of it.
PolarClock is provided "as is", without warranty of any kind. You use it
at your own risk; the author is not liable for any damage or loss of data
resulting from its use.
History
-------
0.12.6 (10.11.2026)
- First public release.
Author
------
René Thomsen
|