【内部分享】Rainmeter介绍/Skin制作/Config修改全接触,2009-4-23, 11:23#1| TOP
申明
本文文源为rainy的手记及一些个人补充,本人做了大量的翻译工作,并根据最新的引擎版本以及可能出现的问题及解决办法进行了部分的修正和增删。此文的意义在于给与Rainmeter 的使用者一个可以查询代码的文档,也给予skiner一个开发教程。希望对大家有用。
由于本人非英语专业,翻译不到位的地方请大家多包涵,另,本文皆为意译,尽量让大家能读懂。
本文仅限极限内部分享,谢绝转载,请珍惜本人劳动成果,谢谢。
RM简介及安装
Rainmeter官方下载:https://www.wendangku.net/doc/1a10474741.html,/p/rainmeter/
Rainmeter skin下载:DA、https://www.wendangku.net/doc/1a10474741.html,
Rainmeter是一款可以将系统监控数据具象化并能以不同形式呈现的一款系统监控工具,其本身只是个引擎,需要通过skin及config的定制来实现。
Rainmeter可以监控CPU负载、内存分配、网络信息流量、网络终端性能数据、系统运行时间、闲置硬盘容量etc.
数据可以被具象化为柱状图、条状图、点阵图帧抑或是纯数字。RM还支持插件界面,可依靠第三方插件实现功能的延伸。
RM支持Windows 2000及以上系统,但不支持Win95/98/Me
调侃一句:RM测量不出昨晚下了多少雨,这可要去问老龙王了。
配置文件
RM并没有完美的配置编辑器,所以你需要用你最常用的文本编辑器来手动配置。RM的设定被打散在很多地方,但对于大部分的用户来说,Rainmeter.ini是唯一需要你调整的地方。
一般配置文件也就是通配文件就是Rainmeter.ini,皮肤配置文件是在#skin-name#.ini里调整。
注意:由于Refresh会把旧的值写回配置文件,所以某些setting不能在Rainmeter运行时更改。所以当你发现部分setting更改无效的时候尝试下把整个RM关闭再修改。
Step.rc:
RainmeterIniFile
如果Rainmeter.ini没有被放在默认的位置,可以用它来指向定义。
RainmeterSkinPath
定义skin文件夹的路径,但必须在以独立的子文件夹的形式放在skins文件夹下。
RainmeterPluginPath
定义插件文件夹路径。
RainmeterCurrentConfig
目前正起作用的配置文件名,这可以用来强制使用某些配置。你必须同时定义RainmeterCur rentConfigIni。
RainmeterCurrentConfigIni
目前正起作用的配置文件。(仅为配置文件,并非路径)
RainmeterWindowX
设定窗口的X坐标。
RainmeterWindowY
设定窗口的Y坐标。
Rainmeter.ini
文件主要由[Rainmeter]和[Statistics]两部分组成,[Rainmeter]部分包含一般设定可以用来改变RM的行为表现。此配置是作为所有被打开的Config文件的默认值。一旦Config被打开即会在Rainmeter.ini下将配置写入自己的那部分中。[Statistics]下包含着大部分的Measures,请不要手动去修改它。
[TrayMeasures]是个特别的部分,用来定义系统托盘图标的,只要设定了一个正常的有意义的值。
以下这些必须放在[Rainmeter]下(或者放在各个Config中):
WindowX
窗口的X坐标,负值有效,相对于右边屏幕位置
WindowY
窗口的Y坐标,相对于屏幕底部位置。
AllowNegativeCoordinates
如果设置成1,负坐标将可以正常定义;如果设置成0,则会从桌面右下角抵扣。
SavePosition
如果设置成1,窗口的位置会被记录在Rainmeter.ini文件中,当RM下次启动时会仍然出现在那个位置。
AlwaysOnTop
如果设置成1,此窗口会始终出现在其它窗口的前面,也就是所谓的的始终前置窗口。如果设置成0,窗口位置是Normal,如果设置成-1,则窗口会后置于其它窗口。-2代表钉在桌面上,2则代表是前置级别最高,前置于其他前置窗口。注意的是-2钉在桌面上仅在Explorer-Shell 下工作。
Draggable
如果设置成1,窗口可以被鼠标拖动,如果设置成0,这窗口固定。
SnapEdges
如果设置成1,则窗口在移动中会自动边缘吸附。
HideOnMouseOver
如果设置成1,当鼠标指针移动到窗口范围内时,窗口便会消失。当鼠标指针移开窗口范围时,窗口又会重新出现。如果按住Shift、Ctrl和Alt时移动鼠标,则窗口不会消失或重现。
StartHidden
如果设置成1,RM会在系统启动时隐藏,你可以使用!RainmeterShow-bang来使他显形。
NativeTransparency
如果设置成1则支持本地透明(仅限Win2K&XP)。
AlphaValue
窗口的透明值,数值范围在0~255之间。需要开启NativeTransparency。
ClickThrough
如果设置成1则鼠标穿透,需要开启NativeTransparency。
LeftMouseDownAction
当鼠标左键在RM窗口上按下后所执行的命令,注意此处不支持拖动。
RightMouseDownAction
当鼠标右键在RM窗口上按下后所执行的命令。
LeftMouseUpAction
当鼠标左键在RM窗口上放开后所执行的命令。
RightMouseUpAction
当鼠标右键在RM窗口上放开后所执行的命令,注意此处不支持右键环境菜单。
MouseOverAction
当鼠标掠过RM窗口时所执行的命令。
MouseLeaveAction
当鼠标离开RM窗口时所执行的命令。
DesktopWorkArea
设定桌面工作区域,定义工作区域最大的窗口覆盖,用四个逗号进行值的分割。(e.g. Deskt opWorkArea=0,0,1920,1200)注意如果移动Taskbar会重新设定成Windows默认值(改变屏幕分辨率也会出现同样情况)。
TrayIcon
设置成0可以屏蔽系统托盘图标。
FadeDuration
定义窗口淡出的时间值,时间单位为毫秒,设置为0,此项无效。
TrayExecuteL, TrayExecuteM, TrayExecuteR, TrayExecuteDL, TrayExecuteDM, TrayExecuteDR
鼠标双击系统托盘图标时执行的命令,注意TrayExecuteR权限高于系统托盘的环境菜单。
OnRefreshAction
Config刷新时执行的命令。刷新同样会在Config第一次运行时起作用。
ConfigEditor
定义RM的配置文件编辑器应用程序,默认为Notepad记事本。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下部分必须放在[TrayMeasure]部分下:
Measure
托盘显示的名称。
TrayMeter
这可以是直方图或位图。
TrayColor1
定义直方图的背景颜色。
TrayColor2
定义直方图的前景颜色。
TrayBitmap
定义托盘所用的位图的名称。位图的帧数可以任凭你所想,不过大小必须限制在16*16上。路径需关联于Rainmeter's-Skins文件夹。
皮肤
皮肤文件放在RM安装根目录下的skins文件夹内。单个皮肤请创立独立子文件夹进行存放。一个可用的皮肤一般包含ini配置文件、image&icon等。单个皮肤文件夹内可以包含多个配置文件但只有一个可以被激活,这也允许skiner定制多种局部差异性皮肤以满足不同用户的需求。
注意:请不要在文件夹和配置文件命名时使用空格。
皮肤文件通常被划分为四部分:
[Rainmeter]:放置一般设定。
[Variables]:存放变量。
[Measures]:实际测量值。
[Meters]:实际测量值具象化表现方式。
在一个measure上捆绑多个meter是可行的。
当然不是必须要按照如上的顺序来写,但是如果能将代码写的比简单清晰明了,对于插件的使用者来说可以说会方便很多呢。
对于开发者来说尽量将[Variables]变量放在配置文件的顶部,这样可以方便使用者进行自己的配置。对于需要手动更新的关键字请用#字符来分隔(e.g.#Username#:#Password#)。
以下这些必须放在[Rainmeter]部分中:
Background
背景图片名,粉红色(255,0,255)可以作为透明背景。支持BMP、JPG、PNG(带有Alpha通道)。BackgroundMode
定义背景模式:
0=Background定义的图片。
1=透明。
2=纯色。
3=背景图像缩放。
BackgroundMargins
定义背景图像的边缘,在BackgroundMode=3的时候也不会被缩放。
SolidColor
如果Background模式设置为2的时候,此项定义背景色。
SolidColor2
如果Background模式设置为2的时候,此项定义第二颜色的背景梯度(颜色渐变的第二颜色)。
GradientAngle
如果Background模式设置为2的时候,此项定义颜色梯度(颜色渐变)的角度。角度以弧度制定义。
BevelType
此项描述的是纯背景颜色周围的斜缘边。0=无,1=凸起,2=凹陷。
Update
Meters的更新时间,单位是毫秒(1秒=1000毫秒)。默认值为1000(i.e.1秒)
DynamicWindowSize
如果设置成1,窗口会在每次更新时进行大小重新计算,必要情况下会自动缩放窗口大小。
DragMargins
定义窗口不允许被拖动的区域。需要定义4个值并以逗号分隔。这个值定义的是不允许拖动的区域。负值是从对边开始计算的。
KeepOnScreen
设置成1则窗口始终保持在监视器的范围之内。
(建议玩全屏降分辨率游戏的用户不要开启此项选项,这样会导致退出游戏后插件移位)
Author
皮肤作者的名字和E-Mail地址。该字符串会显示在关于的对话框内。
AppVersion
此插件支持的最低RM引擎版本。如果你认为没必要可以不写。
The version is a single number that can be calculated like this: Major * 1000 + Mino r. E.g. a value for Rainmeter 0.11.4 would be 11004.
Measures
每个Measures的命名必须唯一并且需要放用“[]”字符框起。只要在一个配置文件中命名不重复,名称可以随意。不要在命名中使用空格。Meters和Measures的命名是捆绑的,也就是同一指向的要命名相同。
注意:为了使测量值能显示相对最低和最高值,某些meters需要一系列的值如Bar、Histogr am,etc.。并非所有的measures能够自动的测算出最低和最高值,所以某些measures请手动配置最高值和最低值。
Measures的通用设置
Measure
这里定义Measures,有效值如下:
?CPU
?测算CPU负载(如需独立监控各核占用情况开启PerfMon插件)。
?Memory
?测算记忆体总利用率。
?PhysicalMemory
?测算物理内存分配。
?SwapMemory
?测算Swap分配。
?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.Substitut e="cat":"dog"表述的是在测量值中将关键词cat全部替换成dog)
AverageSize
定义窗口的测量平均取值。(e.g.如果设置成10则将输出最后10次测量的平均值)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NetIn
NetInSpeed
用户网络接入最高速度。该值单位以1bit/s计。如果这个值缺损或者设置为0,这个值将以实际值决定。注意峰值。
TrafficAction
当下载数据到达一定量时所执行的行为。
TrafficAction
TrafficAction的设定值。
Interface
网卡监测数据。如果此处被设置为0(默认值),所有的端口将被加在一起,如果值为1,则记录第一块网卡,2为第二块.etc.。
Cumulative
如果设置成1,将监测数据累积(i.e.把监测数据加在一起)。这可以用来检测特定周期的交换数据总量。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NetOut
NetOutSpeed
用户网络输出最高速度。该值单位以1bit/s计。如果这个值缺损或者设置为0,这个值将以实际值决定。
TrafficAction
当上载数据到达一定量时所执行的行为。
TrafficValue
TrafficAction的设定值。
Interface
网卡监测数据。如果此处被设置为0(默认值),所有的端口将被加在一起,如果值为1,则记录第一块网卡,2为第二块.etc.。
Cumulative
如果设置成1,将监测数据累积(i.e.把监测数据加在一起)。这可以用来检测特定周期的交换数据总量。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
NetTotal
NetTotalSpeed
用户网络输入输出最高速度。该值单位以1bit/s计。如果这个值缺损或者设置为0,这个值将以实际值决定。
TrafficAction
当上载下载总和数据到达一定量时所执行的行为。
TrafficValue
TrafficAction的设定值。
Interface
网卡监测数据。如果此处被设置为0(默认值),所有的端口将被加在一起,如果值为1,则记录第一块网卡,2为第二块.etc.。
Cumulative
如果设置成1,将监测数据累积(i.e.把监测数据加在一起)。这可以用来检测特定周期的交换数据总量。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FreeDiskSpace
Drive
检测的具体硬体。(e.g."C:\")
Total
如果设置成1,则反馈数据显示硬体的总容量。
Label
如果设置成1,则反馈数据显示驱动器标签。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Plugin
Plugin
定义实际测量时需用到的插件名。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Registry
RegKey
注册表项名。
RegHKey
HKEY名。有效值有:
HKEY_CURRENT_CONFIG, HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, HKEY_CLAS SES_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))。
Operations:
?+ (add)
?- (substract)
?* (multiply)
?/ (divide)
?** (power)
?% (remainder)
?& (bitwise and)
?| (bitwise or)
?^ (bitwise xor)
?~ (bitwise not)
Logical operations:
?<> (not equal)
?= (equal)
?> (greater than)
?< (less than)
?&& (logical and)
?|| (logical or)
Functions:
?ARCTAN
?ARCSIN
?ARCCOS
?COS
?SIN
?TAN
?ABS
?EXP
?LN
?LOG
?SQRT
?SQR
?SGN
?SIGN
?FRAC
?TRUNC
?FLOOR
?CEIL
?ROUND(x[, precision])
Conditional operator:
声望评价
辛苦
以下 29 位会员对 温莎公爵 此贴表示感谢:
12191315 (2009-4-24), another23 (2009-4-27), April-Ace (2009-4-23), benbackman (2009-4-27), buguai (2009-4-24), duyu523 (2009-6-3), dy3201 (2009-4-26), D 调的华丽 (2009-6-26),
H2O (2009-4-23), Kano (2009-4-24), lrjoy (2009-4-23), nannan828 (2009-4-23), orpzrpv (2009-6-26), popo (2009-4-25), raystone (2009-5-14), SA (2009-4-26), shine_c329 (2009-5-5), soarlin (2009-5-3), super480 (2009-4-23), xnhan00 (2009-6-27), yimengxing (2009-4-24), 宾客斯的美酒 (2009-5-8), 幽篁小筑 (2009-4-24), 无所谓 (2009-4-24), 爱在菩提 (2009-5-7), 逆流顺流 (2009-4-24), 酷儿P (2009-6-12), 陨落的缘分 (2009-4-24), 飞花似梦 (2009-4-27)
温莎公爵
查看公开信息访问 温莎公爵 的个人网站查找 温莎公爵 发表的更多帖子
温莎公爵 Jessy.Dior
注册日期: 2003-03
来自: Gt. Brit. 帖子: 858 致谢: 3,442
2009-4-24, 18:04
#2 | TOP
Meters
每个meter 都去要有一个唯一的名称,并在配置文件中加以定义。命名必须用“[]”符号括起。命名没有特别要求不过不要在一个配置文件中有重复出现,不要在命名中出现空格。
General settings for all meters
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无效。你需要用DragMar gins定义可拖动区域以此来避免Meter的重叠操作。
UpdateDivider
此值决定Meter的更新间隔。此值与Update值绑定。比如当Update=1000,Up dateDivider=30则Meter每30s更新一次。默认值为1.
SolidColor
Meter的背景色。
SolidColor2
第二颜色的背景梯度(颜色渐变的第二颜色)。
GradientAngle
颜色梯度(颜色渐变)的角度。角度以弧度制定义。
BevelType
此项描述的是纯背景颜色周围的斜缘边。0=无,1=凸起,2=凹陷。
Meter
Meter的类型。有效值如下:
?HISTOGRAM
?STRING
?BAR
?BITMAP
?IMAGE
?LINE
?ROTATOR
?BUTTON
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
Histogram
SecondaryMeasureName
副Measure的命名。定义在同一个Meter上相关的副直方图。如果其余meter不需要可以不做定义。
PrimaryColor
主直方图的颜色,颜色模式为RGB,用逗号相隔开(e.g. PrimaryColor=10,30,25 5)。
SecondaryColor
副直方图的颜色。
BothColor
主直方图与副直方图颜色重叠时所用色。
PrimaryImage
主直方图所用的背景图片名,可以使用图片或者颜色填充,但不能同时使用。如果你定义了PrimaryImage时(在启用了Secondary Measure的情况下)必须也定义SecondaryImage和BothImage。
SecondaryImage
副直方图背景图片名。
BothImage
主直方图与副直方图在重叠时所使用的图片名。
Autoscale
如果设置成1则直方图会自动缩放至可以显示所有数据值。
Flip
如果设置成1则数据值反转。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~
String
FontColor
字体颜色。
Prefix
值前显示的字符串。
Postfix
值尾显示的字符串。
FontFace
字体名称。
FontSize
字体大小。
StringAlign
字符串的排列位置。有效值为:LEFT,CENTER,RIGHT。
StringStyle
字符串的样式。有效值为:NORMAL,BOLD,ITALIC,BOLDITALIC。
Scale
测量值的刻度值,即显示值将以测量实际值除以刻度值而得,所以如果设置为10 00则将以实际值缩小1000倍显示。如果刻度值有一位小数则显示值也有一位小数。
AutoScale
如果设置成1,则将自动设定刻度值。此项权限高于Scale。显示值将会自动按照实际比例在结尾加上T,G,M或K等。
Percentual
如果设置成1则值将以百分数显示。
NumOfDecimals
显示值将使用小数。
AntiAlias
如果设置成1,则文字部分将开启抗锯齿功能。
Text
文字部分显示。如果要显示测量值请使用字符串%1。如果和多个Measures绑定就是用%2,%3等以此类推。
ClipString
如果设置成1则将以Meter的宽度进行剪辑,多余以字符串末尾将加上省略号显