I've learned a lot of things on this forum, so, let me to make a small contribution too
The major point of these tricks is to make code "shorter" + to decreasing number of measures and other stuff in skin, So lets begin.
Note: These tricks only works on latest beta r848!
1. A simple mathematical functions (about all available functions and operators you can read here )
addition
LeftMouseUpAction=!SetVariable a (#a#+1)
subtraction
LeftMouseUpAction=!SetVariable a (#a#-1)
multiplication
LeftMouseUpAction=!SetVariable a (#a#*2)
division
LeftMouseUpAction=!SetVariable a (#a#/2)
and so on...
1.1 Example
Code: Select all
[Variables]
a=100
[ExampleMeter]
Meter=Image
X=20
Y=0
W=100
H=#a#
SolidColor=128,128,128
AntiAlias=1
DynamicVariables=1
[ButtonPlus]
Meter=String
X=-20r
Y=r
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=10
FontFace=Webdings
Text="5"
AntiAlias=1
LeftMouseUpAction=!SetVariable a (#a#+5)
DynamicVariables=1
[ButtonMinus]
Meter=String
X=r
Y=15r
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=10
FontFace=Webdings
Text="6"
AntiAlias=1
LeftMouseUpAction=!SetVariable a (#a#-5)
DynamicVariables=1
!SetVariable a ((#a#+1)%#b#=0?#b#:(#a#+1)%#b#)
,where b is maximum value
2.1 Example
Code: Select all
[Variables]
a=1
b=3
[WebMeasure]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=http://rainmeter.net/forum/feed.php
RegExp="(?siU)</title>.*<title .*><(.*)></title>.*<title .*><(.*)></title>.*<title .*><(.*)></title>"
UpdateRate=800
[TestMaesure1]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=[WebMeasure]
StringIndex=1
Substitute="![CDATA[":"","]]":""
[TestMaesure2]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=[WebMeasure]
StringIndex=2
Substitute="![CDATA[":"","]]":""
[TestMaesure3]
Measure=Plugin
Plugin=Plugins\WebParser.dll
Url=[WebMeasure]
StringIndex=3
Substitute="![CDATA[":"","]]":""
[ExampleMeter]
Meter=String
MeasureName=TestMaesure1
MeasureName2=TestMaesure2
MeasureName3=TestMaesure3
X=0
Y=0
W=200
H=18
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=9
FontFace=Arial
Text="%#a#"
AntiAlias=1
DynamicVariables=1
[ButtonNext]
Meter=String
X=40r
Y=20r
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=12
FontFace=Webdings
Text="4"
AntiAlias=1
LeftMouseUpAction=!SetVariable a ((#a#+1)%#b#=0?#b#:(#a#+1)%#b#)
DynamicVariables=1
!SetVariable a (TRUNC((COS(#a#))))
3.1 Example
Code: Select all
[Variables]
a=1
[ExampleMeter]
Meter=String
X=20
Y=0
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=9
FontFace=Arial
Text="Toggling Anti-aliasing"
AntiAlias=#a#
DynamicVariables=1
[ButtonToggle]
Meter=String
X=-20r
Y=1r
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=10
FontFace=Webdings
Text="="
AntiAlias=1
LeftMouseUpAction=!SetVariable a (TRUNC((COS(#a#))))
DynamicVariables=1
In this case we need two !setvariable bangs
[!SetVariable r (#r#+10)][!SetVariable grad ((#r#/(180/PI)))]
4.1 Example
Code: Select all
[Variables]
r=90
; Angle in degrees
grad=1.57075
; Start state of angle
[ExampleMeter]
Meter=String
X=100
Y=100
W=190
H=14
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=9
FontFace=Arial
Text="I'm a Text"
AntiAlias=1
Angle=#grad#
DynamicVariables=1
[RotateButton]
Meter=String
X=40r
Y=40r
W=190
H=14
StringAlign=Left
StringStyle=BOLD
StringEffect=SHADOW
FontColor=255,255,255
FontSize=9
FontFace=Arial
Text="Rotate me!"
AntiAlias=1
DynamicVariables=1
LeftMouseUpAction=!execute [!SetVariable r (#r#+10)][!SetVariable grad ((#r#/(180/PI)))]