Rainmeterを使ってみようの巻 〜Meter Section〜

  • 2022年09月06日 4.5対応

General

Option名 defalt値 概要
Meter MeterのTypeを指定する。このOptionは必須。
MeterStyle MeterStyleを指定する。複数指定するときは「|」で繋ぐ。詳細は後述。
MeasureName
MeasureName2
...
使用するMeasureの名前を指定する。
X
Y
Meterの表示位置を指定する。ただし10rとrを付けた場合は直前のMeterの左上からの相対位置。10RとRを付けた場合は右下からの相対位置。
W
H
Meterの表示サイズを指定する。文字列Meterと画像Meter以外は必須。
Padding Padding=Left,Top,Right,Bottomのフォーマットで指定する。
Hidden 0 1を指定するとMeterを隠す。!ShowMeterとHideMeterコマンドを使って制御する。
Container Container名を指定する。詳細は下記。
UpdateDivider 1 Measure Sectionの物と同様。
OnUpdateAction Measure Sectionの物と同様。
SolidColor
SolidColor2
0, 0, 0, 0 Rainmeter Sectionの物と同様。
GradientAngle Rainmeter Sectionの物と同様。
BevelType 0 Rainmeter Sectionの物と同様。
AntiAlias 0 1を指定するとアンチエイリアスが有効になる。
DynamicVariables 0 Measure Sectionの物と同様。
TransformationMatrix 1;0;0;1;0;0 3*2の行列で定義する。ただしここで注意点がある。全ての操作はWindowの左上を基準となる。決してMeterのそれではない。
拡大縮小X;回転X;回転Y;拡大縮小Y;移動X;移動Y
これらの操作は全て他のOptionで十分代替可能。こんな一目で分からない物を使う必然性がない。
Group Meterのグループを定義する。

General Image

Option名 defalt値 概要
ImagePath 画像ファイルがあるフォルダを指定する。この時ファイル名はBitmapImage, ButtonImageなどで別途指定。
ImageCrop 画像の切り抜きを行う。X, Y, W, H, Originという5つの値を指定する。OriginというのはX, Yの基準点で下記の5つ。
  1. 左上
  2. 右上
  3. 右下
  4. 左下
  5. 中心
ImageCropは画像のリサイズ前に実行される。つまりWもしくはHが指定されているならばCropされた画像がリサイズされる。
Greyscale 0 1を指定するとグレースケールを有効にする。
ImageTint 255,255,255,255 画像の色の変更を行う。指定方法はFFFFFFFFと255,255,255,255のどちらでも良い。
ImageAlpha 255 画像の透明度を指定する。
ImageFlip None 画像の反転処理を行う。有効な値はNone, Horizontal, Vertical, Bothの4つ。
ImageRotate 0.0 画像の回転処理を行う。度で指定する事。
UseExifOrientation 0 1を指定した場合EXIFデータに基づき回転処理を行う。
ColorMatrixN RGBAの4つに補正値Pを加えた5つのパラメーターによる5*5の行列で画像の色を変更する。説明が難しいのだが要はより細かい指定が出来るImageTintと思えば良い。defaltの行列はこうなる
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
RGBAPの行列なのだから当然ColorMatrix1はRに関する要素で左から順にやはりRGBAPに5つをカンマ区切りで指定している。ColorMatrix2以下も同様。画像処理ソフトでよくあるチャンネルミキサーのような働きをする。AとPのパラメーターが増えただけ。理解出来なくても何も困らないOption。

Tooltips

Option名 defalt値 概要
ToolTipText 表示する内容を指定する。
ToolTipTitle タイトルを指定する。
ToolTipIcon アイコンを指定する。有効な値は以下
  • Info
  • Warning
  • Error
  • Question
  • Shield
icoファイルのPathを直接指定しても良い。
ToolTipType 0 1を指定するとバルーン型になる。
ToolTipWidth 1000 幅を指定する。
ToolTipHidden 0 1を指定するとツールチップを隠す。このOptionはRainmeter Sectionでも指定可能だが全てのツールチップが対象となる。

Container

Meter内Meterを定義するOption。親Meterと子Meterと言えば分かりやすいか。用途は2つ。1つは子Meterを親Meterに相対的に配置及び描画する。もう1つは子Meterをマスキングとして使う。

Option名 defalt値 概要
Container Container Meter名を指定する。要は親Meterを指定する。Container Optionを持つMeterが子Meterとなる。Meter Typeは問わない。

描画

  • 子Meterが親Meterの外に出た場合その部分は無視される。
  • 子Meterは親Meter内ではなくcontent上に描画される。例えば親Meterを文字列、子Meterを画像とすると子Meterの画像は親Meterの文字列上にしか描画されない。

位置

  • 最初の子Meterは自動的に親Meterの左上からの相対位置となる。

その他

[Rainmeter]
Update=1000
DynamicWindowSize=1
AccurateText=1

