文章都很長,所以會分開貼
(RM就是Rainmeter的簡稱)
#CURRENTCONFIG#
完整的目前加載的皮膚的ConfigName (eg: Enigma\Sidebar)
#WORKAREAX#
工作區域的x軸位置
#WORKAREAY#
工作區域的Y軸位置
#WORKAREAWIDTH#
工作區域的寬度
#WORKAREAHEIGHT#
工作區域的高度
#SCREENAREAWIDTH#
分辨率的寬度
#SCREENAREAHEIGHT#
分辨率的高度
Dynamic Variables 動態變量
在一個測量或者Meter裡設置DynamicVariables=1, 因為"!RainmeterSetVariable"改變而引起值改變的變量能夠被測量或者meter讀取。另外,如果動態變量打開,一個測量的名字可以被用作一個變量,這樣他的值就能在其他地方被引用。測量的值被放在方括號內[],而不是## 內。動態變量可以用在任何測量或者meter中,但是不能用在[Rainmeter]部分和[Variables]部分。目前還沒有支持動態變量的插件,比如WebParser或者QuotePlugin.
例子:
[Variables]
Width=100
[MeasureCalc]
Measure=Calc
Formula=Counter%100
[Square1]
Meter=Image
SolidColor=255,0,0
W=#Width#
H=50
MouseOverAction=!RainmeterSetVariable Width 200
DynamicVariables=1
[Square2]
Meter=Image
SolidColor=0,0,255
W=[MeasureCalc]
H=50
Y=R
在該例子中,Square l 會呈現出一個紅色100*50像素的方形。當鼠標懸停時,隨著變量變化變大成200*50的。Square 2 呈現一個藍色的盒子50像素高,然後寬度逐漸由0到100像素,因其寬度來源於MeasureCalc的值。
例子:
[Box]
Meter=Image
SolidColor=0,255,0
W=[MeasureCalc]
H=50
DynamicVariables=1
注:動態變量可以被用在測量或者meter中,但不能在[Rainmeter]或者[Variables] 部分。
@Include
以ini文件形式加載一個外部文件,使作者可以把皮膚,設置,皮膚包,變量放入其中。加載的文件好似這些內容都被放在一個真的skin.ini 文件一樣。使用的路徑與目前.ini文件相關。
@Include 表述必須在某些部分使用(比如不能再一開始使用)如果在一個ini文件中同一個部分有多個@ Include 文件,每個@Include的表述必須編號
@include1=...
@include2=...
@include3=...
請牢記因為被Included的文件被視作.ini 文件的一部分,它們必須具有合適的.ini格式(比如[section] parameter=value),如果被Included的文件本身不是一個完整運行的皮膚,那麼他不能使用.ini 後綴(?). 一個常用的替代辦法是inc後綴
被Included的文件由@Include被定義的位置讀取,所以具有與ini文件中相同名稱的,被包含文件的值
會改寫之前部分的值,反之亦然。
注:可以在@Include使用內置變量((eg: #SETTINGSPATH#)但是在[Variables]鐘定義的變量會失效。
例子:
IncludedFile.inc:
[Variables]
FontColor=255,255,255,255
HostSkin.ini:
[Variables]
FontFace=Arial
@Include=IncludedFile.inc
[Metadata]
這個部分包含皮膚自身的信息。單獨這個部分本身來看,元數據(metadata)可以持續可靠地了解一個皮膚,和這個皮膚怎樣使用以及設置。另外, addons 像RainBrowser可以使用metadata 來確保更複雜的皮膚管理特性。
很重要一點是所有元數據必須在[Metadata]部分,由一系列關鍵字表示。模版提供在下面。作為一個設計者,你需要為所有關鍵字提供合適的值。
[Metadata]
Name=Title | Subtitle
- 這是你希望的名字和標題
Config=Root Skin Folder | Subfolders | Current Folder
-這是這個設置(文件夾)結構位置
Description=Point 1 | Point 2 | Point 3
- 你對skin的描述/功能. 用" | " 換行.
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
- The author's license for the skin.
Variant=1
- Which variant in a folder with multiple .ini files.
Preview=#SKINSPATH#MyConfig\Images\Previews\Preview.png
- 預覽圖片的路徑和名稱
Measures(不知道咋譯,反正之前都叫測量)
Measures 這個部分是用來決定哪些信息是RM 應該檢索的。每個測量需要有一個特定的名字,放在[]中。名字是什麼無關緊要,只要沒有空格並且你不會在同一個ini文件中用到這個名字。Meters把這些部分的名字綁定在測量上。
重要:有些meters 要求一套值(條線圖、柱狀圖等)以便展示最高和最低值。不是所有的meter都能自動計算最高最低值,所以你需要手動設置,利用MinValue 和MaxValue。
所有測量的一般設置:
Measure
定義什麼被測量。有效數值包括:
CPU – 測量所有cpu的整體負載(使用PerfMon來測量個別cpu)
Memory – 測量整體內存使用
PhysicalMemory -測量已分配物理內存
SwapMemory – 測量虛擬內存分配
Uptime –顯示開機時間。僅在字符串meter中有效。
NetIn – 測量網絡流入量
NetOut – 測量網絡流出量
NetTotal – 測量總流量
FreeDiskSpace – 測量剩餘空間
PerfMon – 獲得NT表現數據
Plugin – 測量是由外部插件定義
Registry – 測量註冊值?
Time – 測量時間和日期
Calc – 計算器公式
InvertMeasure – 設置為1時,測量值反向。比如你可以測量出已使用空間而不是空餘空間。
IfAboveAction
當一個值超過該命令定義的值時,一個命令就會被執行。這個命令僅當測量超過該定義值時才會發生,所以要再次發生必須讓測量值降低到該定義值之下。
IfAboveValue
IfAboveAction 所使用的值
類似的有:
IfBelowAction
IfBelowValue
IfEqualAction
IfEqualValue
Disabled
如果設置為1, 測量開始時即被禁止。禁止的測量值永遠為0
UpdateDivider
這個值用來修改測量的更新速率。整體的update 值(在[Rainmeter]部分設定)乘以該值確定了測量的更新速度。比如:如果Update設置為1000 而UpdateDivider 是30, 測量會每30秒更新一次。該值默認為1。
MaxValue
測量的最大值。默認1
MinValue
測量的最小值。默認0
Substitute
用來把一部分值替換掉,替換的部分和被替換的部分用:隔開。必須在值兩邊加" 比如Substitute="cat":"dog" 就會把所有的cat 替換成dog。
AverageSize
給測量定義平均值。比如:設置到10,返回值就是最近10個值得平均數
撰寫人:gria
找不到原PO地址,附上轉載地址
http://hi.baidu.com/chenaiwwx/blog/item/ea342fec9a9e7afcce1b3ef1.html