Commit Graph

17 Commits

Author SHA1 Message Date
Kimmo Pekkola
8eccc8ddec Got rid of the "Not a meter or measure" error.
The handling of the MeterStyle is now done in the CConfigParser.
2009-09-04 17:40:02 +00:00
Kimmo Pekkola
4bf4e51126 Reverted the changes from r209. 2009-09-04 16:37:51 +00:00
jsmorley
8239919333 Added MeterStyle functionality:
Rainy, given the "issues" listed at the bottom of this comment, I leave it to you whether to create a build using this revision or use r208 for the build.  I would like to start testing MeterStyle, but there are a few more things it needs work on.

What is MeterStyle?

MeterStyle
This will allow users to create CSS-like "Styles" for meters. This means that all the parameters of a meter can be defined in the style, and then many meters can use the style to eliminate copy / pasting the same parameters over and over on multiple meters. (Examples: FontColor=, FontSize= etc.)

How do I use it?

You will create a new [Section] (as many as you want) in the .ini. The section(s) can have any name.

[MyStringStyle]

Then you will tell Rainmeter that this is a "MeterStyle" and not a measure or meter

Style=Meter

Note: The "value" of the key "Style" can be anything. It can be used to add a description of the style if you like. Style=This style is for the AccuWeather part of this skin
It is however required, both to tell Rainmeter it is not a meter or measure and to have the MeterStyle routines parse it.

Then you define parameters you want to use in the style

FontColor=#FontColor#
FontFace=TheSansBold-Caps
FontSize=11
StringEffect=SHADOW
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1

Then in any or all meters, you just use

[MeterName]
Meter=STRING (or any other meter type)
MeterStyle=MyStringStyle

None of the parameters in the style are then required to be actually in the meter(s). They are "inherited" from the MeterStyle.

Note: This works and has had preliminary testing with dynamic variables like FontColor=[MeasureName] and regular variables like FontColor=#FontColor#. It doesn't matter if the [Variables] section or the [MeasureName] measure is before or after the [StyleName] in the .ini file.

What if I want to override a MeterStyle parameter on a meter?

Sure. Just put in any parameter with a value different from the one defined in the MeterStyle and the one in the meter will take presidence. All non-defined parameters will still use the MeterStyle value.

[MeterName]
Meter=STRING
MeterStyle=MyStringStyle
FontColor=100,100,100,50

What are these "known issues" you are on about?

This is still a bit of a work in progress. Right now you cannot define X or Y in a style. You can define W and H, but NOT for a STRING meter. You cannot define a "Transformation Matrix" in a style. MattKing will be looking into these tomorrow. W and H in a string meter is our top priority. We will also look at X and Y and hope for an easy solution. Transformation Matrix may have to come later.
2009-09-04 14:48:28 +00:00
Kimmo Pekkola
9b949a12e0 Fixed: Rainmeter drops commands in !Execute series that are too long. (http://code.google.com/p/rainmeter/issues/detail?id=103) 2009-09-02 18:05:07 +00:00
Kimmo Pekkola
9fcd6896de Added NULL checks for the CConfigParser::ReadString()'s parameters (http://code.google.com/p/rainmeter/issues/detail?id=105).
The font and registry handle are now free'ed properly if Initialize() is called multiple times.
2009-09-02 17:04:47 +00:00
Kimmo Pekkola
c09ff5cf61 Using variables in other variables should work again.
Increased the number of decimals used in dynamic measures from 1 to 5.
2009-08-27 16:04:06 +00:00
Kimmo Pekkola
f5f257a595 Previous beta changed everything to be case sensitive. Fixed. 2009-08-27 15:42:24 +00:00
Kimmo Pekkola
ffdec7be65 Some of the plugins don't work with the dynamic variables so the feature is now disabled for them. 2009-08-26 19:29:49 +00:00
Kimmo Pekkola
dc3c767efa It's now possible to use the measures as if they were variables (use [MeasureName] instead #VariableName#). Set DynamicVariables=1 for all meters and measures which refer to other measures.
New bang !RainmeterSetVariable can be used to change the value of a variable (DynamicVariables must be 1 in places where the variable is used).
2009-08-26 17:37:15 +00:00
Kimmo Pekkola
122fb8f90f Variables can be used under the [Variables] section (as long as they have been defined before the current variable is read). 2009-08-12 17:26:34 +00:00
Kimmo Pekkola
b6954bcdd0 Added #WORKAREAX# and #WORKAREAY# build-in variables. 2009-08-01 15:38:03 +00:00
Kimmo Pekkola
14648a2974 The WORKAREAHEIGHT wasn't calculated correctly. Fixed. 2009-08-01 11:46:15 +00:00
Kimmo Pekkola
7440667743 New build-in variables: #WORKAREAWIDTH#, #WORKAREAHEIGHT#, #SCREENAREAWIDTH#, #SCREENAREAHEIGHT#
Added support for math formulas for the X, Y, W, H, WindowX and WindowY (e.g. "WindowX=(#WORKAREAWIDTH# / 2)"). The formula must be surrounded by parenthesis.
2009-07-30 15:19:47 +00:00
Kimmo Pekkola
dd9ab1dc04 Added support for transformation matrix in meters. 2009-07-27 11:48:57 +00:00
Kimmo Pekkola
bded6e6fc7 New build in variables: #PROGRAMPATH#, #SETTINGSPATH#, #SKINSPATH#, #PLUGINSPATH#, #ADDONSPATH# and #CURRENTPATH# (this is the path where the ini file that is currently read is located).
If there is a file called Default.ini in the program folder it will be used as the default settings file for new users.
The location of the settings file (rainmeter.ini) can be defined as a command line argument.
2009-07-26 21:08:46 +00:00
Kimmo Pekkola
5d2f960552 Code cleanup. 2009-02-14 10:11:28 +00:00
Kimmo Pekkola
30edc895f2 2009-02-10 18:37:48 +00:00