[Variables]
OffSet=130
U=[!UpdateMeasure "MeasureSlideInOut"][!UpdateMeter *][!Redraw]

[MeterSkinBack]
Meter=Shape
Shape=Rectangle 0.5,0.5,169,103,12 | Fill Color 47,47,47,255 | StrokeWidth 1.5 | Stroke Color 150,150,150,255
X=0
Y=0
W=170
H=104

[MeterContainerVisible]
Meter=Shape
; A copy of the container meter, to provide visibility
Shape=Rectangle 0,0,130,84,12 | Fill Color 255,47,47,255 | StrokeWidth 0
X=20
Y=10

[MeterContainer]
Meter=Shape
; Meters used as a container will not be drawn. They are used as a "mask".
; Create a copy of them, as above, to make them visible.
Shape=Rectangle 0,0,130,84,12 | Fill Color 255,47,47,255 | StrokeWidth 0
X=20
Y=10
MouseOverAction=[!CommandMeasure MeasureSlideInOut "Stop 2"][!CommandMeasure MeasureSlideInOut "Execute 1"]
MouseLeaveAction=[!CommandMeasure MeasureSlideInOut "Stop 1"][!CommandMeasure MeasureSlideInOut "Execute 2"]

[MeterString]
Meter=String
; This meter will be relative to the starting X and Y of its container.
X=#OffSet#
Y=33
FontSize=13
FontColor=255,255,255,255
SolidColor=0,0,0,1
FontWeight=400
AntiAlias=1
Text=Hello World!
DynamicVariables=1
MouseOverAction=[!SetOption MeterString FontColor "0,0,0,255"][!UpdateMeter *][!Redraw]
MouseLeaveAction=[!SetOption MeterString FontColor "255,255,255,255"][!UpdateMeter *][!Redraw]
LeftMouseUpAction=[!Log "Clicked me!"]
Container=MeterContainer

[MeasureSlideInOut]
Measure=Plugin
Plugin=ActionTimer
ActionList1=Reset | Wait 1 | Repeat SlideIn, 30, 11
SlideIn=[!SetVariable OffSet "(Clamp(#OffSet#-12,20,130))"]#U#
ActionList2=Repeat SlideOut, 30, 11  | Wait 1 | Reset
SlideOut=[!SetVariable OffSet "(Clamp(#OffSet#-12,-130,20))"]#U#
Reset=[!SetVariable OffSet 130]#U#
IgnoreWarnings=1
DynamicVariables=1

Meter=Bar

  • 全てのGeneral Optionが有効。
  • 全てのGeneral Image OptionがBarImageにおいて有効。
Option名 defalt値 概要
MeasureName 指定出来る数に違いがあるだけで共通の物と一緒。
BarColor 0, 128, 0 Barの色を指定する。
BarImage BarColorの代わりに使用する画像Pathを指定する。ここで指定された画像は各種Optionで補正する事が出来ずオリジナルサイズのまま使用される。
BarBorder BarImageが指定された時、常時表示する領域つまりBorder部分のピクセル数を指定する。ただしBarOrientationがVertical時は上下、Horizontal時は左右のみ。上下左右にBorderが確保されるという事はない。
BarOrientation Vertical Barの描画方向を指定する。有効な値はHorizontalとVertical。
Flip 0 1を指定するとBarを反転する。

Meter=Bitmap

CPU使用率などの%で表される数値を画像で表示するときの特殊なMeter。説明しにくいので公式のサンプルを動かしてみた方がはやい。

  • W, H, TransformationMatrix以外の全てのGeneral Optionが有効。
  • ImageCrop, ImageRotate以外の全てのGeneral Image OptionがBitmapImageにおいて有効。
Option名 defalt値 概要
MeasureName 指定出来る数に違いがあるだけで共通の物と一緒。
BitmapImage 画像のファイル名もしくはフルパスを指定する。画像内のフレームは縦横どちらに並べても良い。フレーム外のマージンは認識しない。
BitmapFrames 1 画像内のフレーム数を指定する。
BitmapTransitionFrames 1 アニメーション用のフレーム数を指定する。BitmapFramesはアニメーション用も含むフレームの全数。フレームが10でそれぞれのフレームにアニメーション用フレームが4つ付属しているとするとBitmapFrames=50でBitmapTransitionFrames=4となる。
BitmapZeroFrame 0 1を指定するとMeasureから返ってくる%値の0を最初のフレーム計算に含める。
BitmapExtend 0 1を指定すると0-9までの各数字を各フレームに割り振って%値を正確に表示出来るようになる。
BitmapDigits 0 BitmapExtend=1の時の表示桁数を指定する。
BitmapAlign 画像の表示位置を指定する。有効な値はLeft, Center, Rightの3つ。
BitmapSeparation 0 BitmapDigitsを2以上時の各桁間のマージン。

