Quantcast
Channel: Rainmeter Forums
Viewing all articles
Browse latest Browse all 1065

Bugs & Feature Suggestions • Re: [Bug] Skin position is not updated on changing monitor configuration

$
0
0
I have a two monitor setup, with Rainmeter skins placed on my secondary monitor on the left. When I disable secondary monitor, all skins from it move to the main monitor (which is expected behavior).

However, when I enable secondary monitor again, skins stay on the main monitor until I click "Refresh all skins" from the Rainmeter's tray icon context menu. It would be much more intuitive if they all automatically refreshed whenever new monitor is added or removed (I do it by changing the share screen mode with Win+P shortcut).
While I agree with your stance since I also need to "manually" refresh all skins to restore my desktop work area settings, this behavior has a reason. Refreshing all skins can be a resource intensive operation given that all skin folders are re-read from the disk in that moment.

That being said, when changes in the screen properties occur, some messages are written and displayed in the About > Log tab, so one way of dealing with this and automatically refresh all skins would be to enable writing the log to a file, use a WebParser measure to parse that log file from the skin, then, when such a message occurs as the last line in the log, execute a !RefreshApp bang to refresh all skins:
https://docs.rainmeter.net/manual/bangs/#RefreshApp

There are a couple of issues with the above approach though:
- writing the log to a file is required, which is a bit expensive
- periodically reading the file say each second is expensive too
- those log messages are generic and not that detailed
- those log messages can occur multiple times for the same change
- again, refreshing all skins is expensive, but the changes can occur quickly

Another way of tackling this, which would only work in your specific scenario, could be to use an AutoIt / AutoHotKey script to detect when Win+P is pressed, then run Rainmeter with the !RefreshApp bang.

Obviously, the best way of handling this would be for Rainmeter to automatically perform both the detection of such a change and the action to restore its relevant settings when that happens, but then I can't speak for the developers on this.

On my side, I also posted a similar suggestion a while back:
https://forum.rainmeter.net/viewtopic.php?t=43474
which contains yet another way to approach similar issues by periodically checking the values of the built-in monitor variables and when a change is detected, execute the !RefreshApp bang.

Statistics: Posted by Yincognito — Today, 2:17 pm



Viewing all articles
Browse latest Browse all 1065

Trending Articles