It is currently April 27th, 2024, 11:02 pm

[SUGGESTION] Changing Display Monitor should temporarily execute DynamicWindowSize

Report bugs with the Rainmeter application and suggest features.
User avatar
Jeff
Posts: 332
Joined: September 3rd, 2018, 11:18 am

[SUGGESTION] Changing Display Monitor should temporarily execute DynamicWindowSize

Post by Jeff »

https://i.imgur.com/sxqpyJW.mp4
Video example of my testing ground

As the title size, right now when you change the display monitor of a skin, while the Display Variables work fine, the Window Size dosen't change, leaving to some strange effects. While not a problem as the user (or skin author) can just refresh the skin to fix the anomalies, for Auto-Select, at least going from a skin loaded on a smaller monitor to a bigger one shows an unintended illusion that dosen't happen if you do the same steps in reverse.
To at least fix the problem or cause less confusion, when Rainmeter detects the skin has changed monitor, as an exception from the rule, the skin's Window Size should redraw. I don't know how to do this correctly, if behind the scenes a single !Redraw just needs to be triggered, it might lead to some cases where an unintended !Redraw that was stored for later gets executed when the skin author dosen't want to.
I feel like this may be a big ask though since there are big skins (only Droptop comes to mind) that rely on the Display Monitor feature and could maybe use or have used this unintended effect as is.
It also seems Rainmeter can get which monitor it's on based off the top left corner I think, which is cool, but it seems jsmorley already did the math for it in Lua, so I'm not gonna suggest a variable :v

The code below is just the skin from the video, shared in case of anything

Code: Select all

[Rainmeter]
Update=20
BackgroundMode=2
SolidColor=255,0,0,127
[OhTheChristmasSpiritIsComing]
Meter=Image
ImageName=untitled-27.png
W=500
H=#ScreenAreaHeight#
DynamicVariables=1