BitmapZeroFrameについて捕捉。画像内に5フレーム存在したらそれぞれのフレームは0-19%, 20-39%時に表示と単純にMaxValueからMinValueまでをフレーム数で割り振る。じゃあ最後のフレームはどうなるのかというと順番に割り振られ当然80-99%となる。100%はどうなったのかというと認識しない。内部的にはどうなってるのか知らないが少なくとも表示されない。という事情を鑑みたのかBitmapZeroFrameに1を指定するとフレームの割り振り計算に0%をカウントした結果順に0-20%, 21-40%と1%づつずれ、無事100%も表示される。むしろこっちをdefaltにすべきだろうと思うが互換性を考えたんだろう。

Meter=Button

  • W, H以外の全てのGeneral Optionが有効。
  • ImageCrop, ImageRotate以外の全てのGeneral Image OptionがButtonImageにおいて有効。
Option名 defalt値 概要
ButtonImage Buttonのファイル名もしくはフルパスを指定する。画像は通常時、クリック時、ホバー時の3つをフレームを持っていなければならない。
ButtonCommand Buttonのコマンドを指定する。

Meter=Histogram

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
MeasureName
MeasureName2
指定出来る数に違いがあるだけで共通の物と一緒。必須なのはMeasureNameのみ。MeasureName2まで指定すると当然同じ領域に2つのグラフが描画される訳だがあまり見やすい物にはならない。
Autoscale 0 1を指定すると全ての値が表示出来るように自動でスケーリングする。
GraphStart Right グラフのスタートを指定する。有効な値はLeftとRightの2つ。
GraphOrientation Vertical グラフの描画方向を指定する。有効な値はHorizontalとVerticalの2つ。
Flip 0 1を指定するとグラフを反転させる。
PrimaryColor
SecondaryColor
BothColor
グラフの色を指定する。以下全てPrimary, Secondary, Bothは説明するまでもないだろう。
PrimaryImage
SecondaryImage
BothImage
PrimaryColorなどの代わりに使う画像のファイル名もしくはフルパスを指定する。
PrimaryImagePath
SecondaryImagePath
BothImagePath
画像Type共通のImagePathと同じ。
PrimaryImageCrop
SecondaryImageCrop
BothImageCrop
画像Type共通のImageCropと同じ。
PrimaryImageTint
SecondaryImageTint
BothImageTint
画像Type共通のImageTintと同じ。
PrimaryImageAlpha
SecondaryImageAlpha
BothImageAlpha
画像Type共通のImageAlphaと同じ。
PrimaryImageFlip
SecondaryImageFlip
BothImageFlip
画像Type共通のImageFlipと同じ。
PrimaryImageRotate
SecondaryImageRotate
BothImageRotate
画像Type共通のImageRotateと同じ。
PrimaryColorMatrixN
SecondaryColorMatrixN
BothImageColorMatrixN
画像Type共通のColorMatrixNと同じ。

Meter=Image

  • 全てのGeneral Optionが有効。
  • 全てのGeneral Image OptionがImageNameにおいて有効。
Option名 defalt値 概要
MeasureName
MeasureName2
...
共通の物と一緒。
ImageName %1.png 画像のファイル名もしくはフルパスを指定する。
PreserveAspectRatio 0 画像のアスペクト比を指定する。ただしTile=0時に限る。
  1. アスペクト比を無視して指定領域内に描画する。
  2. アスペクト比を保持した状態で指定領域内に描画する。
  3. アスペクト比を保持し指定領域外の部分をトリミングした上で描画する。
ただしWまたはHのどちらか片方のみが定義されている時defaltは1となる。
ScaleMargins Tile=0及びPreserveAspectRatio=0時のマージン。
Tile 0 画像をタイル状に並べて描画する。
Mask Image

マスクってのは単純にマスキングの事。マスク画像の透過部分をマスクし非透過部分を描画する。

Option名 defalt値 概要
MaskImageName None MeasureName またはImageNameで定義される画像ファイルに使うマスク画像ファイルのファイル名を指定する。ImageNameと同様にフルパスでもいいしMaskImagePathとセットでファイル名のみでもいい。
MaskImagePath None マスク画像ファイルのフォルダを指定する。
MaskImageFlip None マスク画像の反転処理を行う。有効な値はNone, Horizontal, Vertical, Bothの4つ。
MaskImageRotate None マスク画像の回転処理を行う。度で指定する事。

Meter=Line

これは折れ線グラフを描画するMeterの事。

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
LineCount 1 折れ線グラフの数を指定する。
MeasureName
MeasureName2
...
共通の物と一緒。
LineColor
LineColor2
...
線の色を指定する。
LineWidth 1 線の幅を指定する。
Scale
Scale2
...
1.0 グラフの表示倍率を指定する。AutoScale=1の時は無視される。
AutoScale 0 1を指定すると全ての値が表示出来るように自動でスケーリングする。
HorizontalLines 0 1を指定すると水平の基準線を描画する。
HorizontalLineColor 0, 0, 0, 255 HorizontalLines=1時の基準線の色を指定する。
GraphStart Right グラフの描画開始方向を指定する。有効な値はLeftとRightの2つ。
GraphOrientation Vertical グラフの描画方向を指定する。有効な値はHorizontalとVerticalの2つ。
Flip 0 グラフの描画方向を反転する。
TransformStroke Normal TransformationMatrixが指定された時の線幅の扱いを指定する。NormalはTransformationMatrixの影響を受けるがFixedは影響を受けずLineWidthによって決まる。

