-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
invalid - 【stay on top of other windows】 #6
Comments
first of all, after changing this "stay on top" option app restart is required, unfortunately. this is "necessary evil" in today's world. unfortunately, this simple feature doesn't work properly when you try to change it on runtime. even according to Qt (framework I'm using for UI) documentation, window will disappear after this property change and must be shown explicitly again, but unfortunately it works totally unreliable and may lead to disappearance or even worse to window with very strange properties. window disappearance (required by Qt) contradicts Windows API requirement that states that window must be visible when you are changing its properties. maybe this is the reason. but it works quite normally if it is set during app initialization, so restart is required after changing this ("transparent for mouse events" also requires app restart). in the previous version I had a set of hacks to workaround this case, but they seem not working for the newer Qt, and I don't want to find/invent anything else. second, in modern world there are a lot of (fullscreen) invisible windows with a very strange properties, which as practice shows may affect this simple feature. third, Windows can maintain only one "on top" window. many apps can be "too aggressive" in enforcing it - try to detect that they are not on top and then enforce "on top" position again. this is "a response" to user complaints. forth, many modern UI frameworks directly use OpenGL (or much more often OpenGL ES 2.0). such windows are special, and most of the software can't appear on top of it by default. who knows what is behind JetBrains' Java frameworks... maybe the answer is behind this... and last but not least, part of the issue somewhere in the Windows itself. don't believe me? try Winamp or whatever else rock-solid old-school software, it also will not work properly, even if it did previously! so, to conclude - it is the thing you should live as is, it is unlikely that I can do anything around it. it was +/- the same since ~2015 and becoming even worse. |
@Kolcha as you seem to get a lot of complaints / questions about this would it not be easier to remove the option from the software? Maybe put a pinned post on here explaining why there is no "Always on Top" option. Then when the next person comes along and requests it as a feature you can just drop a one line link to that as a response to their post rather than having to copy and paste the bug explanation every time? 😄 |
unfortunately, removing the option is not an option... this is one of the most important and "attractive" features. and it works quite good for many users unless they have some awful app installed and running. yes, it may also misbehave even without ugly apps (like for me for example), but this is something inside Windows, and only Windows, as whatever else apps are also affected (like mentioned iconic Winamp). it works perfectly on macOS (I'm using my software only on macOS, as Windows is almost never used, it mostly "just exists") and it was so since the time I built the first version for macOS when bought MacBook in 2014. what about creating pinned post, it is a good idea, I should consider doing this. thanks. but copying (and editing a bit depending on the case) the +/- same text is not a big deal for me, as it was so since ~2015, and cases are quite rare. |
After setting [stay on top of other windows], when switching to other software, the clock's always-on-top function becomes ineffective.
设置窗口在最前时
![image](https://private-user-images.githubusercontent.com/53257388/369746998-2cf9ddbe-c1e9-4e64-bc15-20541dbdd991.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDEzNjQsIm5iZiI6MTczOTAwMTA2NCwicGF0aCI6Ii81MzI1NzM4OC8zNjk3NDY5OTgtMmNmOWRkYmUtYzFlOS00ZTY0LWJjMTUtMjA1NDFkYmRkOTkxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA3NTEwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWFhNGE4NGI1YzE3Mzg3ZTRlODRlM2UyMzdmMWEwZjk4ODAwMjBiNjRjMDdjYzQyODVkMzlkOTkxYzYwMWNkYzImWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.Ft2QmKsi_qqC71-UdeA56aji4lvLXPxL1MsnGUXblz8)
切换其它软件时
![image](https://private-user-images.githubusercontent.com/53257388/369747049-62c2cad9-c525-4785-a2ae-46738031cf48.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkwMDEzNjQsIm5iZiI6MTczOTAwMTA2NCwicGF0aCI6Ii81MzI1NzM4OC8zNjk3NDcwNDktNjJjMmNhZDktYzUyNS00Nzg1LWEyYWUtNDY3MzgwMzFjZjQ4LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDglMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA4VDA3NTEwNFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWVhNzUwMjI2M2ExMDI4M2FiMGRiOTMwN2JkNGQyYWM1NWUxYmUwMGVjZThkNDAxOGNmMmE0MzJhNDVmMWI4YTgmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.f7kN2r6MKqejFv4Q7O4EnmG6KYfgS5RaYzKCJsd974Y)
The text was updated successfully, but these errors were encountered: