Jump to content

Floating Clock Screensaver


therks
 Share

Recommended Posts

Looks nice @therks.

But the clock animation seemed familiar to me. After a quick search I found it.

;)

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Looks great, works good! But for a screensaver I would need a multiple monitor support to use it.

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Link to comment
Share on other sites

44 minutes ago, funkey said:

Looks great, works good! But for a screensaver I would need a multiple monitor support to use it.

Ah yes, that's pretty common these days (probably more common than using screen savers actually). Unfortunately I don't have a multi monitor setup so I wouldn't even know where/how to start supporting that. 🙁

Link to comment
Share on other sites

I just checked the screensaver by copying to c:\Windows\SysWOW64\.

If I select in preview window (monitor) your screensaver then it will not be closed when I switch to another one. Maybe this will not be an issue because when closing the screensaver window then it will close automatically all sub processes. Afaik remember it wasn't the case in previous os. The process was still running in the memory. Maybe this is a Windows10 feature to close all sub processes automatically.

You can use

Global Const $hFullScreen = WinGetHandle("Program Manager")
Global Const $aFullScreen = WinGetPos($hFullScreen)

to get the whole desktop size incl. multi monitors.

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

42 minutes ago, UEZ said:

I just checked the screensaver by copying to c:\Windows\SysWOW64\.

If I select in preview window (monitor) your screensaver then it will not be closed when I switch to another one. Maybe this will not be an issue because when closing the screensaver window then it will close automatically all sub processes. Afaik remember it wasn't the case in previous os. The process was still running in the memory. Maybe this is a Windows10 feature to close all sub processes automatically.

You can use

Global Const $hFullScreen = WinGetHandle("Program Manager")
Global Const $aFullScreen = WinGetPos($hFullScreen)

to get the whole desktop size incl. multi monitors.

Ah yes, I couldn't figure out a clean way to have it close the preview process. If the application is sent a signal to close I don't know what it is. In my testing I found the same, the process died when the dialog was closed, and I believe this happened in Windows 7 at least as well so I guess I deemed it "good enough". I should probably do it properly though.

And thanks for the suggestion for multi-mon. I'll have to implement that and throw it up here again for @funkey to test. 😁

Link to comment
Share on other sites

54 minutes ago, therks said:

Ah yes, I couldn't figure out a clean way to have it close the preview process. If the application is sent a signal to close I don't know what it is. In my testing I found the same, the process died when the dialog was closed, and I believe this happened in Windows 7 at least as well so I guess I deemed it "good enough". I should probably do it properly though.

And thanks for the suggestion for multi-mon. I'll have to implement that and throw it up here again for @funkey to test. 😁

I solved the process issue by getting the parent pid and checking if child pid count changed. If so, then the current screensaver can be closed.

The screensaver will be call be parent process called rundll32.exe and should have always one child process -> the screensaver.

I had also released some screensavers, so search for them and you will find the appropriate code section. 😉

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

1 hour ago, therks said:

So I did encounter a problem, @UEZ. When triggered manually everything worked fine, but when triggered by the system AutoIt can't find the "Program Manager" window. So I grabbed the dimensions using _WinAPI_GetSystemMetrics instead.

It can be that _WinAPI_GetSystemMetrics() is not dpi aware. Then you will get wrong values. Currently I cannot test multi monitor with different dpi settings.

Please don't send me any personal message and ask for support! I will not reply!

Selection of finest graphical examples at Codepen.io

The own fart smells best!
Her 'sikim hıyar' diyene bir avuç tuz alıp koşma!
¯\_(ツ)_/¯  ٩(●̮̮̃•̃)۶ ٩(-̮̮̃-̃)۶ૐ

Link to comment
Share on other sites

Works fine now for my three Monitors. Thanks!

Programming today is a race between software engineers striving to
build bigger and better idiot-proof programs, and the Universe
trying to produce bigger and better idiots.
So far, the Universe is winning.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...