It is currently May 4th, 2024, 3:51 am

Referencing Meter Coordinates

Get help with creating, editing & fixing problems with skins
Nnehl
Posts: 4
Joined: September 6th, 2011, 1:57 am

Referencing Meter Coordinates

Post by Nnehl »

Hello everyone! I've just recently decided to make a skin in rainmeter and have a quick question.

Is there a method of referencing a meter's WindowX/WindowY values to determine another meter's position? I know one may use variables though I have many meters that need this reference so it wouldn't be a very efficient route. Also, I intend to use this on unique meters across 2 monitors, thus combining the meters and using the 'R' and 'r' methods won't work.

As an example:

[skin\RAMUsage]
WindowX=[skin\CPUUsage.WindowX] + 300

I wish to do this to make customization easier as the skin's aesthetic relies upon this relative positioning.
Thanks!
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Referencing Meter Coordinates

Post by Kaelri »

I'm a little confused, because you seem to be using the same word, "meters," to refer to both skins (which are independent widgets) and actual meters (which are elements within skins). A meter, for example, does not have a WindowX or WindowY value. And a skin cannot have "r" and "R" positions.

So, to clarify: are you trying to get the position of a skin or a meter?
Nnehl
Posts: 4
Joined: September 6th, 2011, 1:57 am

Re: Referencing Meter Coordinates

Post by Nnehl »

My apologies for the dicey terminology, I am quite new to this!

If I understand correctly, I'd like to reference the WindowX/WindowY values of a skin.
User avatar
jsmorley
Developer
Posts: 22631
Joined: April 19th, 2009, 11:02 pm
Location: Fort Hunt, Virginia, USA

Re: Referencing Meter Coordinates

Post by jsmorley »

#CURRENTCONFIGX#
#CURRENTCONFIGY#

Are built-in variables that return those values.
Nnehl
Posts: 4
Joined: September 6th, 2011, 1:57 am

Re: Referencing Meter Coordinates

Post by Nnehl »

Thank you very much.
I must say, the more I learn about Rainmeter, the more I realize how robust it's functions are. It is very well designed. :D

EDIT: I've hit a snag. I'm using CURRENTCONFIGX/Y to determine the position of 2 separate meters within 1 skin. I'd like one positioned on Monitor 1, and the other on monitor 2. It seems this isn't possible as when I do this they maintain the correct positioning, but automatically snap to a single screen. Is there any way to do this in a single skin?
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Referencing Meter Coordinates

Post by Kaelri »

I suspect splitting your skin in two will be much easier than any other workaround. If you're concerned about having different parts of the skin still be able to work together, you should know that almost all skin-related bang commands can be sent to other skins, by adding the target config name (e.g. "skin\CPUUsage") at the end of the command. You'll need to duplicate any measures and variables used by meters on both sides, but in general, Rainmeter skins split pretty cleanly.
Nnehl
Posts: 4
Joined: September 6th, 2011, 1:57 am

Re: Referencing Meter Coordinates

Post by Nnehl »

Thanks for the response Kaelri. I have done what you prescribed, but the skin just isn't responding to the Bang.

Within RAMUsage\Skin.ini:

[Rainmeter]
AppVersion=1003000
Update=1000
LeftMouseUpAction=!Execute [!Move 100 100 "skin\CPUUsage"][!Refresh]

Is this correct?
User avatar
AlC
Posts: 329
Joined: June 9th, 2011, 6:46 pm

Re: Referencing Meter Coordinates

Post by AlC »

try:

LeftMouseUpAction=!Execute [!Move 100 100 CPUUsage][!Update]

When CPUUsage is in the default skinfolder, and is not a subfolder like "#SKINSPATH#MyTestSkin\CPUArea\CPUUsage\Skin.ini
In this case you should use:

LeftMouseUpAction=!Execute [!Move 100 100 MyTestSkin\CPUArea\CPUUsage][!Update]
Rainmeter - You are only limited by your imagination and creativity.
User avatar
Kaelri
Developer
Posts: 1721
Joined: July 25th, 2009, 4:47 am

Re: Referencing Meter Coordinates

Post by Kaelri »

Also, are you using 2.0 or 2.1 Beta? If you're using 2.0, you'll need to add the "!Rainmeter" prefix to your bangs, as in "!RainmeterMove" and "!RainmeterRefresh".
poiru
Developer
Posts: 2872
Joined: April 17th, 2009, 12:18 pm

Re: Referencing Meter Coordinates

Post by poiru »

Nnehl wrote:[Rainmeter]
AppVersion=1003000
Update=1000
LeftMouseUpAction=!Execute [!Move 100 100 "skin\CPUUsage"][!Refresh]

Is this correct?
LeftMouseUpAction under the [Rainmeter] section works only if you are clicking on an area without any other actions defined (i.e. an area without meters with mouse actions). If you are certain that you do not have LeftMouseUpAction defined in a meter, is the skin actually located in the Rainmeter\Skins\skin\CPUUsage folder? If not, right-click on the skin. The first entry (in bold) is what you want to use instead of "skin\CPUUsage".
AlC wrote:LeftMouseUpAction=!Execute [!Move 100 100 CPUUsage][!Update]
Neither !Update nor !Refresh is required in this case (and even they were, you would have to use "!Update CPUUsage" to refresh/update the correct skin :)).