marticliment / ElevenClock

ElevenClock: Customize Windows 11 taskbar clock
https://www.marticliment.com/elevenclock/
GNU General Public License v3.0
2.33k stars 175 forks source link

[BUG] Clock shows on top of multimonitor vmware machine #488

Closed domeio closed 2 years ago

domeio commented 2 years ago

Everything works fine with the main monitor of the virtual machine. With the second monitor of the virtual machine, elevenclock is there, hidding the vitual machine clock

image

Eleven Clock is running in windows 11 (4 monitors) Vmware is also on the same machine. The virtual machine is running windows 10 (2 of the 4 monitors) Everything works fine except for the extended vitrual machine monitor (printscreen above)

marticliment commented 2 years ago

Enable this: image

marticliment commented 2 years ago

did it work?

domeio commented 2 years ago

In portuguese but same options image

Doesn't work.

I already played with all these options. I works well with all applications and alsoi with main monitor of vmware. It does not work with extended monitor of vmware. Eleven clock is there. Elevenclock does not recognize that the monitor is being used by vmware (because vmware is using it as an extended monitor)

marticliment commented 2 years ago

Can you please share the log?

domeio commented 2 years ago

image

marticliment commented 2 years ago

At the right of this text there's a "open" button. A text window will open. Can you please send me that text?

domeio commented 2 years ago

ElevenClock's 3.1.0 (v3.1) log: Select all the text and hit Ctrl+C to copy it All modules loaded successfully and sys.stdout patched correctly, starting main script Translator function set language to "pt_PT"


Log legend: 🔵: Verbose 🟢: Information 🟡: Warning 🟠: Handled unexpected exception 🔴: Unhandled unexpected exception 🟣: Handled expected exception

🔵 Initializing clock 0... 🔵 Using taskbar background color 🟢 Regular sized taskbar 🔵 Monitor geometry: PyQt5.QtCore.QRect(0, 0, 1920, 1080) 🟡 Taskbar at bottom 🟢 Clock on the right 🟢 Using qt's default positioning system 🔵 Clock geometry: PyQt5.QtCore.QRect(1720, 1032, 200, 48) 🔵 Font families: ['Segoe UI Variable Display', 'sans-serif'] 🔵 Font size: 9.3 🟢 Using black text (light mode) 🔵 Restart loop: 1 🔵 Full screen rect: (0, 0, 1920, 1080) 🟣 Expected AttributeError on backgroundLoop thread 🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True 🟡 Desktop button enabled 🔵 Initializing clock 1... 🔵 Using taskbar background color 🟢 Regular sized taskbar 🔵 Monitor geometry: PyQt5.QtCore.QRect(3840, -360, 2560, 1440) 🟡 Taskbar at bottom 🟢 Clock on the right 🟢 Using qt's default positioning system 🔵 Clock geometry: PyQt5.QtCore.QRect(6200, 1032, 200, 48) 🔵 Font families: ['Segoe UI Variable Display', 'sans-serif'] 🔵 Font size: 9.3 🟢 Using black text (light mode) 🔵 Full screen rect: (3840, -360, 6400, 1080) 🟣 Expected AttributeError on backgroundLoop thread 🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True 🟡 Desktop button enabled 🔵 Initializing clock 2... 🔵 Using taskbar background color 🟢 Regular sized taskbar 🔵 Monitor geometry: PyQt5.QtCore.QRect(1920, 0, 1920, 1080) 🟡 Taskbar at bottom 🟢 Clock on the right 🟢 Using qt's default positioning system 🔵 Clock geometry: PyQt5.QtCore.QRect(3640, 1032, 200, 48) 🔵 Font families: ['Segoe UI Variable Display', 'sans-serif'] 🔵 Font size: 9.3 🟢 Using black text (light mode) 🔵 Full screen rect: (1920, 0, 3840, 1080) 🟣 Expected AttributeError on backgroundLoop thread 🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True 🟡 Desktop button enabled 🔵 Initializing clock 3... 🔵 Using taskbar background color 🟢 Regular sized taskbar 🔵 Monitor geometry: PyQt5.QtCore.QRect(-2560, -360, 2560, 1440) 🟡 Taskbar at bottom 🟢 Clock on the right 🟢 Using qt's default positioning system 🔵 Clock geometry: PyQt5.QtCore.QRect(-200, 1032, 200, 48) 🔵 Font families: ['Segoe UI Variable Display', 'sans-serif'] 🔵 Font size: 9.3 🟢 Using black text (light mode) 🔵 Full screen rect: (-2560, -360, 0, 1080) 🟣 Expected AttributeError on backgroundLoop thread 🔵 Show/hide loop started with parameters: HideonFS:True, NotHideOnTB:False, HideOnRDP:False, ClockOn1Mon:True, NefWSMethod:True, DisableNotifications:True 🟡 Desktop button enabled 🟢 Loaded clocks in 1.7431888580322266 🟡 Fullscreen window detected! Windows Completo - VMware Workstation (3840, -360, 6400, 1080) Fullscreen rect: (3840, -360, 6400, 1080) 🟣 Expected AttributeError on backgroundLoop thread 🔵 System tray icon enabled 🔵 Starting update check 🔵 Low cpu mode is set to False. DisableNotifications is set to False 🟢 Loaded everything in 2.0636630058288574 🔴 Traceback (most recent call last):