Meter=Rotator

時計のような画像を回転させるMeterを表示する。

  • 全てのGeneral Optionが有効。
  • 全てのGeneral Image OptionがImageNameにおいて有効。
Option名 defalt値 概要
ImageName 画像のファイル名もしくはフルパスを指定する。
MeasureName 指定出来る数に違いがあるだけで共通の物と一緒。
OffsetX
OffsetY
0.0 回転の中心からのオフセットをそれぞれ指定する。
StartAngle 0.0 回転のスタート位置を3時の位置を0度としてラジアンで指定、ただし時計回りが正方向というなんだか変な実装。
RotationAngle 0%から100%までの回転角をラジアンで指定する。つまり時計なら360度のラジアン換算になるしタコメーター風味の物を作りたければ270度程度になるだろう。ただしここでの符号がメーターの進行方向となることに注意。
ValueRemainder 0 Time型のMeasure値が渡された時に使用する。要求されているのは数値なので当然MeasureからはTimeStampが返される。TimeStampとValueRemainderで%演算を行いその値を使用する。秒針なら60、分針なら3600、12時間表示の時針なら43200となる。

Meter=Roundline

円グラフを表示する。

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
MeasureName 指定出来る数に違いがあるだけで共通の物と一緒。
StartAngle Rotatorの物と一緒。
RotationAngle Rotatorの物と一緒。
LineStart 円グラフの内径を指定する。
LineLength 円グラフの外径を指定する。
LineWidth 1 Solid=0の時、線の幅を指定する。
LineColor 255, 255, 255, 255 線の色を指定する。
Solid 0 1を指定するとLineColorで該当範囲を塗りつぶす。
ControlAngle 1 0を指定するとStartAngle及びRotationAngleが無視される。何とも説明しにくいOptionなので試しにやってみた方がはやい。
ControlStart
StartShift
0 ControlStartで1を指定するとLineStartからのシフト値をStartShiftで指定出来る。つまりLineStartの値がStartShiftの分だけ増減する。何に使うのかよく分からないが、MeterStyleでLineStartを指定しておいて各Meter個別にStartShiftで調整とか何だろうか。
ControlLength
LengthShift
0 LineLengthになっただけで話は上記のControlStart, StartShiftとほぼ一緒。
ValueRemainder Rotatorの物と一緒。

Meter=Shape

図形を描画するMeter。

Option名 defalt値 概要
Shape
Shape2
...
図形オブジェクトを定義する。複数のオブジェクトがある時ShapeNのNが大きい程前面に描画される。
Shape Types
type名 引数 概要
Rectangle X
Y
Width
Height
RadiusX
RadiusY
矩形を描画する。
X(必須)
オブジェクトのX座標。
Y(必須)
オブジェクトのY座標。
Width(必須)
オブジェクトの幅。
Height(必須)
オブジェクトの高さ。
RadiusX(オプション)
コーナー半径。RadiusYと一緒に指定された時はX軸のそれ。
RadiusY(オプション)
Y軸コーナー半径。
Shape=Rectangle 0,0,100,50
Shape=Rectangle 0,0,100,50,10
Shape=Rectangle 0,0,100,50,20,5
Ellipse CenterX
CenterY
RadiusX
RadiusY
円形を描画する。
CenterX(必須)
中心のX座標。
CenterY(必須)
中心のY座標。
RadiusX(必須)
円の半径。RadiusYと一緒に指定された時はX軸のそれ。
RadiusY(オプション)
Y軸半径。
Shape=Ellipse 50,50,50
Shape=Ellipse 50,50,50,25
Line StartX
StartY
EndX
EndY
線を描画する。
StartX(必須)
始点のX座標。
StartY(必須)
始点のY座標。
EndX(必須)
終点のX座標。
EndY(必須)
終点のY座標。
Shape=Line 50,50,200,200
Arc StartX
StartY
EndX
EndY
RadiusX
RadiusY
RotationAngle
SweepDirection
ArcSize
ShapeEnding
円弧を描画する。
StartX(必須)
始点のX座標。
StartY(必須)
始点のY座標。
EndX(必須)
終点のX座標。
EndY(必須)
終点のY座標。
RadiusX(オプション)
X軸半径
RadiusY(オプション)
Y軸半径
RotationAngle(オプション)
楕円の回転角度。当たり前だがRadiusYが指定されない円形の場合無意味。
SweepDirection(オプション)
円弧の描画方向。defaultの0は時計回りで1は反時計回り。
ArcSize(オプション)
円弧の大きさ。defaultの0は小で1は大。
ShapeEnding(オプション)
図形を閉じるかどうか。defaultの0は開かれていて1は閉じる。
Shape=Arc 3,200,203,200,100,100,0,0,0,0 | StrokeWidth 6
Shape=Arc 10,15,110,215,*,*,*,*,*,1 | StrokeWidth 6
Curve StartX
StartY
EndX
EndY
ControlX1
ControlY1
ControlX2
ControlY2
ShapeEnding
ベジェ曲線を描画する。制御点が1つの場合は始点と終点をそれぞれ制御点と結んだ直線がそれぞれの点における接線となり、2つの場合は始点と第1制御点および終点と第2制御点を結んだ直線がそれぞれの点における接線となる。
StartX(必須)
始点のX座標
StartY(必須)
始点のY座標
EndX(必須)
終点のX座標
EndY(必須)
終点のY座標
ControlX1(必須)
第1制御点のX座標
ControlY1(必須)
第1制御点のY座標
ControlX2(オプション)
第2制御点のX座標
ControlY2(オプション)
第2制御点のY座標
ShapeEnding(オプション)
図形を閉じるかどうか。defaultの0は開かれていて1は閉じる。
なお制御点数に関わらずその直後はShapeEndingとなる。
Shape=Curve 5,5,200,225,400,115,0 | StrokeWidth 6
Shape=Curve 5,5,215,120,40,130,160,15,0 | StrokeWidth 6
Path StartX
StartY
LineTo
ArcTo
CurveTo
SetRoundJoin
SetNoStroke
ClosePath
直線や曲線など様々な図形を一度に描く事が出来る。
StartX(必須)
始点のX座標
StartY(必須)
始点のY座標
次に描画する図形を指定する。各図形の引数は上記の物と同じだが始点座標とShapeEndingは除く。
  • LineTo(オプション)
  • ArcTo(オプション)
  • CurveTo(オプション)
