It is currently September 7th, 2024, 11:44 pm

Hot Corners skin for Rainmeter

Skins that control functions in Windows or Rainmeter
emvaized
Posts: 10
Joined: September 2nd, 2023, 7:33 pm

Hot Corners skin for Rainmeter

Post by emvaized »

I created a simple Rainmeter skin which implements hot corners functionality on Windows — the same as in MacOS or Linux.

First of all, what's the purpose? There's plenty of standalone Hot corners utility on Windows, such as WinXCorners. But when I explored their source code I figured out they implement hot corners functionality by constantly listening and checking for mouse cursor position. It means, whenever you casually move your mouse on screen, these utilities run dozens or hunders of checks per second to find out if cursor is currently in the corner or not.

There's also few Autohotkey scripts, which are even worse in this regard — they run timers periodically every few milliseconds, which means they do such checks even when you're not moving the cursor at all. I believe modern computers are powerful enough to handle such excessive calculations, but it still might impact performance, battery life and input delay.

This is how I came up with idea of this HotCorners skin, which is devoid of all this disadvantage. All it does is simply shows small overlays in each corner, and runs VBS scripts once they get hovered with mouse cursor. Theoretically it should lead to zero impact on performance and battery life.

Also, idea of implementing hot corners in Rainmeter has other advantages. It means one less program in your system tray, one less program on startup, etc. It will also follow Rainmeter's game mode, so one less program to handle in-game behavior and to manage blacklists.

Skin includes few VBS scripts for most common actions, which I found in Google. You could edit them to fit your needs with any text editor, or use your own VBS scripts.

To edit corners change HotCorners.ini file. I disabled top-right corner by default, as it iterfers with window close button — to enable remove semicolor (;) before [TopRightCorner]


Notes:
- Included VBS scripts which send keyboard hotkeys (such as "ShowDesktop" script, which sebds Win+D hotkey) result in NumLock popup notification every time for me on Windows 11. You may like to use Autohotkey scripts instead
- Overlays may get covered by other widgets or overlays, resulting in hot corners not functioning. Make sure to toggle "Keep above" setting in skin's settings, and to not cover skin overlays with any other Rainmeter skin (such as Rounded Screen Corners)
- Enabling this skin seems to result in some programms considering Rainmeter.exe a fullscreen window. Hence, when it gets focused, some apps may think you opened fullscreen app, such as game. For me it resulted in WallpaperEngine pausing playback when I minimize all windows, and Rainmeter window gets focused. Adding Rainmeter to exclusions in WallpaperEngine rules solved the issue. It could also help to disable both hot corners on the right size, or move them to a separate skin file
- I haven't tested it on multi-monitor setup

Please feel free to share your thoughts or any ideas on how to improve skin's functionality.
You do not have the required permissions to view the files attached to this post.
JustMoney1
Posts: 6
Joined: July 26th, 2024, 7:38 pm

Re: Hot Corners skin for Rainmeter

Post by JustMoney1 »

greetings,
i actively have been searching for a windows alternative to hot corners as i have been using them on linux, yours have been the most advanced and useful and i thank you for that. however, i can't write vbs scripts myself, therefore i am asking for your help to write a script that minimizes or maximizes the opened window depending on its state.
i've tried looking for it on google but unfortunately it seems like the only option they have is using third parties.
also, i've noticed that it sometimes doesn't work, it works 7 times out of 10 i'd say with a 1-2 seconds delay.

thanks in advance !
User avatar
ikarus1969
Posts: 588
Joined: February 28th, 2011, 3:20 pm
Location: Vienna, Austria

Re: Hot Corners skin for Rainmeter

Post by ikarus1969 »

Sorry, but no skin requests allowed here; but we're happy to help you in adapting a skin you've began to write, to assist you when special problems arise, but the beginning is up to you.

See also: https://forum.rainmeter.net/viewtopic.php?t=8195
User avatar
Yincognito
Rainmeter Sage
Posts: 8030
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Hot Corners skin for Rainmeter

Post by Yincognito »

JustMoney1 wrote: July 26th, 2024, 7:54 pmtherefore i am asking for your help to write a script that minimizes or maximizes the opened window depending on its state
Take a look here for a simple way to do it, and use the Show Desktop CLSID code, like in the example code immediately below the list:
https://docs.rainmeter.net/tips/launching-windows-special-folders/#WindowsShellCommands
Obviously, the code is just an example, it can be adjusted and you can do this on hover or whatever other (mouse or not) action you want.

Like ikarus1969 mentioned, the code of your skin is up to you, but we can help if you encounter difficulties. ;-)
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
JustMoney1
Posts: 6
Joined: July 26th, 2024, 7:38 pm

Re: Hot Corners skin for Rainmeter

Post by JustMoney1 »

Yincognito wrote: July 27th, 2024, 10:19 pm Take a look here for a simple way to do it, and use the Show Desktop CLSID code, like in the example code immediately below the list:
https://docs.rainmeter.net/tips/launching-windows-special-folders/#WindowsShellCommands
Obviously, the code is just an example, it can be adjusted and you can do this on hover or whatever other (mouse or not) action you want.