🔴 File "urllib\request.py", line 1348, in do_open

🔴 File "http\client.py", line 1282, in request

🔴 File "http\client.py", line 1328, in _send_request

🔴 File "http\client.py", line 1277, in endheaders

🔴 File "http\client.py", line 1037, in _send_output

🔴 File "http\client.py", line 975, in send

🔴 File "http\client.py", line 1454, in connect

🔴 File "ssl.py", line 512, in wrap_socket

🔴 File "ssl.py", line 1070, in _create

🔴 File "ssl.py", line 1341, in do_handshake

🔴 ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)

🔴 During handling of the above exception, another exception occurred:

🔴 Traceback (most recent call last):

🔴 File "\samba-server\SPTPrograms\ElevenClock\elevenclock__init__.py", line 124, in updateIfPossible

🔴 File "urllib\request.py", line 216, in urlopen

🔴 File "urllib\request.py", line 519, in open

🔴 File "urllib\request.py", line 536, in _open

🔴 File "urllib\request.py", line 496, in _call_chain

🔴 File "urllib\request.py", line 1391, in https_open

🔴 File "urllib\request.py", line 1351, in do_open

🔴 urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)>

🔴 Note this traceback was caught by reporter and has been added to the log (<urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: certificate has expired (_ssl.c:997)>) 🔵 Version URL: http://www.somepythonthings.tk/versions/elevenclock.ver 🟢 Updates not found 🟡 Fullscreen window detected! Windows Completo - VMware Workstation (3840, -360, 6400, 1080) Fullscreen rect: (3840, -360, 6400, 1080) 🟡 Fullscreen window detected! Windows Completo - VMware Workstation (3840, -360, 6400, 1080) Fullscreen rect: (3840, -360, 6400, 1080) 🟡 Fullscreen window detected! Windows Completo - VMware Workstation (3840, -360, 6400, 1080) Fullscreen rect: (3840, -360, 6400, 1080) 🟡 Fullscreen window detected! Windows Completo - VMware Workstation (3840, -360, 6400, 1080) Fullscreen rect: (3840, -360, 6400, 1080)

marticliment commented 2 years ago

Can you please send me the vmware workstation process name?

domeio commented 2 years ago

Where can I find these information?

marticliment commented 2 years ago

On the task manager:

https://www.windowscentral.com/how-find-out-application-process-id-windows-10

domeio commented 2 years ago

VMware Workstation (32 bits)

marticliment commented 2 years ago

I'm sorry, i didn't explain myself well. I need this: like the "notepad.exe" image

Cvolton commented 2 years ago

Wouldn't have even thought to test this if I didn't see this bug report but I was able to recreate the same issue as OP.

It happens in this screen configuration (note that the VM also happens to be Windows 11 but ElevenClock is only running on the host machine), where the VM is spanning through the main and secondary monitors. vmware-bug

The process name for VMware Workstation is vmware.exe and it doesn't even appear in the log when I do this - presumably because it's seen as running on the main monitor and spanning onto the 2nd one

marticliment commented 2 years ago

Yes, i'll need to blacklist the whole vmware process

Cvolton commented 2 years ago

One thing I forgot to add is that everything works properly if the VM is only fullscreened on the 2nd monitor

marticliment commented 2 years ago

Hmmm, weird...

Anyway, i'll take a look

marticliment commented 2 years ago

This issue will be fixed with the next release. You will need to enable this: image

domeio commented 2 years ago

Bug still there

Installed 3.1.1 and selected option "Hide the clock ..."

image

domeio commented 2 years ago

image

Also it is very dificult to interact with vmware toolbar if it is in auto-hide. Everything comes back to normal if I close elevenclock. (that was also the case with version 3.1 - behavior doesn't change from 3.1 to 3.11)

marticliment commented 2 years ago

Didn't explain myself: the bug has been fixed and will arrive with 3.2. You'll need to tick that feature on in order to, when you get the update, have this feature enabled

domeio commented 2 years ago

Thank you very much for your support.

Sorry for my misunderstanding

domeio commented 2 years ago

Version 3.2 already.

I have 2 instances of elevenclock, but elevenclock doesn't appear on any monitor. Monitor 4: windows 11: doesn't show -> NOT OK (it shows elevenclock with version 3.1.1 and was OK) Monitor 3: windows 11: main monitor -> doesn't show but OK Monitor 2: extended vmware monitor: doesn't show -> OK (it shows elevenclock on top of vmware with version 3.1.1 and was NOT OK) Monitor 1: vmware main monitor: doesn't show -> OK

domeio commented 2 years ago

Shall I open a new issue?

marticliment commented 2 years ago

No, because the thing here is that, as VMWare is blacklisted, the clocks will hide when vmware is running, since the VMWare window can't be captured as a normal window.

I mean, when you are running VMWare all the clocks will hide without exception

domeio commented 2 years ago

How about an option that let the user select wich monitors elevenclock will appear? This will solve the problem.

Perhaps I can request this feature.

marticliment commented 2 years ago

Yes, you can already blacklist monitors

marticliment commented 2 years ago

Right-click clock -> Monitor tools -> Blacklist monitor

marticliment commented 2 years ago

(Remember to disable the RDP/Cytrix workspace checkbox)

This issue will be fixed with the next release. You will need to enable this: image