Wallpaper clocks - specs for software developers
If you have software related to desktop management, I encourage you to add WCZ support to your app - your users will get tons of nice desktops showing time and date!
What your software should do?
In background mode:
Read current time and date, compose an image from WCZ package, set is as desktop wallpaper, every minute.
In foreground mode:
You can also use seconds images and update the image every second (not recommended in background mode, to avoid CPU load).
What is WCZ?
WCZ is "Wallpaper Clock Zip"-file. It is ZIP file containing the following files:
- clock.ini - text file with settings (see details below)
- bg.jpg - background image
Optional (in foreground mode):
- day1.png - day31.png
- hour0.png - hour23.png (or hour0.png - hour59.png, see below)
- minute0.png - minute59.png
- month1.png - month12.png
- weekday1.png - weekday7.png
- second0.png - second59.png
All images have the same dimensions. One WCZ file represents one clock design resized for one specific screen size (English by default). Example: myclock-800x600-en.wcz.
WCZ settings (clock.ini)
Explanation of variables:
- name - Name of package
- width - target screen width in pixels
- height - target screen height in pixels
- author - author name
email - author email
- ampmenabled - number (1 or 0). If "1", WCZ includes am.png & pm.png
- refreshhourinterval - most often it's 12 (for analog) or 60 (for digital clocks). This is interval (in minutes), how often hour image should refresh.
- hourimages - number of 'hourXX.png' images in skin. Most often it's 24 (hour0...hour23.png) or 60 (hour0...hour59.png).
How wallpaper should be generated
Every minute program should calculate: current minute, hour, day, weekday, month, am/pm.
From these values, program takes appropriate PNG files from WCZ package, and composes them with BG.JPG, generating new image.
suppose we have 12:34 AM Monday 5 June. Program should compose image from the following files (in this order):
If any image does not exist, simply skip it (without error).
Last step is: set generated image as desktop background.
More about HOUR0..HOUR59 images
you may be confused with my explanations of how to treat 'hour' images. Let me try to sum up the different scenarios of working with hour images.
- ampmenabled=0 (or missing)
That means that the skin includes hour0...hour59.png and you should rotate hour image every 12 minutes.
- ampmenabled=0 (or missing)
That means that the skin includes hour0...hour23.png and you should rotate hour image every 60 minutes.
- ampmenabled=1 (AND your user has checked 'use AM/PM' in Options)
That means that the skin includes hour0...hour23.png but you should only take hour0...hour12.png and rotate hour image every 60 minutes (0..12, then 1..11).
- ampmenabled=1 (BUT your user has NOT checked 'use AM/PM' in Options) - treat the same way as variant 2.
Please provide the following features:
- Change Wallpaper Clock (opens clocks list)
- Download More Clocks (link to https://www.vladstudio.com/wallpaperclock/)
There should be a folder where all WCZ files are stored. "Change Wallpaper Clock" window should list all WCZ files.
Return to wallpaper clocks gallery
- Register WCZ file type to open with the program.
- When user double-clicks (opens) WCZ file, program should "install" design (copy it to folder and apply).
- It is good idea to generate wallpaper somewhere in the middle of each minute, and set it to desktop at minute start
- Any questions? Please contact me, I'll be happy to answer!