A dockapp to monitor hour, date and alarms
wmclockmon [options]
This manual page documents briefly the wmclockmon command.
WMClockMon is a program to display a digital clock. It is a dockapp that is supported by X window managers such as Window Maker, AfterStep, BlackBox, and Enlightenment.
It displays time and date, an AM/PM indicator if wanted and an alarm indicator. It has an LCD look-alike user interface. The back-light may be turned on/off by clicking the mouse button 1 (left) over the application. When alarm raises, an alarm-mode will alert you by turning on and off back-light for 1 minute and running the configured command. This can be stopped (and restarted) by clicking the mouse button 3 (right) over the application. Clicking on AM or PM will toggle 12h/24h clock mode, and clicking on ALRM will toggle alarm mode (you should have alarms for that). If an alarm time has been set to off (see config file section) it will not be set back on. Updating the config will allow this.
By clicking on the background with the button 1 while holding down the control key, you can switch to internet time display (in beats) and the same action bring back to the local time. You can start directly with internet time (see the -it option).
Clicking with the mouse button 2 (middle) while holding down the control key, launches the configuration tool. If you don't hold the control key down, it cycles through the different styles.
Clicking with the mouse button 3 (right) while holding down the control key, launches the calendar tool.
Command-line options override the default configuration file options. But if a file is given at command-line (with the -f option), its options will override those given before.
Alarms can be added automatically with the included calendar (see below and wmclockmon-cal(1) for more informations). Moreover the today's calendar can be displayed at startup or at 00:00. In that order, the MessageCmd option is used.
+-------------------------+-------------------------+ | no modifier | control key |
+----------+-------------------------+-------------------------+ | Button 1 | action/backlight on-off | internet time | +----------+-------------------------+-------------------------+ | Button 2 | cycle style | configuration tool | +----------+-------------------------+-------------------------+ | Button 3 | blinking on/off | calendar tool | +----------+-------------------------+-------------------------+
This program follows the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.
-d, --display <string>
Attempt to open a window on the named X display. In the absence of this option, the display specified by the DISPLAY environment variable is used.
-h, --help
show help text and exit.
-v, --version
show program version and exit.
-bl, --backlight
turn on back-light.
-lc, --light-color <color>
back-light or LEDs color (rgb:6E/C6/3B is default for LCD looks, rgb:00/B0/EA is default for LED looks).
-it, --internet-time
start with internet time (in beats).
-i, --interval <number>
number of secs between updates (1 is default).
-w, --windowed
run the application in windowed mode.
-bw, --broken-wm
activate broken window manager fix.
-a, --alarm <HH:MM>
set alarm time to HH:MM (24h clock mode).
-c, --alarm-cmd <string>
command to launch when an alarm raises.
-mc, --message-cmd <string>
command to display messages when an alarm raises.
-12, --h12
12 hours clock mode (default is 24).
-s, --style <name>
style to use for display. If -sd is given, there is no need to give an extention since it is automatically given (.mwcs). Using this option to a .mwcs file automatically sets the styles directory if not already given. A subsequent use of -sd will overwrite it. Using another extention may give erroneous results.
-sd, --style-dir <directory>
set the directory where styles are stored.
-nb, --no-blink
disable blinking when alarm raises.
-f, --cfgfile
load configuration file.
-nl, --no-locale
don't use the current locale (use the C locale instead).
-l, --label
use a label instead of the current date (usefull if you have multiple instances running different timezones).
-sc, --show-cal
show today's calendar/TODO list at startup/00:00.
-ca, --cal-alrms
load calendar alarms for today.
wmclockmon uses one default file : ~/.wmclockmonrc. Empty lines or lines begining with a # are ignored. Entries are summarized below (default value in parenthesis). Booleans can be either 1/0, true/false, yes/no or on/off, case insensitive. A sample file is given in the source package.
Backlight =
Boolean (off).
Color =
String (#6EC63B for LCD looks, #00B0EA for LED looks).
Alarm =
String (noting). You can have several Alarm entries. An entry is in the form of [bool@]HH:MM[-D][.M], with bool representing the alarm status (on or off), HH:MM the hours and minutes of alarm, D the number of the day it should happen and M is the message that should be displayed when this alarm raises. The bool, the D and the M values are optionals (the boolean defaults to on, no day value means 'every day' and the message is optional). @, - and . are the separators between the each of them and the time (or the day, for the message). The alarm time HAVE to be in 24h mode and with 2 digits for hours and 2 for minutes (no spaces). The day value, if given, should be between 1 and 7. Time and day values are used with strftime (%H:%M and %u). For more examples, see samples files in package...
Command =
String (nothing). Command that is executed once an alarm raises (eg: ogg123 -d esd -q /home/thomas/documents/sons/alarme.ogg).
MessageCmd =
String (nothing). Command that is executed with the MESSAGE part of the alarm that is raised as argument.
Blink =
Boolean (yes).
H12 =
Boolean (false). Set 12h/24h clock mode.
Locale =
Boolean (yes). Use your current locale or not (use C locale instead).
Style =
String (nothing).
StyleDir =
String (nothing). Directory where styles are stored.
TimeMode =
Integer (0: normal clock, 1: internet time, 2: binary clock).
ShowCal =
Boolean (No). Show today's calendar at startup/00:00.
CalAlrms =
Boolean (Off). Load calendar's alarms for today.
Calendar files can be unique (for a particular day), yearly or monthly. For a day, all calendar files are used (if they exist).
Building a new style is quite easy. A style is composed of 4 description files and several pixmaps files : a main style file, a parts style file, a letters style file and a internet time style file. Each of them contains several variables and their associated values. If only the main style file have its extension fixed to .mwcs, the others can have whatever name you want but using those given is usefull for understanding :)
PartsStyle =
file where parts style is described.
LettersStyle =
file where letters style is described.
ITimeStyle =
file where internet time style is described.
BacklightOn =
background pixmap for backlight on display (58x58).
BacklightOff =
background pixmap for backlight off display (58x58).
NbColors =
number of shadow colors.
Hours_PosX =
Hours_PosY =
hours position in pixels in the background pixmaps.
Hours_Big =
hours displayed in big (boolean).
Minutes_PosX =
Minutes_PosY =
Minutes_Big =
same as for hours.
Seconds_PosX =
Seconds_PosY =
Seconds_Big =
same as for hours.
Seconds_Colon =
seconds are a blinking colon.
AM_PosX =
AM_PosY =
same as for hours.
PM_PosX =
PM_PosY =
same as for hours.
ALRM_PosX =
ALRM_PosY =
same as for hours.
Weekday_PosX =
Weekday_PosY =
same as for hours.
Day_PosX =
Day_PosY =
same as for hours.
Month_PosX =
Month_PosY =
same as for hours.
Parts =
pixmaps for parts of graphics (big and small digits, graphs, AM/PM/ALRM).
BDigitHeight =
big digits height in pixels.
BDigitWidth =
big digits width in pixels.
SDigitHeight =
SDigitWidth =
same as for big digits but for small digits.
Letters =
pixmap for letters.
LetterHeight =
LetterWidth =
same as for big and small digits.
IBacklightOn =
background pixmap for backlight on internet time display.
IBacklightOff =
same as above for backlight off.
Beats_PosX =
Beats_PosY =
Beats_Big =
as usual, same as for hours.
10thOB_PosX =
10thOB_PosY =
10thOB_Big =
same as above for tenths of beat.
10thOB_Display =
display or not tenths of beat (boolean).
Graph_PosX =
Graph_PosY =
Graph_Display =
same as for tenths of beat.
BBacklightOn =
background pixmap for backlight on binary clock display.
BBacklightOff =
same as above for backlight off.
Bin_HX =
Bin_HY =
hours bits start position (most significant bits first).
Bin_MX =
Bin_MY =
minutes bits start position (most significant bits first).
Bin_SX =
Bin_SY =
seconds bits start position (most significant bits first).
Bin_ZX =
Bin_ZY =
size of time bits squares.
Bin_WX =
Bin_WY =
week day bits start position (most significant bits first).
Bin_DX =
Bin_DY =
month day bits start position (most significant bits first).
Bin_OX =
Bin_OY =
month bits start position (most significant bits first).
Bin_IX =
Bin_IY =
size of date bits squares. Specifying -1 for Bin_IX disable date displaying and other date specs are not needed.
Bin_D1X =
Bin_D1Y =
space between 2 bits of the same number for the time.
Bin_D2X =
Bin_D2Y =
space between 2 binary numbers of the same time part.
Bin_D3X =
Bin_D3Y =
space between 2 bits of the same number for the date.
Bin_D4X =
Bin_D4Y =
space between 2 binary numbers of the same date part.
WMClockMon was assembled by Thomas Nemeth <[email protected]>. It is largely based on WMMemMon and WMCPULoad by Seiichi SATO <[email protected]> and WMMemLoad by Mark Staggs <[email protected]>.