図形制御コマンドを指定する事も出来る。種類は2つ。
SetRoundJoin(オプション)
図形の線の結合方法を指定する。StrokeLineJoinの下位互換機能。defaltの0は普通に結合で、1は角を丸めて結合…のはずなんだけどパッと見全く分からないのでどうでも良い。
SetNoStroke(オプション)
図形の線の描画を指定する。defaltの0だと描画し、1だと描画しない。
ClosePath(オプション)
図形を閉じるかどうか。defaultの0は開かれていて1は閉じる。
[MeterShape1]
Meter=Shape
X=1
Y=1
Shape=Path MyPath | StrokeWidth 2 | Stroke Color 41,4,2,255 | Fill Color 87,149,212,255
MyPath=20,0 | LineTo 150,0 | LineTo 170,20 | LineTo 170,60 | LineTo 150,80 | LineTo 20,80
| LineTo 0,60 | LineTo 0,20 | ClosePath 1
[MeterShape2]
Meter=Shape
X=1
Y=15R
Shape=Path MyPath | StrokeWidth 2 | Stroke Color 41,4,2,255 | Fill Color 87,149,212,255
MyPath=0,0 | LineTo 200,0 | ArcTo 200,100 | CurveTo 0,0,100,100
Path1 同上 基本的には上記のPathと一緒だが図形の交差部分つまり重複部分の塗りつぶし方法が違う。詳細はここにかいてあるがPathがeven-oddでPath1がnon-zeroとなる。
Combine ShapeN... 2つ以上の図形を結合するコマンド。書式は以下のようになる。
ParentShapeName | CombineType ChildShapeName | CombineType ChildShapeName...
以下はその結合type。
Union
普通に結合する。
Intersect
親子オブジェクトの重なった部分を新しい図形として描画する。
XOR
親子オブジェクトの重なってない部分を新しい図形として描画する。
Exclude
親オブジェクトの子オブジェクトと重なってない部分のみを描画する。
公式Referenceに分かりやすい画像があるのでそれを見た方がはやい。
Shape4=Combine Shape | Union Shape2 | XOR Shape3
Shape4=Combine Shape2 | Intersect Shape
Shape4=Combine Shape | Union Shape3 | Exclude Shape2
Attribute Modifiers
type名 defalt値 概要
Fill Color 255,255,255,255 閉じた図形を塗りつぶすコマンド。取り得るtypeは3つ。
Color
単色。
Shape=Rectangle 0,0,100,100 | Fill Color 255,0,0,255
LinearGradient
線形グラデーション。詳細は後述のDefining Gradientsの項を参照。
RadialGradient
円形グラデーション。詳細は後述のDefining Gradientsの項を参照。
Stroke Color 0,0,0,255 図形の線色を指定するコマンド。取り得るtypeは3つ。
Color
単色。
Shape=Rectangle 0,0,100,100 | StrokeWidth 4 | Stroke Color 255,0,0,255
LinearGradient
線形グラデーション。詳細は後述のDefining Gradientsの項を参照。
RadialGradient
円形グラデーション。詳細は後述のDefining Gradientsの項を参照。
StrokeWidth 1 図形の線幅を指定するコマンド。
Shape=Rectangle 2,2,100,50 | StrokeWidth 4
注意するべきなのはborderではなくstrokeである事。つまり線幅のうち1/2は図形の内側にもう1/2は外側に描画される。
StrokeStartCap
StrokeEndCap
Flat 線の末端処理を指定するコマンド。有効な値は4つ。
  • Flat
  • Round
  • Square
  • Triangle
