Close

Counting down to the home stretch

A project log for Does Anyone Really Know What Time It is?

If you havent noticed, the clock in the Windows Taskbar has gone missing. Will it ever return?

glgormanglgorman 08/10/2025 at 01:240 Comments

OK, this is where the project stands right now.  I have the "Teapot In the Garden Stuff running in one "application" which is OpenGL aware, and which has a whole bunch of fun stuff, like wave audio playback, multi-document support, and so on.  Here, it would be easy to implement an OpenGL clock face, so that I can perhaps have my "clock on the wall" or a clock tower in a garden scene, whether in a game-like environment, or based on GPS data.

In another application, I have been merging the GPS with the input stream that feeds to an Eliza-style chatbot, for purposes of testing the ability to decode the live streaming data, when available, among other things.  Here is an example where I simply copied and pasted some test data from Wikipedia, so as to test GPS string parsing in "Eliza" and verify that the data can "optionally" be streamed to an MFC-style CEdit View, while diagnostic data verifying that the NMEA string parsing of the "tokenized" stream is working correctly, and that the associated azimuth and elevation of the sun for the relevant location is also being calculated.

Likewise, the "Propeller Debug Terminal" application, which is available on Git, and will be updated at some point, also supports GDI-based graphics, in the CSignalView class, as can be seen with some of the sample plots of oscilloscope data and the plotting of something resembling a Smith Chart.  In this configuration, actual GPS data can also be streamed from a GPS module, where it is simply being displayed alongside a here-seen, partially drawn Smith-Chart.  Perhaps what I should try next, therefore, is to go ahead and see if the Propeller Debug terminal can make calls into the Euclidian geometry library via the CSignalView class, instead of simply "drawing a Smith Chart directly". 

Then maybe add Open-GL support to the Euclidian library, so that I don't have to try to implement a full Open-GL stack in software, since I really only would need that if I were going to port the application over to another platform, like running it on a Propeller P2 board, which I have, or some other alternative platform, like a commander X16, which I do not have, or even a full ground up FPGA based system, with custom CPU operations done in Verilog.  Not quite there either.  Maybe some other time.

Maybe a nice Win32 application with OpenGL support, but without MFC support, that could perhaps be compiled as a control panel, screen saver, DLL, or even as an Active X control so that it can be tested as a possible "browser plug-in".  What am I leaving out? Haven't ever done much with "Processing", even though it does appear to be a popular platform, and that would possibly help with MacOS, and or Android support, along the way.  Maybe I should look into whether anyone else has ever tried creating Windows Desktop accessories in Processing.

Or maybe some other time, in some parallel universe. Then again, it is quite simple to try to create a pure standalone application without full Document-View support, but which makes use of the Euclid stuff as an externally linked library, even though that takes a whole world on its own of fiddling with settings for whether I want to render for a certain page size, or whether I want to resize for the current view, i.e. so as to fit to the current window, and so on.  Then I will need to add in the GPS over USB stuff, and create some dialogs for adjusting the settings.  Not sure how some things work in Windows 10, but it used to be possible to take a regular exe and simply change the suffix to cpl and you had a control panel, or you could change the suffix to scr to get a screen saver, provided that you also added in the needed command line parameters to tell the screen saver whether it was in preview mode or whether it should be in full screen mode.

Now, subclassing an actual Microsoft Windows application?  Well, the old-fashioned way of doing that was, and still is, known as "DLL injection", which is a trick also widely used by keyloggers and other sneaky malware.  So it may or may not work.  But worth thinking about.  Just inject a DLL or two into every running process, until we figure out which one we want to "hook", or something like that.  Maybe I could ask GPT?  Hahahahahaha!

And thus. this is what it looks like for now.  Maybe something with a borderless mode, but just as fully functional?  I really liked the Aero look back in the days of Vista, even if it was the only thing to like about Vista.  

Discussions