Disk Clock 0.9. I Finally updated the rather old default graphic and icon. A new logo disk opens up and then shrinks down after a short delay, which should solve the choppy animation problem when re-adding to Dashboard. Most of the rest of the changes were internal work again.
I finally finished revising the CGD logo last week. A variation is used where without the monitor frame, simply because it looks better that way. Actually, I’m starting to get fuzzy recollection that use “CGD” instead of “Computer Generated Dreams” was modification for icons, so I may have to revise it a bit and make a large size version
On a related note, there is finally a link to my web page on the widget back. http://ComputerGeneratedDreams.com is just redirecting to my page right now, but I’ll probably be fixing that at some point.
I started the project as DisClock, being a slightly too clever contraction of Disc Clock. This mostly doesn’t affect anything – except that Dashboard uses the file name in the widget list. Consequently, I had to rename the file as “Disk Clock” to rename the widget, space and all. Most of the internal files are unaffected.
Auto Show is Here to Stay
I didn’t auto-show in the add mode; the time disks shrank just when you were trying to look at them, and then the by time your eyes got to the calendar disk, it was falling away. I changed the default mode to replace, which gives you a more focused target to focus on. I also switch the show time from 2 to 2.5 seconds, because it wasn’t quite long enough. I still need to add a check box to disable auto-show.
The Moon is Non-Linear
Since the eclipse had the moon in the news, I noticed that my disk wasn’t quite lined up, despite just fixing after the Chinese New Year also brought it to my attention. After investigating a bit, it seems that the phase time I had is an average – it can vary by over half a day both ways. I’ll have to least get it aligned with the average point.
The logo disk was significantly harder than it should have been. My time ticker is something of a cross-cutting concern; various places need to manipulate it in order to maintain smooth animation and a responsive interface without bogging down the CPU while idle. But with everybody’s hand in the pot, keeping it from running for a while turned out be something of a challenge. Ultimately, I had to get a bit more heavy handed and actually manage a state flag. I need to do some more thinking about timer management, to see if I can really put things to rights.
Under the Hood
While tracing image loading I added the ability to have debug message filters, of which time stamps are the currently the only instance. While trying to work around the timer problems, I created an event subscription system; but it has such minor use at this point I may excise it.