Rainmeterメモ

少し負荷が高くなるとPCのファンが主張をはじめ、夏場を迎えるにあたって少し様子を見る必要があるなぁと思いRainmeterをカスタマイズして監視することにしました。その備忘録。自分専用に偏狭に解釈したものとなるため一般的な内容については本家英語マニュアルに目を通す事をお勧めします。使用中のRainmeterのバージョンは4.0Betaです。

 

※以下の設定は全ての環境で動作を保証するものではなく、うっかり実行した場合技術的特異点を超え、歴史に残る深刻な被害を引き起こす可能性があります。従って、暴走した場合の対応など一切の質問はお答えしない旨をあらかじめご了承ください。

概要

Rainmeterは「Skin」と呼ばれるパッケージを読み込んであれこれするためのソフトです。

「Skin」はフォルダとその中の設定ファイル (拡張子:ini) +αで構成され、Windows Vista以降のデフォルトのパスは「%UserProfile%\Documents\Rainmeter\Skins」です。

 

同じ階層に置かれた設定ファイルはRainmeter上で切り替えて使用することができます。フォルダにはさらに子フォルダを作成して大がかりなパッケージにすることも可能です。

「%UserProfile%\Documents\Rainmeter\Skins」直下に設定ファイルを置いてもそのままではRainmeterで読み込まれないため、大本となる設定ファイルは各Skinフォルダの下に置いておく必要があります。

 

以下の例では、「Hoge」というSkinの設定ファイル「Test」が置かれた場合を表しています。

設定ファイル

一般的な中身は以下ような感じで公開されていることが多いです。

[Rainmeter]
[Metadata]
[Measures]
[MeterStyles]
[Meters]

 

実際には、この中でも最低限必要となるのはSkinの描画内容を設定する「Meters」だけになります。例えば、以下の内容を記述した設定ファイルを作成し読み込むと、100x100の白い正方形が描画されます。

[MeterTest]
Meter=String
H=100
W=100
SolidColor=FFFFFF

 

この設定の中で、見た目に関連するものだけを「MeterStyles」に分けることができます。

[StyleTest]
H=100
W=100
SolidColor=FFFFFF [MeterTest]
Meter=String MeterStyle=StyleTest

もし、2つ以上同じ「Meter」を描画する場合には「MeterStyles」に分けると管理が楽になります。

 

四角形だけを描画するだけでは物足りないので、PCやインターネット上の情報を取得したり、内部で計算させたりしてその結果を表示することもできます。そこで使用するのが「Measures」になります。例えば計算した結果を表示させる場合は以下のようにします。

[StyleTest]
H=100
W=100
SolidColor=FFFFFF [MeasureTest]
Measure=Calc
Formula=1+1
[MeterTest]
Meter=String MeterStyle=StyleTest MeasureName=MeasureTest Text=%1

この設定ファイルを読み込むと先ほどの四角形と1+1の結果「2」が描画されます。「Text」に続いて記述する「%1」が一番目のMeasureを表示するためのおまじないです。

 

設定ファイルは一つのファイルに長々と書いていくこともできますが大きなファイルの場合査読性が悪くなることから「@include」で分割することもできます。

設定ファイル (完成版)

というわけで個人的に設定する場合、以下のようにいくつかのファイルに分割して管理しています。

概要は以下の通りです。

 

Test.ini

[Rainmeter]
AccurateText=1
@include=Variables.inc
@include2=Measures.inc
@include3=MeterStyles.inc
[Meter1]
    :
[Meter2]
    :

 

Variables.inc

[Variables]
@Include=#ROOTCONFIGPATH#VariablesCommon.inc

Skin固有の変数

 

VariablesCommon.inc

[Variables]
@Include=#ROOTCONFIGPATH#VariablesColor1.inc
;@Include=#ROOTCONFIGPATH#VariablesColor2.inc

Skin共通の変数

 

VariablesColor1.inc

[Variables]

Skin共通の色に関する変数

 

Skinを単体でしか使用しない場合は「Variables」だけでもよいのですが、他のSkinと見た目をそろえたい場合、共通の設定 (例えばSkinの幅など) について一度に変更できるように「VariablesCommon」に分けています。

さらに色に関する情報だけを別のファイル「VariablesColor1」に分けることで、読み込む設定ファイルを切り替えるだけで全てのSkinの色を一気に変えられるようにしています。気分によって全体的に暖色系にまとめたい場合、寒色系にまとめたい場合など、簡単に実現できます。

その他メモメモ

外部サイトの情報を取得してローカルで使用する場合

他のサイトに頻繁にアクセスしてデータを取得するとそのサイトに迷惑がかかり、最悪の場合アクセス制限などがかけられる可能性があります。Skinを作成段階でRegExpを試す場合など、以下の手順で一度ローカルにファイルを落として実施すると効果的です。記述内容が日本語でも読み込み可能です。

 

  1. アクセスするページをブラウザなどで開き、ソースを表示
  2. ソースをコピペして、テキストファイルにペースト、拡張子などは適当に指定してUTF-8で保存
  3. 設定ファイルを以下のように記述 (ソースをデスクトップ上のtest.htmlファイルに保存した場合)
;URL=http://www.example.com/aaa/123.html
URL=file://C:\Users\ユーザ名\Desktop\test.html

外部サイトの画像を使用する場合

動的にアップデートされる画像を取得する場合、WebPerser.dllを使用します。画像サイズ「H」「W」は取得する画像サイズに合わせて変更します。

[Measure]
Measure=Plugin
Plugin=WebParser.dll
Url=http://example.com/test.jpg
StringIndex=1
Download=1

[Meter]
MeasureName=Measure
Meter=Image
W=100
H=250

GMTをJSTに変換

Measureで以下の内容で設定、ここでの「GMT」はGMTベースの時間です。

[GMT2JST]
Measure=Calc
Formula=(GMT+9)%24

先月、来月の計算

[LastMonth]
Measure=Calc
Formula=(ThisMonth=1)?12:(ThisMonth-1)

[NextMonth]
Measure=Calc
Formula=(ThisMonth=12)?1:(ThisMonth+1)