皮肤配置文件的编写方法
申明:本文件仅用于站内交流,严禁转载!皮肤配置文件的编写方法
皮肤配置文件(.ini文件)被分为四个部分:
放置一般设定。
存放变量。
实际测量值。
实际测量值在屏幕的表现方式。
Background=255, 0, 255
——背景,可用BMP,JPG和PNG(带透明)图片! 255, 0, 255表示透明,默认透明。
BackgroundMode=1
——背景模式,0-Background定义的图片。,1-透明,2-纯色,3-缩放的图片。默认1
BackgroundMargins=10,10,10,10
——定义背景图像的边缘,在BackgroundMode=3的时候也不会被缩放。
SolidColor=FFFF0080
SolidColor2=FF00FF40
——如果BackgroundMode设置为2的时候,此项定义背景色及第二渐变颜色。
GradientAngle=
——如果Background模式设置为2的时候,此项定义颜色梯度(颜色渐变)的角度。角度以弧度制定义。
BevelType=0
——此项描述的是纯背景颜色周围的斜缘边。0=无,1=凸起,2=凹陷。
Update=1000
——Meters的更新时间,单位是毫秒,默认是1000即1秒。
TransitionUpdate=100
——meter的过渡时间,默认是100
DynamicWindowSize=0
——如果设置成1,窗口会在每次更新时进行大小重新计算,必要情况下会自动缩放窗口大小。
DragMargins=
——定义窗口不允许被拖动的区域。需要定义4个值并以逗号分隔。这个值定义的是不允许拖动的区域。负值是从对边开始计算的。
KeepOnScreen=0
——设置成1则窗口始终保持在监视器的范围之内。(建议玩全屏降分辨率游戏的用户不要开启此项选项,这样会导致退出游戏后插件移位)
Author=AuthorName
——皮肤作者的名字和E-Mail地址。该字符串会显示在关于的对话框内。
AppVersion=1001000
——此插件支持的最低RM引擎版本。如果你认为没必要可以不写。
——Major * 1000000 + Minor1 * 1000 + Minor2. eg: Rainmeter 0.11.4 是 11004 ,Rainmeter 1.0 是 1000000.
LocalFont=#PROGRAMPATH#Fonts\Digitle.ttf
——LocalFont2=FilenameOfFont.ttf | .otf
——自定义字体文件位置,在meter中可以通过FontFace=调用字体,1.1版貌似要重启软件才能调用新字体。
CityCode=123456
——在meter中就可以通过"url=http://www.weather.com/#CityCode#.html"调用。
以下是内置变量:
#PROGRAMPATH#
——Rainmeter软件所在目录 (eg: C:\Program Files\Rainmeter\).
#SETTINGSPATH#
——Rainmeter设置文件Rainmeter.ini所在目录(eg: C:\Documents and Settings\{yourname}\Application Data\Rainmeter\)
#SKINSPATH#
——Rainmeter的皮肤所在目录(eg: C:\Documents and Settings\{yourname}\My Documents\Rainmeter\Skins\)
#PLUGINSPATH#
——Rainmeter的插件所在目录(eg: C:\Program Files\Rainmeter\Plugins\)
#ADDONSPATH#
——Rainmeter的扩展程序所在目录(C:\Program Files\Rainmeter\Addons\)
#CURRENTPATH#
——某个皮肤(.ini文件)所在的目录
#CURRENTCONFIG#
——rainmeter中显示的皮肤名称 (eg: Enigma\Sidebar)
#WORKAREAX#
——皮肤工作面积的横向坐标
#WORKAREAY#
——皮肤工作面积的纵向坐标
#WORKAREAWIDTH#
——皮肤工作面积的宽
#WORKAREAHEIGHT#
——皮肤工作面积的高
#SCREENAREAWIDTH#
——显示器分辨率的宽
#SCREENAREAHEIGHT#
——显示器分辨率的高
Name=Title | Subtitle
——皮肤名称,副标题
Config=Root Skin Folder | Subfolders | Current Folder
——配置皮肤文件夹结构
Description=Point 1 | Point 2 | Point 3
——皮肤的描述
Instructions=Point 1 | Point 2 | Point 3
——皮肤的指令说明
Version=2.0
——皮肤版本
Tags=Tag 1 | Tag 2 | Tag 3
——标签
License=Creative Commons Attribution-Non-Commercial-Share Alike 3.0
——许可
Variant=1
——变动
Preview=#SKINSPATH#MyConfig\Images\Previews\Preview.png
——皮肤缩略图
Measure=Plugin
这里定义Measures,有效值如下:
CPU
测算CPU负载,如需独立监控各核占用情况开启PerfMon插件。
Memory
测算记忆体总利用率。
PhysicalMemory
测算物理内存分配。
SwapMemory
测算虚拟内存分配。
NetIn
测算网络下载流量。
NetOut
测算网络上载流量。
NetTotal
测算网络总流量。
FreeDiskSpace
测算空闲硬盘总量。
PefMon
测算终端性能数据。
Uptime
显示系统开机后持续的时间,仅在STRING-meter下工作。
Plugin
调用外部插件定义Measures。
Registry
测算注册表值。
Time
测算即时时间和日期。
Calc
计算公式。
InvertMeasure
——如果设置成1,反转测量值。(e.g.将空闲硬体容量反转为目前硬体占用容量)
IfAboveAction
——如果实际测量值超过设定值时执行的命令。这个动作在测定值超越设定值时仅会被执行一次,所以如果要再次执行此动作前测定值需低于设定值。
IfAboveValue
——IfAboveAction的设定值。
IfBelowAction
——如果实际测量值低于设定值时执行的命令。这个动作在测定值低于设定值时仅会被执行一次,所以如果要再次执行此动作前测定值需高于设定值。
IfBelowValue
——IfBelowAction的设定值。
IfEqualAction
——当测量值等于IfEqualValue定义的值时执行的命令。当测量值等于设定值时命令仅执行一次,如果需要再次执行,测量值必须先低于或者高于设定值。值四舍五入到整数。
IfEqualValue
——IfEqualAction的设定值。
Disabled
——如果设置成1,在启动时不进行测量。
UpdateDivider
——此值决定着测量频率。此值于Update值绑定。比如Update=1000&UpdateDivider=30,则没30s测算一次。此项默认值为1。
MaxValue
——测算最大值。
MinValue
——测算最小值。
Substitute
——此项可以替换关键词,必须成对出现并用逗号分隔,注意必须要用引号引出。(e.g.Substitute="cat":"dog"表述的是在测量值中将关键词cat全部替换成dog)
AverageSize
——定义窗口的测量平均取值。(e.g.如果设置成10则将输出最后10次测量的平均值)
CPU
Processor
——设置为1至n,表示第1至n的CPU核心,如果不设或为0则返回所有CPU的平均值。
NetIn
NetInSpeed
——用户网络接入最高速度。该值单位以1bit/s计。如果这个值缺损或者设置为0,这个值将以实际值决定。注意峰值。
TrafficAction
——当下载数据到达一定量时所执行的行为。
TrafficAction
——TrafficAction的设定值。
Interface
——网卡监测数据。如果此处被设置为0(默认值),所有的端口将被加在一起,如果值为1,则记录第一块网卡,2为第二块.etc.。
Cumulative
——如果设置成1,将监测数据累积(i.e.把监测数据加在一起)。这可以用来检测特定周期的交换数据总量。
NetOut NetOutSpeed
——(用户网络输出最高速度) etc.
NetTotal NetTotalSpeed
——(用户网络输入输出最高速度) etc.
FreeDiskSpace
Drive
——检测的具体硬体。(e.g."C:\")
Total
——如果设置成1,则反馈数据显示硬体的总容量。
Label
——如果设置成1,则反馈数据显示驱动器标签。
InvertMeasure
——如果设置为1,这将返回“使用空间”而不是“自由空间”。 此设置并不限于FreeDriveSpace。
IgnoreRemovable
——默认值为1 - 可移动驱动器将被忽略。 如果设置为0,可移动驱动器进行测量。
Plugin
Plugin
——定义实际测量时需用到的插件名。
Registry
RegKey
——注册表项名。
RegHKey
——HKEY名。有效值有:
——HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_CLASSES_ROOT, HKEY_PERFORMANCE_DATA and HKEY_DYN_DATA.
RegValue
——注册表项值名。仅支持字符串和长字符串。
Time
Format
——时间表达格式(e.g.“%H:%M:%S”)。你可以从MSDN找到所有的代码格式。
TimeZone
——时区值(e.g.+2.0).
DaylightSavingTime
——如果设置成1则将开启夏令时(取决于你的本地时间)。这仅在时区TimeZone值被设定的情况下有效。
Calc
Formula
——此项定义计算公式。你可以使用其他的Measures来作为Variables。这里还有一个特殊的变量称之为Counter,它在每次更新后增加。这个变量仅在所有其他的Measures更新完毕后更新。注意配置文件都区分大小写,所有的函数都必须大写(e.g.SIN(10*PI))。
基本运算:
+(加)
-(减)
*(乘)
/(除)
**(幕)
%(余下或模)
&(位与)
|(按位或)
^(按位异或)
~(按位不)
逻辑运算符:
<>(不等于)
=(等于)
>(大于)
<(小于)
&&(逻辑与)
||(逻辑或)
函数:
ATAN(x), ASIN(x), ACOS(x), COS(x), SIN(x), TAN(x) - 标准三角函数
ABS(x) - x绝对值.
EXP(x) - 返回e^x的值.
LN(x) - 返回x的自然对数.
SQRT(x) - x的平方.
SGN(x) - x是正数则返回1, 负数返回-1.
FRAC(x) - 返回小数部分 (eg: FRAC(1.234) = 0.234).
TRUNC(x) - 返回整数部分 (eg:TRUNC(1.234) = 1).
FLOOR(x) - Floor of x.
CEIL(x) - Ceiling of x.
ROUND(x[,precision]) -四舍五入 Rounds x to an integer, or to a specified number of decimal places. Precision is optional.
条件运算符:
<condition> ? <expr. if true.> : <expr. if false.>
表示
if (condition)
then
expr. if true
else
expr. if false
end if
随机函数:
Example:
Measure=Calc
Formula=(Random)
LowBound=5
HighBound=100
——表示返回5-100之间的随机数
UpdateRandom=1
—— 1表示每次循环就刷新随机函数,0表示刷新皮肤才刷新随机函数
——每个meter都去要有一个唯一的名称,并在配置文件中加以定义。命名必须用“[]”符号括起。命名没有特别要求不过不要在一个配置文件中有重复出现,不要在命名中出现空格。
FontColor
FontEffectColor
SolidColor
PrimaryColor
SecondaryColor
BothColor
BarColor
LineColor
HorizontalLineColor
MeasureName
——Meter表述的Measure名称。
X
——窗口内的X坐标,在结尾以加上“r”的形式可以将坐标与前一个meter相关联(e.g. X=5r)。也可以用大写“R”来与前一个Meter的右边缘关联。
Y
——窗口内的Y坐标,在结尾以加上“r”的形式可以将坐标与前一个meter相关联(e.g. Y=-10r)。也可以用大写“R”来与前一个Meter的底部边缘关联。
W
——Meter的宽度。如果你使用可计算出宽度的图片或者字符串表的话可以不需要做定义。如果你使用桌面作为整个RM的背景则需要定义所有插件的长度和宽度,不然窗口的尺寸可能出现计算错误的情况。
H
——Meter的长度。其余同上“W”参数值。
Hidden
——如果设置成1则Meter隐藏。
LeftMouseDownAction
RightMouseDownAction
LeftMouseUpAction
RightMouseUpAction
MouseOverAction
MouseLeaveAction
——这些和全局设定效果相同,但仅应用于特定的Meter。此处的设置权限高于全局设置。
——注意:当窗口被允许拖动的情况下LeftMouseUpAction无效。你需要用DragMargins定义可拖动区域以此来避免Meter的重叠操作。
UpdateDivider
——此值决定Meter的更新间隔。此值与Update值绑定。比如当Update=1000,UpdateDivider=30则Meter每30s更新一次。默认值为1.
SolidColor
——Meter的背景色。
SolidColor2
——第二颜色的背景梯度(颜色渐变的第二颜色)。
GradientAngle
——颜色梯度(颜色渐变)的角度。角度以弧度制定义。
BevelType
——此项描述的是纯背景颜色周围的斜缘边。0=无,1=凸起,2=凹陷。
AntiAlias
——设置为1,表示开启抗锯齿
MeterStyle
——表示公共stytle
Example:
FontColor=#FontColor#
FontFace=TheSansBold-Caps
FontSize=11
StringEffect=SHADOW
StringStyle=BOLD
StringAlign=LEFT
AntiAlias=1
——Then in any meter, use:
Meter=STRING ——(or any other meter type)
MeterStyle=MyStringStyle
Meter的类型。有效值如下:
BAR
BITMAP
BUTTON
HISTOGRAM
IMAGE
LINE
ROTATOR
ROUNDLINE
STRING
——条形图
Meter=BAR
BarColor
——Bar的颜色。
BarImage
——Bar的背景图片。这可以用来替代BarColor。
BarBorder
——此处定义Bar的边缘。
BarOrientation=HORIZONTAL
——Bar的方向性。有效值如下:HORIZONTAL(水平)、VERTICAL(垂直)
Flip=0
——如果设置为1则反转Bar的方向。
——位图
Meter=BITMAP
BitmapImage
——这是包含图像帧图像的名称。 图像可以规定水平或垂直位图中。 自动确定方向形成高度或宽度的位图 (无论是较大)。 同时,一个帧的大小则自动计算因此要裁剪图像,以便帧周围没有额外的空间。 图像可以是任何受支持的格式: bmp gif,jpg 或 png。 如果 BitmapExtend 不是 1,然后位图米要求被使用的方法,是从 0.0 到 1.0 或有 MaxValue 和 MinValue 设置。
BitmapFrames
——图像中的帧数。
BitmapTransitionFrames
——每值过渡帧的数量。 过渡帧帧的显示时,米的价值变化。 过渡帧相同的数目,必须在每次使用常规框架。 在部分TransitionUpdate设置确定在该帧过渡期间显示的汇率。 过渡动画总期限因此TransitionUpdate * BitmapTransitionFrames。 请注意,BitmapFrames始终定义的帧总数位图,包括过渡帧。 因此,举例来说,如果位图有10个值,每个过渡,另外4架组成,然后BitmapFrames应设置为50 BitmapTransitionFrames 4。
BitmapZeroFrame
——如果设置为 1,第一帧时使用只测量到的值为零。 否则帧所测量到的值线性决定。
BitmapExtend
——如果设置为 1 将扩展该位图,因此显示整个值。 示例,如果定义一个位图,它定义帧从 0 到 9,您可以使用此为位图数字
BitmapDigits
——位图动画的数目
BitmapAlign
——定义位图对齐方式LEFT, CENTER and RIGHT
BitmapSeparation
——分离时BitmapDigits之间的数字高于1。 这也可以是负数。
Examples:
Measure=Time
Format=%d
MeasureName=MeasureDate
Meter=BITMAP
X=50
Y=0
BitmapImage=number.png
BitmapFrames=10
BitmapExtend=1
BitmapDigits=2
BitmapAlign=CENTER
——按钮
Meter=BUTTON
ButtonImage
——按钮图像的名称。 图像必须具有 3 帧,可以设置水平或垂直方向确定图像的高度和宽度。 在第一帧对应于正常他按钮的图像。 单击该按钮时显示第二个帧。 当鼠标悬停在按钮上时显示的第三个框架。
ButtonCommand
——命令或 ! 邦,在按下该按钮时执行。
Examples:
Meter=BUTTON
X=0
Y=0
ButtonImage=Button.png
ButtonCommand=!Execute
——直方图表
Meter=HISTOGRAM
SecondaryMeasureName
——辅助度量值的名称。 这定义度量值为辅助的直方图绘制对同一个表。 不需要这定义,如果不需要其他计量器。
PrimaryColor
——主直方图的颜色。 与 SolidColor 相同,颜色载以同样的方式: RGB(A)。
SecondaryColor
——次直方图的颜色。
BothColor
——主和次直方图的相交时使用的颜色。
PrimaryImage
——用于后面辅助直方图的图像的名称。 您可以使用颜色或图像而不是都在同一时间。 因此,如果您定义 PrimaryImage 您还必须定义 SecondaryImage 和 BothImage 如果您有相同的直方图不是 SecondaryColor 或 BothColor 中的一项辅助措施。
SecondaryImage
——用于后面辅助直方图的图像的名称。
BothImage
——图像时,小学和中学的直方图是分开的基础上所使用的名称。
Autoscale
——如果设置为 1,直方图进行自动缩放以显示所有值。
Flip
——如果设置为 1 是翻转的样式。
Examples:
Measure=CPU
MeasureName=MeasureCPU
Meter=HISTOGRAM
X=0
Y=0
W=100
H=20
PrimaryColor=0,0,0,200
SolidColor=255,255,255,200
BarOrientation=HORIZONTAL
AntiAlias=1
——图像
Meter=IMAGE
ImageName
——图片的名称显示。
Path
——图像的路径。 该路径是相对于皮肤文件夹。
AntiAlias
——如果设置为1,图像有抗锯齿插值应用程序时,它显示。
PreserveAspectRatio
——如果设置为1,以图像的宽高比缩放。
默认值为PreserveAspectRatio = 0
您可以使用 PreserveAspectRatio 指定 W 和 H = 0,和它将缩放图像精确指定的大小。 不保留长宽比。
您可以使用 PreserveAspectRatio 指定 W 或 H 单 = 1,并将图像为给定的值与其他未定义"方面"被自动缩放以保留长宽比缩放。
您可以指定 W 和 H 与 PreserveAspectRatio = 1,并将使用较大的宽度或高度维度的设置为用户定义的值,原来的图像缩放图像和其他"方面"设置为所需保留长宽比。 这样该图像会向容器定义 W 和 H 的即使该用户不知道是否图像原本是"纵向"或"横向"(高或宽) 从源中"适合"。
在所有情况下,该图像"本"宽和 ·"死亡空间"创建者保持长宽比 (像在电视机上观看宽屏电影标准 4: 3 屏幕上的时,黑条) 所定义的表是透明的。
图像米作为 W 或 H 或两者,值,可以使用 ,并对每个度量值使用的更新进行图像缩放。 这意味着一个刷新不需要调整图像大小,并动态"缩放"的图像可通过使用来更改大小值的措施。
Greyscale
——如果设置为1,该图片将显示为灰度。 如果指定,这是 ImageTint 或 ColorMatrix 之前应用
ImageTint
——以浅色图像颜色。 颜色载于时相同的方式,为 SolidColor: RGB(A)。 如果指定 alpha 值,则该图像,可以进行半透明 (0 表示不可见,255 表示完全不透明)。 默认值为白色 (255、 255、 255、 255)。
ColorMatrixN
——he ColorMatrix 参数表示一个用于处理图像的颜色值的 5 x 5 矩阵。 它分为五个单独参数之一的每一行的每个编号。 默认矩阵,如下所示:
ColorMatrix1=1—— 0—— 0—— 0—— 0
ColorMatrix2=0—— 1—— 0—— 0—— 0
ColorMatrix3=0—— 0—— 1—— 0—— 0
ColorMatrix4=0—— 0—— 0—— 1—— 0
ColorMatrix5=0—— 0—— 0—— 0—— 1
主对角线上的值是,从左上到右下: 红、 绿色、 蓝、 Alpha 和一个占位符。 值表示的当前在其中 0.0 是 none,1.0 是正常的图像中的特定值的百分比。 矩阵中剩余的条目允许值修改的另一种颜色的颜色 (恩: 红的值可能有一半的蓝色增值),直接添加到颜色的偏移的值确定最终行 (ColorMatrix5) 中的项。 ((例如: ColorMatrix5 = 0.5—— 0—— 0—— 0—— 1 将添加到红色的值的 50%)。 一个更深层的解释将被列入对完全免除了 Rainmeter v1.2 教程。
ImageFlip
——"NONE", "HORIZONTAL", "VERTICAL" or "BOTH".值为"NONE"、"卧式"、"立式"两者"。
ImageRotate
——图像旋转度的定义数量。 负数旋转逆时针方向。
Examples:
Measure=Plugin
Plugin=Plugins\QuotePlugin.dll
PathName="#PROGRAMPATH#Skins\Tranquil\"
FileFilter=*.png
Meter=IMAGE
MeasureName=MeasureQuote
X=0
Y=0
W=150
H=150
PreserveAspectRatio=1
—— The following image would be greyscaled, then tinted orange:
Meter=Image
ImageName=image.png
Greyscale=1
ImageTint=255,128,64,255
X=0
Y=0
W=200
H=200
Meter=LINE
LineCount
——表中的行数。 可以有任意数目的同一个表中的行。 在名称中的使用 设置必须具有用来定义的行的编号。 请注意,第一行数没有 (ei: MeasureName、 LineColor 和规模都用于在第一的行号为后续行添加)。
MeasureName
——行 的度量值的名称。
LineColor
——N线的颜色。 与 SolidColor 相同,颜色载以同样的方式: RGB(A)。
Scale
——行 的比例。 测量到的值乘以此值。
AutoScale
——如果设置为 1,行自动缩放,以便最大值是在油分计中可见。 如果设置为 0,计的规模是从使用该措施的所有的最大的最大值。
HorizontalLines
——如果设置为 1 的水平线直方图行后面绘制。
HorizontalLineColor
——水平的线条的颜色。 与 SolidColor 相同,颜色载以同样的方式: RGB(A)。
LineWidth
——行宽,以像素为单位的宽度。
Flip
——如果设置为 1 是翻转的样式。
——Examples:
Measure=NetIn
Measure=NetOut
Meter=LINE
MeasureName=MeasureNetOut
MeasureName2=MeasureNetIn
X=0
Y=0
W=100
H=20
LineCount=2
LineColor=221,53,174,200
LineColor2=0,0,0,200
SolidColor=255,255,255,200
AutoScale=1
AntiAlias=1