It is currently May 17th, 2024, 3:56 am

Changing themes depending on the resolution!?

Get help with creating, editing & fixing problems with skins
PromE
Posts: 1
Joined: November 5th, 2012, 12:28 pm

Changing themes depending on the resolution!?

Post by PromE »

Hello,
I have multiple monitors with diffrent resolutions an would like to change my themes depending on the resolution. Is that even possible? I have found this: http://rainmeter.net/forum/viewtopic.php?f=7&t=519. It's an interesting project about swaping a colour depending on the resolution but I don't know how to execute a theme.
I hope you can help me. Or is there maybe an easier solution for my problem?
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Changing themes depending on the resolution!?

Post by eclectic-tech »

Basically the answer is 'no', native rainmeter cannot detect resolution changes. There is an addon 'RainRez' that can control single layouts and change them if the rez changes, but it will not work with multiple monitors.

I would suggest looking at 3-party software like MultiMonitorTool, that should be able to help.
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Changing themes depending on the resolution!?

Post by Kaelri »

Rainmeter can, in fact, measure the resolutions of the current monitor, primary monitor, a specific numbered monitor, or the entire virtual screen, using these built-in variables. Here's a simple "skin" that will load a few different layouts when the current monitor's resolution changes to certain predefined dimensions:

Code: Select all

[Rainmeter]

[Variables]
; Don't change these:
StartingWidth=#SCREENAREAWIDTH#
StartingHeight=#SCREENAREAHEIGHT#

; Do change these:
Layout1=illustro default
Width1=1366
Height1=768

Layout2=Enigma Basic
Width2=1600
Height2=1200

[DetectResolutionChange]
Measure=Calc
Formula=(#SCREENAREAWIDTH# <> #StartingWidth#) || (#SCREENAREAHEIGHT# <> #StartingHeight#)
IfEqualValue=1
IfEqualAction=[!EnableMeasureGroup "DetectLayouts"][!UpdateMeasureGroup "DetectLayouts"]
DynamicVariables=1

[DetectLayout1]
Measure=Calc
Formula=(#SCREENAREAWIDTH# = #Width1#) && (#SCREENAREAHEIGHT# = #Height1#)
IfEqualValue=1
IfEqualAction=!LoadLayout "#Layout1#"
Group=DetectLayouts
DynamicVariables=1
Disabled=1

[DetectLayout2]
Measure=Calc
Formula=(#SCREENAREAWIDTH# = #Width2#) && (#SCREENAREAHEIGHT# = #Height2#)
IfEqualValue=1
IfEqualAction=!LoadLayout "#Layout2#"
Group=DetectLayouts
DynamicVariables=1
Disabled=1

[Meter]
Meter=String
; This is just a dummy meter that will allow the skin to load.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Changing themes depending on the resolution!?

Post by eclectic-tech »

I understand changing a layout based on the resolution is possible as you showed, but can you run 2 different layouts, at the same time, on 2 or more monitors? Or would you need to setup both using the Settings>Position>Display monitor to select where the skins would show... and save that as a layout?

I did not think it was possible to have more than 1 layout at a time, but I would be happy to be corrected if it is possible...

Thanks for any clarification!
User avatar
jsmorley
Developer
Posts: 22633
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Changing themes depending on the resolution!?

Post by jsmorley »

You cannot load (run) two different layouts at the same time. You would need to build some series of combinations of monitor resolutions. Screen 1 is at some res and screen 2 is at some res, which would equal a particular layout you want to load.
User avatar
eclectic-tech
Rainmeter Sage
Posts: 5407
Joined: April 12th, 2012, 9:40 pm
Location: Cedar Point, Ohio, USA

Re: Changing themes depending on the resolution!?

Post by eclectic-tech »

jsmorley wrote:You cannot load (run) two different layouts at the same time. You would need to build some series of combinations of monitor resolutions. Screen 1 is at some res and screen 2 is at some res, which would equal a particular layout you want to load.
That's why I suggested the other software (which can show multiple layouts on multiple monitors, according to software description and several other posts).

Thanks for that info JS...
Hopefully, I am not getting as senile, as quickly, as I thought... (I think? Or I hope not! :) )...

Thanks again