StrokeDashCap Flat 点線にした時の末端処理を指定するコマンド。有効な値は上記と同じ。
StrokeDashes 点線で描写するコマンド。DashSizeとGapSizeのペアで指定する。
StrokeDashes 2,1.5
この数字はピクセル数ではなくStrokeWidthからの倍率となる。上記で言うと線の長さが2倍で間隔が1.5倍の点線となる。
StrokeDashes 2,1,3,1.5,4,2
などとする事も出来る。
StrokeLineJoin Miter, 10.0 線と線の結合方法を指定する。有効な値は4つ。
  • Miter
  • Bevel
  • Round
  • MiterOrBevel
これは公式Referenceの画像を見た方がはやい。
Shape=Rectangle 0,0,100,100 | StrokeWidth 4 | StrokeLineJoin Bevel
StrokeDashOffset 0 点線の最初の線分のオフセットをピクセルで指定する。
Shape=Rectangle 0,0,100,100 | StrokeWidth 4 | StrokeDashes 2,2 | StrokeDashOffset 10
Transform Modifiers
type名 defalt値 概要
Rotate 0, AnchorX, AnchorY 図形の回転角を度で指定する。図形の左上を基準点にしたオフセットXおよびYをピクセルで指定する事も出来る。
Shape=Rectangle 0,0,100,100 | Rotate 45
Shape=Rectangle 0,0,100,100 | Rotate 90,10,50
Scale 1.0, 1.0, AnchorX, AnchorY 図形のX軸およびY軸のスケールを指定する。図形の左上を基準点にしたオフセットXおよびYをピクセルで指定する事も出来る。ただしStrokeWidthは影響を受けない。
Shape=Rectangle 0,0,100,100 | Scale 1.5,0
Shape=Rectangle 0,0,100,100 | Scale 3.0,0.5,100,100
Skew 0.0, 0.0, AnchorX, AnchorY 図形を傾斜させる角度を度で指定する。長方形を平行四辺形に変形させる効果と思えば良い。図形の左上を基準点にしたオフセットXおよびYをピクセルで指定する事も出来る。
Shape=Rectangle 0,0,100,100 | Skew 20,0
Shape=Rectangle 0,0,100,100 | Skew 0,-20,100,0
Offset 0, 0 図形を移動させるオフセットをピクセルで指定する。
Shape=Rectangle 0,0,100,100 | Offset 10,0
TransformOrder Rotate, Scale, Skew, Offset Transform Modifierが適用される順番を変更する事が出来る。回転前に移動したりする時に便利。
Shape=Rectangle 0,0,100,100 | TransformOrder Scale,Rotate
Extend Modifier
type名 defalt値 概要
Extend 特別なModifier。これは例を見た方がはやいだろう。
[MeterShapes]
Meter=Shape
Shape=Rectangle 0,0,100,50 | Extend MySharedModifiers, MyRotateAndScale1
Shape2=Rectangle 20,10,50,50 | Extend MySharedModifiers, MyRotateAndScale2
MySharedModifiers=Fill Color 0,0,0,255 | StrokeWidth 4 | Stroke Color 255,255,255,255
MyRotateAndScale1=Rotate 20 | Scale 1.5,0
MyRotateAndScale2=Rotate 45 | Scale 2.0,1.5
Defining Gradients

グラデーションに関する項目。FillとStrokeで使いLinearGradientとRadialGradientの2種類がある。

