Kolano wrote: ↑January 20th, 2024, 4:18 pm
Chiming in again after further ongoing frustration with this. I can't work out any set of settings that keep widgets on their assigned screens and positioned correctly therein.
I have each widget:
-Settings > Position > Display Monitor > Assigned to a particular monitor
-Settings > Position > Normal rather than Keep on Desktop
-Settings > Position > From Right
-Settings > Keep on screen disabled
Code: Select all
[Kolano\RAM]
Active=1
WindowX=-250R@2
WindowY=-828@2
ClickThrough=0
Draggable=1
SnapEdges=1
KeepOnScreen=0
AlwaysOnTop=0
AutoSelectScreen=0
But still nearly every time I power monitors on and off widgets reposition inappropriately frequently completely offscreen.
I've also tried the RainRez tool, but that doesn't seem to work out at it seems to rely on Rainmeter layouts to reposition things correctly and those also seem to fail to work here. I'll save a layout, cycle the monitors, find widgets re-positioned seemingly randomly, load the layout and they remain in the new random locations.
It's so frustrating to wake up each day needing to drag widgets around to get them to their appropriate positions.
Unfortunately, I don't have a multi monitor setup so I can't test any of this, but I'm sure that a solution exists. Logically, what happens seems normal, since when you power off a monitor, those coordinates where you had your skin wouldn't exist anymore (well, they would, but would be off screen, as you noticed) and Rainmeter probably either keeps them in the same place (thus, an invalid position when the monitor is off) or repositions them to adapt to the new situation (thus, repositioning in ways you don't want).
If it were me, I would try to find a way to detect when a monitor is on or off, then have the skins react dynamically to that, via some appropriate
skin bangs (e.g. unload or hide skin if the monitor it is on is off, and do the reverse as well as restoring positions if it's on). I would make some very simple skins that provide all
monitor variable values or some other registry values of interest that could help in identifying when monitors change their state and figure out the best way to foresee that change, then implement the reaction to that in the skins accordingly. Obviously, since those test skins can go off screen at times, I would watch the
About > Skins tab instead in order to look for changes that could tell me that the monitors' state has changed as well. So, from my point of view, the only question here would be what value that can be provided by Rainmeter to look for when reacting to the change of state for monitors - once you know that, the rest should be trivial.
Some searches related to the subject - it doesn't look like there are many reliable ways to detect that, and some answers seems to indicate that Windows itself is sometimes confused in that regard too:
https://superuser.com/questions/1748460/are-windows-programs-able-to-detect-that-my-screen-is-off-and-change-their-behav
https://superuser.com/questions/1529655/windows-check-if-the-monitor-is-powered-on-or-off-check-with-software
https://stackoverflow.com/questions/203355/is-there-any-way-to-detect-the-monitor-state-in-windows-on-or-off
So, I suppose your best bet is to hope that examining Rainmeter's monitor variables alone can be a good enough indicator of that.