Like ikarus1969 mentioned, the code of your skin is up to you, but we can help if you encounter difficulties. ;-)
Thank you ! I will look into it but I've encountered another issue, when the skin is loaded, the taskbar doesn't come up when hovered on if it is set to be automatically hidden in settings, which is a real issue for me because both of these features are essential to me.
JustMoney1
Posts: 6
Joined: July 26th, 2024, 7:38 pm

Re: Hot Corners skin for Rainmeter

Post by JustMoney1 »

I wonder if there are any workarounds to get the taskbar to work properly while the skin is loaded or is there another hotcorners alternative out there as good as that one.
User avatar
Yincognito
Rainmeter Sage
Posts: 8030
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Hot Corners skin for Rainmeter

Post by Yincognito »

JustMoney1 wrote: August 4th, 2024, 5:30 am Thank you ! I will look into it but I've encountered another issue, when the skin is loaded, the taskbar doesn't come up when hovered on if it is set to be automatically hidden in settings, which is a real issue for me because both of these features are essential to me.
This might be related to the second to last point from the notes in the OP, if Windows sees the skin as a full screen application. You could try adjusting the bottom rectangle Shapes' coordinates and / or size in HotCorners.ini and see if that makes a difference, for example using the work area variables instead of the screen area ones (not sure whether the autohidden taskbar changes the size of the 'screen' area or not):
https://docs.rainmeter.net/manual/variables/built-in-variables/#MonitorVariables

Generally speaking, the taskbar wouldn't act as it should on hover if it was 'covered' by some other window (possibly the skin in this case). Either this or the skin size could be the culprit for what you experience.

Additional references, that deal with most of the skin code:
https://docs.rainmeter.net/manual/meters/shape/#Rectangle
https://docs.rainmeter.net/manual/mouse-actions/
https://docs.rainmeter.net/manual/bangs/#MouseAction
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5502
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Hot Corners skin for Rainmeter

Post by eclectic-tech »

JustMoney1 wrote: August 4th, 2024, 5:32 am I wonder if there are any workarounds to get the taskbar to work properly while the skin is loaded or is there another hotcorners alternative out there as good as that one.
Try this version... Hot_Korners
  • Separate skins for each corner (should eliminate the full screen & taskbar issues)
  • Load all 4 corners
  • Option to load only desired corners
  • Unified user variables
  • Added actions to User variables
  • Modified code for positioning and updating
  • Middle-click corner skins to open user variables in editor
Hot Korners_1.2024.08.04.rmskin
You do not have the required permissions to view the files attached to this post.
User avatar
Yincognito
Rainmeter Sage
Posts: 8030
Joined: February 27th, 2015, 2:38 pm
Location: Terra Yincognita

Re: Hot Corners skin for Rainmeter

Post by Yincognito »

eclectic-tech wrote: August 4th, 2024, 4:40 pm Try this version... Hot_Korners
Well done! :thumbup:

Unfortunately, just like in my single version I was about to post (reduced 1 px from the bottom to avoid the 'full screen' skin overlapping the taskbar, corrected the .vbs files to consistently refer to an 'objShell' variable), in your version too, after the 'honeymoon' is over, the "Show Desktop" action stops working until refreshing the skin again (and even then, it only works one or two times before failing) - this is on Win 10 AND with the Taskbar shown, by the way.

I think the only reliable choice is to use LeftMouseUpAction=["#@#ShowDesktop.vbs"] (instead of the hover and leave system) in this case, which seems to work most of the times, IF you let Windows 1 or 2 seconds to draw the desktop before clicking again. Basically, whatever choice you use for showing / toggling the desktop (the .vbs or the CLSID above), you MUST wait sufficiently before triggering the action again. :confused:

Obviously, this is nobody's fault. It probably occurs because the skin and the taskbar quickly override / overlap each other when showing the desktop.
Profiles: Rainmeter ProfileDeviantArt ProfileSuites: MYiniMeterSkins: Earth
JustMoney1
Posts: 6
Joined: July 26th, 2024, 7:38 pm

Re: Hot Corners skin for Rainmeter

Post by JustMoney1 »

Yincognito wrote: August 4th, 2024, 10:12 am This might be related to the second to last point from the notes in the OP, if Windows sees the skin as a full screen application. You could try adjusting the bottom rectangle Shapes' coordinates and / or size in HotCorners.ini and see if that makes a difference, for example using the work area variables instead of the screen area ones (not sure whether the autohidden taskbar changes the size of the 'screen' area or not):
https://docs.rainmeter.net/manual/variables/built-in-variables/#MonitorVariables

Generally speaking, the taskbar wouldn't act as it should on hover if it was 'covered' by some other window (possibly the skin in this case). Either this or the skin size could be the culprit for what you experience.

Additional references, that deal with most of the skin code:
https://docs.rainmeter.net/manual/meters/shape/#Rectangle
https://docs.rainmeter.net/manual/mouse-actions/
https://docs.rainmeter.net/manual/bangs/#MouseAction
Thank you!!
To be honest, I am not a programmer and do not know how to code, I just know the basics and the necessary knowledge for an outsider but I will try, using the links kindly provided by you, to educate myself on the matter and try to resolve the issue.
I will keep you updated on how it's going.