[MeterShape]
Meter=Shape
Shape=Rectangle 0,0,100,100 | Fill LinearGradient MyFillGradient
MyFillGradient=180 | 255,0,0,255 ; 0.0 | 0,255,0,255 ; 0.5 | 0,0,255,255 ; 1.0
Shape2=Rectangle 50,50,100,100 | StrokeWidth 10 | Stroke LinearGradient MyStrokeGradient
MyStrokeGradient=270 | 0,0,255,255 ; 0.0 | 0,255,0,255 ; 0.5 | 255,0,0,255 ; 1.0
type名 引数 概要
LinearGradient Angle
Color
Percentage
線形グラデーション。グラデーション角は度で、パーセンテージは0.0から1.0の間で指定する。
[MeterShape]
Meter=Shape
Shape=Rectangle 1,1,101,101 | Fill LinearGradient MyFillGradient
MyFillGradient=180 | 255,0,0,255 ; 0.0 | 0,255,0,255 ; 0.5 | 0,0,255,255 ; 1.0
RadialGradient CenterX
CenterY
OffsetX
OffsetY
RadiusX
RadiusY
Color
Percentage
円形グラデーション。
CenterX(必須)
図形中心からグラデーション円形の中心へのX軸距離を指定する。
CenterY(必須)
図形中心からグラデーション円形の中心へのY軸距離を指定する。
OffsetX(オプション)
グラデーション円形の中心からグラデーションの中心へのX軸距離を指定する。
OffsetY(オプション)
グラデーション円形の中心からグラデーションの中心へのY軸距離を指定する。
RadiusX(オプション)
グラデーションのX軸半径を指定する。
RadiusY(オプション)
グラデーションのY軸半径を指定する。
Color ; Percentage(必須)
色とパーセンテージのペアを1つ以上指定する。ただしパーセンテージは0.0から1.0。
[MeterShape]
Meter=Shape
Shape=Ellipse 50,50,50 | | StrokeWidth 0 | Fill RadialGradient MyGradient1
MyGradient1=0,0 | 155,200,232,255 ; 0.0 | 6,46,75,255 ; 1.0
Shape2=Ellipse 170,50,50 | StrokeWidth 0 | Fill RadialGradient MyGradient2
MyGradient2=0,0,20,20 | 155,200,232,255 ; 0.0 | 6,46,75,255 ; 1.0

Meter=String

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
MeasureName
MeasureName2
...
指定出来る数に違いがあるだけで共通の物と一緒。だがここで注意して欲しいのはこのMeterはMeasureNameが必須ではないという点。Textで直接文字列を指定してもよい。
Text %1 表示するテキストを指定する。各MeasureNameの値は%Nという書式で表す事が出来る。
Prefix Textの前に付ける文字列を指定する。
Postfix Textの後に付ける文字列を指定する。
FontFace Arial Font名を指定する。
FontSize 10 Fontサイズを指定する。
FontColor 0, 0, 0, 255 Fontカラーを指定する。
FontWeight 何か見たぞこれと思ったらInlineの方にはあるんだね。設定内容は同じなので参照する事。
StringAlign Left Meter内の文字列の表示位置を指定するとReferenceには書いてあるがどう見てもMeter自体の位置が動く。これが意図した挙動なのかどうなのかは知らないが。有効な値は以下
Left, Right, Center (LeftTop, RightTop, CenterTopと同一)
LeftBottom, RightBottom, CenterBottom
LeftCenter, RightCenter, CenterCenter

ここでちょっと問題となるのはLeft以外を設定した場合のX、Yの相対指定。r及びRはStringAlign適用後の位置ではなく適用前の物なので注意。指定された座標をアンカーとしてMeter自体が動くのだからそうじゃないと都合が悪いことになってしまう。
StringStyle Normal 文字列のstyleを指定する。有効な値はNormal, Bold, Italic, BoldItalicの4つ。
StringCase None 文字列の大文字小文字を制御する。有効な値はNone, Upper, Lower, Properの4つ。
StringEffect None 文字列効果を制御する。有効な値はNone, Shadow, Borderの3つ。
FontEffectColor 0, 0, 0, 255 StringEffectの色を指定する。
ClipString 0 文字列のクリップ方法を指定する。
  1. 文字列は切り詰められないし改行もされない。
  2. Wで指定されたサイズを文字列が超えた場合は切り詰められ省略マークが付く。Hで指定されたサイズを文字列が超えた場合はHが十分なサイズである場合は改行される。
  3. WまたはHが指定された場合は1と一緒。未指定の場合は文字列を表示出来るまでMeterのサイズを拡張する。ただしその最大値はClipStringW及びClipStringHで指定する事が出来る。
ClipStringW ClipString=2の時の最大幅を指定する。ただしW指定時は無視される。
ClipStringH ClipString=2の時の最大高を指定する。ただしH指定時は無視される。
TrailingSpaces
4.5で追加
0 1を指定すると「"」で囲まれたText Optionの前後にスペースを表示する。
Angle 0.0 文字列の角度をラジアンで指定する。
Percentual 0 1を指定するとMeasure値を%値に変換する。
NumOfDecimals 0 表示する小数点以下の桁数を指定する。
Scale 1 単位換算に使う。指定した値で割られた値が表示される。1000.0と小数点まで指定したら小数点以下まで計算される。
AutoScale 0 平たく言うと単位の自動換算。
0:無効
1:1024で換算
1k:1024で単位付き換算
2:1000で換算
2k:1000で単位付き換算
Inline Options

読んで字のごとく文字列の一部に適用するOption。この一連のOptionは最後に適用される。またD2Dを使う為、Rainmeter SectionにAccurateText=1が設定されていなければならない。

Option名 defalt値 概要
InlineSetting
InlineSetting2
...
設定名とその値を指定する。
InlineSetting=Size | 12
詳細は後述。
InlinePattern
InlinePattern2
...
InlineSettingNを適用する文字列を正規表現で指定する。キャプチャーが使われているならば適用範囲はキャプチャーの範囲のみ。使われていないならば該当する文字列全体。ORは普通に|、ANDは肯定先読みを使えとリファレンスには書いてあるが先読み後読みはちょっと使い方がややこしい。別途仕組みを用意した方が良かったんじゃ。
InlineSetting
setting名 引数 概要
Face FontName フォント名を指定する。
Size FontSize フォントサイズを指定する。
Color ColorCode 色を指定する。
Weight Number 1-999の範囲で文字の太さを指定する。指定された値がフォントでサポートされていないならば最も近い物が使われる。以下は一般的な値
  1. Thin (Hairline)
  2. Extra Light (Ultra Light)
  3. Light
  4. Regular (Normal)
  5. Medium
  6. Semi Bold (Demi Bold)
  7. Bold
  8. Extra Bold (Ultra Bold)
  9. Black (Heavy)
  10. Extra Black (Ultra Black)
しかし殆どの場合用意されているのはBoldだけの場合が多い。
Case 大文字小文字を指定する。有効な値は4つ
  • Lower
  • Upper
  • Proper
  • Sentence
説明の必要はないだろうがProperは単語の先頭をSentenceは文章の先頭を大文字にする。
CharacterSpacing Leading
Trailing
MinimumAdvanceWidth
文字の前のスペースLeadingと文字の後ろのスペースTrailingの2つを正負の数字で指定する。
InlineSetting=CharacterSpacing|2|2
InlineSetting=CharacterSpacing|-0.5|-0.5
Minimum Advance Widthという引数もあるのだが詳細不明。なおどの値も*で省略する事が出来る。
Italic 文字列をイタリック体にする。引数は必要ない。
Oblique 文字列を斜体にする。引数は必要ない。
Underline 文字列に下線を付ける。引数は必要ない。
Strikethrough 文字列を取り消し線を付ける。引数は必要ない。
Shadow X Offset
Y Offset
Blur Amount
Color
文字に影を付ける。引数の説明は不要だろうが一応
X Offset
X軸オフセット量。プラスを指定すれば右方向でマイナスを指定すれば左方向となる。
Y Offset
Y軸オフセット量。プラスを指定すれば下方向でマイナスを指定すれば上方向となる。
Blur Amount
ぼかし量をピクセルで指定する。
Color
色を指定する。
Stretch Number フォントの幅を操作する。有効な値は下記
  1. Ultra-Condensed
  2. Extra-Condensed
  3. Condensed
  4. Semi-Condensed
  5. Normal
  6. Semi-Expanded
  7. Expanded
  8. Extra-Expanded
  9. Ultra-Expanded
Typography code
index
Typographyなんてプログラマー的には耳慣れないがようは分数や下付き上付きのような特殊なフォント群とでも思えば良い。当たり前だが使う為にはまずフォントがサポートしている必要がある。少数のTypographyがindexを必要とする事に注意。種類が多いので詳細は公式を見る事
InlineSetting=Typography|code
InlineSetting=Typography|code|index
GradientColor Angle
Color;Percentage
Color;Percentage
...
Angleはそのままグラデーションの角度で度で指定する。
  1. Right to Left
  2. Bottom to Top
  3. Left to Right
  4. Top to Bottom
ColorはColor Code、Percentageはグラデーションの位置で0.0から1.0の間で指定する。
InlineSetting=GradientColor|180|255,0,0,255 ; 0.0
|0,255,0,255 ; 0.5|0,0,255,255 ; 1.0
None InlineSettingを一切適用しない。通常!SetOptionコマンドで使われる。

MeterStyles

MeterStyle Optionを使って他のSectionのOptionを継承する事が出来る。MeterStyle Optionの値は「|」で複数指定する事も出来る。呼ぶ方を子Section、呼ばれる方を親Sectionとし親子に同じOptionが存在したとすると

  • 親よりも子が優先となる。
  • 親が複数呼ばれている時は後から呼ばれた方が優先となる。

しかし継承出来ないOptionもある。

  • Meter Typeを指定するMeter Optionは継承出来ない。つまり必ず直接指定しなければならない。
  • 親Sectionの更に親というのは許されていない。言い換えると2世代を超える継承というのは不可能。

親Sectionは必ずしもMeasureまたはMeter Sectionである必要はない。どちらでもない場合はMeterStyle Sectionとして取り扱われる。継承されたOptionで有効でないものは無視される。つまり親子でTypeが違っても別に構わない。

[MyFirstParent]
Meter=String
Text=I'm a parent!
X=10
FontColor=255,0,0
FontFace=Segoe UI
FontSize=15
AntiAlias=1
StringStyle=Bold

[MySecondParent]
StringStyle=Italic
FontColor=0,255,0

[MyChild]
Meter=String
MeterStyle=MyFirstParent | MySecondParent
FontColor=0,0,255