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

  • 2022年09月06日 4.5対応

General

Option名 defalt値 概要
Measure 取得する値のTypeを定義する。このOptionは必須。
UpdateDivider 1 Rainmeter Sectionで指定されたUpdateにこの値を掛けた物がMeasureの更新間隔となる。特に指定しない場合はRainmeter SectionのDefaultUpdateDividerが使われる。なお負の数を指定した場合MeasureのUpdateはskinがロードまたは更新時の1回のみとなる。
OnUpdateAction MeasureのUpdate毎に発火する。
OnChangeAction Measureの数値または文字列に変更があった場合に発火する。ただしスキンのload及びrefresh時は無視される。バックグラウンドで動作するようなプラグインはload及びrefresh時の初回も有効。
InvertMeasure 0 1を指定したとき値を反転する。
MaxValue
1.0 値の最大値を指定。MinValueと共にパーセント値を作るのに必要。
MinValue 0.0 値の最小値を指定。
AverageSize 1 ここで指定した個数の値の平均をMeasureの値とする。つまり10を指定すれば直近の10個の値の平均を返すという事。
DynamicVariables 0 1を指定するとDynamic Variableを扱えるようになる。
Disabled 0 1を指定するとupdateを止め常に0を返す。
Paused 0 1を指定するとupdateを止め直近の値を返す。
Group Measureのグループを定義する。

IfActions

Option名 defalt値 概要
IfAboveValue
IfAboveAction
IfAboveValueで指定した閾値を上回ったらIfAboveActionが発火する。発火は閾値を上回った瞬間のみ。
IfBelowValue
IfBelowAction
IfBelowValueで指定した値を下回ったらIfBelowActionが発火する。発火は閾値を下回った瞬間のみ。
IfEqualValue
IfEqualAction
IfEqualValueで指定した値と等しかったらIfEqualActionが発火する。発火は閾値と等しくなった瞬間のみ。なお比較される値は整数に丸められる。

IfConditions

このOptionは数値計算にのみ使われる。文字列判定がしたい場合はIfMatchActionsを使う事。

Option名 defalt値 概要
IfCondition
IfCondition2
...
IfTrueAction
IfTrueAction2
...
IfFalseAction
IfFalseAction2
...
IfConditionで指定したbooleanを返す条件式の結果に合わせてIfTrueActionまたはIfFalseActionが発火する。IfCondition内でMeasureまたはMeterを呼び出すとき[]で括って変数化する必要はない。IfActionsと似ているがこちらはMeasure, Meter, 論理演算子を使った複雑な条件式で、trueとfalseに処理を振り分ける事が出来る。なお論理演算子を使用した場合はそれぞれの条件式を()で囲まなければならない。
IfConditionMode 0 1を指定するとUpdateごとにActionを実行する。じゃあdefaltの挙動はどうなのかと言うとConditionの結果が同じならActionは実行されない。つまりIfConditionがtrueを返したら同じTrueを返し続ける限りIfTrueActionの実行は無視される。

IfMatchActions

Option名 defalt値 概要
IfMatch
IfMatch2
...
IfMatchAction
IfMatchAction2
...
IfNotMatchAction
IfNotMatchAction2
...
IfMatchで指定した正規表現の結果に合わせてIfMatchActionまたはIfNotMatchActionが発火する。正規表現が使えるだけで基本的にはIfConditionsと同じ。
IfMatchMode 0 1を指定するとUpdateごとにActionを実行する。defaltの挙動はIfConditionModeと同一。

Substitute

Option名 defalt値 概要
Substitute 文字列の置換を行う。"置換前":"置換後"というペアを1セットにしてカンマ区切りで指定する。置換ペアは順番に処理される。"の代わりに'でもよい。ただしどちらか片方のみ。つまり'置換前':"置換後"または"置換前":'置換後'は良いが'置換前':'置換後'は駄目という不思議な仕様。
RegExpSubstitute 0 1を指定すると置換が正規表現となる。

Measure=Calc

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
Formula 0 計算式を指定する。下記の物はこのOptionでのみ使用可能。
Random
LowBoundとHighBound間のランダムな値を返す。ただしLowBoundとHighBoundの値を含む。
Counter
Update Cycle数を返す。これはskinがUnload後再びLoadされた時に限りリセットされRefreshではリセットされない。
UpdateRandom 0 1を指定するとupdate毎にランダムな定数が生成される。
UniqueRandom 0 1を指定するとupdate毎にユニークでランダムな定数が生成される。
LowBound 0.0 Random時の下限値。
HighBound 100.0 Random時の上限値。

数字の進数を変えることも出来る。

0b
2進数(例:0b110110 - 10進数では54)
0o
8進数(例:0o123 - 10進数では83)
0x
16進数(例:0xF1 - 10進数では241)

Measure=CPU

  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
Processor 0 0を指定した場合は全てのコアの平均。0以外の自然数を指定した場合は指定したコア。

Measure=FreeDiskSpace

  • MaxValue以外の全てのGeneral Optionが有効。

ドライブの空き容量を取得する。

Option名 defalt値 概要
Drive C: ドライブレターを指定する。
Total 0 1を指定するとドライブの容量を取得する。
Label 0 1を指定するとドライブのラベルを取得する。
Type 0 1を指定するとRemovableやCDRomなどのドライブのタイプを取得する。
IgnoreRemovable 1 1を指定するとリムーバブルは無視される。USBメモリなどを認識させたければ0を指定する事。
DiskQuota 1 1を指定するとディスククオータを取得する。

Measure=Loop

  • AverageSize以外の全てのGeneral Optionが有効。またMinValueとMaxValueは自動的にStartValueとEndValueがセットされる。
Option名 defalt値 概要
StartValue 1 Loopのスタート値を指定する。
EndValue 100 Loopのエンド値を指定する
Increment 1 Loopの増分を指定する
LoopCount 0 Loop回数を指定する。defalt値の0の場合はLoopし続ける。

!CommandMeasureで使うLoop専用コマンドとしてResetが用意されている。

[!CommandMeasure MeasureName "Reset"]

Plugin=MediaKey

マルチメディアキーボードを操作する。対応してるのはSpotifyZune、foobar、Windows Media Player

Options
  • 全てのMeasure General Optionが有効。
Bangs
コマンド 概要
!CommandMeasure "MeasureMediaKey" "NextTrack" リストの次の曲に移動
!CommandMeasure "MeasureMediaKey" "PrevTrack" リストの前の曲に移動
!CommandMeasure "MeasureMediaKey" "Stop" 開始
!CommandMeasure "MeasureMediaKey" "PlayPause" 開始/一時停止
!CommandMeasure "MeasureMediaKey" "VolumeMute" ミュート
!CommandMeasure "MeasureMediaKey" "VolumeDown" ボリュームを下げる
!CommandMeasure "MeasureMediaKey" "VolumeUp" ボリュームを上げる

Measure=PhysicalMemory
Measure=SwapMemory
Measure=Memory

  • MaxValue以外の全てのGeneral Optionが有効。

PhysicalMemoryは物理メモリ、SwapMemoryは物理メモリ + スワップ、Memoryは物理メモリ + スワップ + 仮想メモリを指し使用メモリ量を取得する。

Option名 defalt値 概要
Total 0 1を指定すると搭載メモリを取得する。

Measure=NetIn
Measure=NetOut
Measure=NetTotal

  • 全てのGeneral Optionが有効。

見ての通りではあるがNetInは下りNetOutは上りNetTotalは上下両方のトラフィックを取得する。この一連のMeasureは内部ではbpsで測定しBpsに変換している。従ってMinValueとMaxValueもbitで指定されなければならない。またper secondという単位の都合上UpdateとUpdateDividerの積が1000以外になるのは望ましくない。注意点としてこのMeasureは単にNICを通過したトラフィックの測定以上の物ではないのでLANとWANを区別することが出来ない。つまり得られた数値はおおよその物でしかない。

Option名 defalt値 概要
Interface
4.5で変更
Best Default値がBestになった。インターフェースを指定する。Bestを指定すれば自動でアクティブな物を選んでくれる。ただし有線と無線が両方ともアクティブならば有線の方が選ばれる。またInterfaceの変更に自動で対応させたいならばDynamicVariables=1が必要。
Interface=Best
NIC名を直接指定することも出来る。
Interface=Qualcomm AR938x Wireless Network Adapter
NICのIndex数を指定することも出来る。0を指定した場合は全てが対象となる。
Cumulative 0 1を指定すると累計で取得する。
UseBits 0 1を指定するとbitで取得する。

Plugin=NowPlaying

Playerから現在演奏している曲の情報を得る。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
PlayerName Player名を指定する。
  • 全ての機能をサポートしているPlayer
    AIMP
    PlayerName=AIMP
    ただしAIMP 2.61でテスト。
    foobar2000
    PlayerName=CAD
    ただしfoo_cad pluginが必要。
    iTunes
    PlayerName=iTunes
    ただしiTunes 10.2でテスト。
    J. River Media Center and Media Jukebox
    PlayerName=CAD
    Media Centerは19以降が必要。さて、なんでこれらは一緒くた扱いなのかと思ったらMedia Centerは有料でMedia Jukeboxはその前身の無料ソフトらしい。CADというのはCD Art Displayという補助ソフトの事。つまりPlayer→CAD→Rainmeterとう三段階を踏んで処理する訳だ。当然CADが動いてないとRainmeter側も動かない。
    MediaMonkey
    PlayerName=MediaMonkey
    ただしMediaMonkey 3.2.5でテスト。
    MusicBee
    PlayerName=CAD
    ただしMusicBee 1.2以降が必要。
    Winamp
    PlayerName=Winamp
    WMP
    PlayerName=WMP
    ただしRepeatとShuffle typeは除く。
  • 一部の機能をサポートしているPlayer
    Spotify
    PlayerName=Spotify
    typeはArtist、Track、bangsはPlay、PlayPause、Stop、Next、Previousが対応。
    Last.fm Client, TTPlayer, OpenPandora, Zune
    PlayerName=WLM
    複数のPlayerがまとめて扱われているが最も良いケースでtypeはTitle、Artist、Album、bangsはPlay、Pause、PlayPause、Next、Previous、Stopが対応。
PlayerType 得る値のtypeを指定する。
Artist
アーティスト
Album
アルバム
Title
タイトル
Number
曲順
Year
発売年
Genre
ジャンル
Cover
アートワークのPath
File
演奏中のファイルのPath
Duration
曲長(秒)
Lyrics
歌詞
Position
演奏位置の秒数
Progress
演奏位置の%
Rating
レーティング(0-5)
Repeat
repeat(0, 1)
Shuffle
shuffle(0, 1)
State
0なら停止、1なら演奏中、2なら一時停止
Status
0ならPlayerは非アクティブ、1ならアクティブ
Volume
ボリューム(0-100)
PlayerPath OpenPlayerコマンドで使うPlayerのPathを指定する。未指定ならば自動で検出されたPathで試行する。
TrackChangeAction 曲が変わる時に実行されるactionを指定する。
DisableLeadingZero 0 1を指定するとPlayerTypeのDurationとPositionの書式がMM:SSではなくM:SSとなる。
Bangs
コマンド 概要
Pause 一時停止
Play 開始
PlayPause 開始/一時停止
Stop 停止
Next 次の曲に移動
Previous 前の曲に移動
OpenPlayer Playerを起動
ClosePlayer Playerを終了
TogglePlayer Playerを起動/終了
SetPosition n 絶対値指定(SetPosition 50ならば50%の位置に演奏位置を移動)か相対値指定(SetPosition +5ならば演奏位置を5%進める、SetPosition -10ならば演奏位置を10%戻す)
SetRating n 0-5の間でレーティングを指定する
SetShuffle n 1ならばON、0ならばOFF、-1ならば切り替え
SetRepeat n 1ならばON、0ならばOFF、-1ならば切り替え
SetVolume n 絶対値指定(SetVolume 50ならばVolumeを50%にする)か相対値指定(SetVolume +20ならばVolumeを20%上げる、SetVolume -40ならばVolumeを40%下げる)

Measure=Plugin

  • 全てのGeneral Optionが有効。

詳細は別エントリに掲載。

Option名 defalt値 概要
Plugin プラグインの名前を指定する。

Plugin=Process

プロセスの実行状態を得るplugin。Measureの返り値は指定したプロセスが実行中ならば1、指定したプロセスが未実行ならば-1となる。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
ProcessName プロセス名を指定する。

Plugin=RecycleManager

ごみ箱に関する情報を得るplugin。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
RecycleType Count 情報のtypeを指定する。有効な値は下記
Count
ファイル数
Size
サイズ(byte)
Bangs
コマンド 概要
OpenBin 開く。
EmptyBin 確認後空にする。
EmptyBinSilent 確認無しで空にする。

Measure=Registry

Options
  • 全てのGeneral Optionが有効。
Option名 defalt値 概要
RegHKey HKEY_CURRENT_CONFIGなどのRootキーの名前を指定する。
RegKey キーの名前を指定する。
RegValue
4.5で変更
キーの値を指定する。サポートしてるのはREG_SZ、REG_EXPAND_SZ、REG_MULTI_SZ、REG_DWORD、REG_QWORD、REG_BINARY。
Alternative Behavior 4.5で追加
OutputType Value Measureの返す値を変更する。
Value
RegValueで指定された値を返す。
SubKeyList
RegKeyで指定されたKey下のSubKeyのListを返す。RegValueは無視される。
ValueList
RegKeyで指定されたKey下のValueのListを返す。RegValueは無視される。
OutputDelimiter #CRLF# OutputTypeがSubKeyListもしくはValueListの場合またはValueの型がREG_MULTI_SZの場合の区切り文字を指定する。

Measure=Script

  • 全てのGeneral Optionが有効。

サポートしてるのはLuaのみ。それ以外の言語を使うならば別の方法を用いる。

Option名 defalt値 概要
ScriptFile scripのPathを指定する。

Measure=String

  • InvertMeasure以外の全てのGeneral Optionが有効。
Option名 defalt値 概要
String 文字列を指定する。

Plugin=SysInfo

様々なシステム情報を取得するplugin。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
SysInfoType 取得する情報のtypeを指定する。文字列を返すtypeと数字を返すtypeがある。有効な値は下記
General system values
COMPUTER_NAME
返り値は文字列。コンピューター名を返す。
USER_NAME
返り値は文字列。Windowsの現在のユーザー名を返す。
USER_SID 4.5で追加
返り値は文字列。UserのSIDを返す。
USER_LOGONTIME
返り値は数値。ログオン日時のTimestampを返す。
LAST_SLEEP_TIME 4.5で追加
返り値は数値。Windowsが最後にSLEEPした日時をTIMESTAMPで返す。TimeもしくはUptime Measure経由で文字列を得る事も可能。
LAST_WAKE_TIME 4.5で追加
返り値は数値。Windowsが最後にSLEEPから復帰した日時をTIMESTAMPで返す。TimeもしくはUptime Measure経由で文字列を得る事も可能。
OS_VERSION
返り値は文字列。WindowsのVer.を返す。
OS_BITS
返り値は数値。WindowsのBit数を返す。
PAGESIZE
返り値は数値。メモリーのページサイズをbyteで返す。ページとはメモリ管理上の分割単位のこと。「ページング方式」で検索すると説明が出てくる。
IDLE_TIME
返り値は数値。最後のマウスおよびキーボード入力からの秒数を返す。
Network values
HOST_NAME
返り値は文字列。ネットワーク上のホスト名を返す。
DOMAIN_NAME
返り値は文字列。参加しているドメイン名を返す。
DOMAINWORKGROUP
返り値は文字列。参加しているドメイン名もしくはワークグループ名を返す。
DNS_SERVER
返り値は文字列。プライマリDNSサーバーのIPを返す。
ADAPTER_DESCRIPTION
返り値は文字列。SysInfoDataで指定されたネットワークアダプタの説明を返す。
ADAPTER_TYPE
返り値は文字列。SysInfoDataで指定されたネットワークアダプタのTypeを返す。
ADAPTER_ALIAS 4.5で追加
返り値は文字列。SysInfoDataで指定されたネットワークアダプタが接続するネットワークインターフェースを返す。
ADAPTER_GUID 4.5で追加
返り値は文字列。SysInfoDataで指定されたネットワークアダプタのGUIDを返す
ADAPTER_STATE 4.5で追加
返り値は文字列または数値。SysInfoDataで指定されたネットワークアダプタの接続状態を返す。
ADAPTER_STATUS 4.5で追加
返り値は文字列または数値。SysInfoDataで指定されたネットワークアダプタの動作状態を返す。
ADAPTER_TRANSMIT_SPEED 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタがサポートする送信速度(bit/s)を返す。
ADAPTER_RECEIVE_SPEED 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタがサポートする受信速度(bit/s)を返す。
MAC_ADDRESS 4.5で追加
返り値は文字列。SysInfoDataで指定されたネットワークアダプタMACアドレスを返す。
NET_MASK
返り値は文字列。SysInfoDataで指定されたネットワークアダプタサブネットマスクを返す。
IP_ADDRESS
返り値は文字列。SysInfoDataで指定されたネットワークアダプタのIPを返す。
GATEWAY_ADDRESS
返り値は文字列。SysInfoDataで指定されたネットワークアダプタゲートウェイIPを返す。
GATEWAY_ADDRESS_V4 4.5で追加
返り値は文字列。SysInfoDataで指定されたネットワークアダプタゲートウェイIPv4を返す。
GATEWAY_ADDRESS_V6 4.5で追加
返り値は文字列。SysInfoDataで指定されたネットワークアダプタゲートウェイIPv6を返す。
LAN_CONNECTIVITY
返り値は数値。SysInfoDataで指定されたネットワークアダプタのLANへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
LAN_CONNECTIVITY_V4 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタIPv4アドレスのLANへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
LAN_CONNECTIVITY_V6 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタIPv6アドレスのLANへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
INTERNET_CONNECTIVITY
返り値は数値。SysInfoDataで指定されたネットワークアダプタのインターネットへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
INTERNET_CONNECTIVITY_V4 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタIPv4アドレスのインターネットへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
INTERNET_CONNECTIVITY_V6 4.5で追加
返り値は数値。SysInfoDataで指定されたネットワークアダプタIPv6アドレスのインターネットへの接続状態を表し、繋がっていれば1、繋がっていなければ-1を返す。
Monitor and screen values
NUM_MONITORS
返り値は数値。モニタ数を返す。
SCREEN_SIZE
返り値は文字列。プライマリモニタの解像度をwidth x height形式で返す。
SCREEN_WIDTH
返り値は数値。モニタの解像度の幅をピクセルで返す。モニタが複数ある場合はSysInfoDataで別途指定する事。
SCREEN_HEIGHT
返り値は数値。モニタの解像度の高さをピクセルで返す。モニタが複数ある場合はSysInfoDataで別途指定する事。
VIRTUAL_SCREEN_TOP
返り値は数値。バーチャルスクリーンにおけるモニタの左上のY座標を返す。座標はプライマリモニタから相対的で負の数もありうる。モニタが複数ある場合はSysInfoDataで別途指定する事。
VIRTUAL_SCREEN_LEFT
返り値は数値。バーチャルスクリーンにおけるモニタの左上のX座標を返す。座標はプライマリモニタから相対的で負の数もありうる。モニタが複数ある場合はSysInfoDataで別途指定する事。
VIRTUAL_SCREEN_WIDTH
返り値は数値。バーチャルスクリーンの解像度の幅をピクセルで返す。
VIRTUAL_SCREEN_HEIGHT
返り値は数値。バーチャルスクリーンの解像度の高さをピクセルで返す。
WORK_AREA
返り値は文字列。プライマリモニタの作業エリアの解像度をwidth x height形式で返す。
WORK_AREA_TOP
返り値は数値。作業エリアにおけるモニタの左上のY座標を返す。座標はプライマリモニタから相対的で負の数もありうる。モニタが複数ある場合はSysInfoDataで別途指定する事。
WORK_AREA_LEFT
返り値は数値。作業エリアにおけるモニタの左上のX座標を返す。座標はプライマリモニタから相対的で負の数もありうる。モニタが複数ある場合はSysInfoDataで別途指定する事。
WORK_AREA_WIDTH
返り値は数値。作業エリアの解像度の幅をピクセルで返す。モニタが複数ある場合はSysInfoDataで別途指定する事。
WORK_AREA_HEIGHT
返り値は数値。作業エリアの解像度の高さをピクセルで返す。モニタが複数ある場合はSysInfoDataで別途指定する事。
Time Zone values
TIMEZONE_ISDST
返り値は数値。夏時間の状態を返す。有効な値は下記
1
夏時間が有効。
0
夏時間が無効。
-1
夏時間が考慮されるTime Zoneではない。もしくはOSが対応していない。
TIMEZONE_BIAS
返り値は数値。UTCJSTとの差を分で返す。
UTC = JST + TIMEZONE_BIAS
TIMEZONE_STANDARD_NAME
返り値は文字列。夏時間を考慮しないTime Zone名を返す。
TIMEZONE_STANDARD_BIAS
返り値は数値。JSTと夏時間を考慮しないJSTとの差を分で返す。殆どの場合これは0だろう。
UTC = JST + TIMEZONE_BIAS + TIMEZONE_STANDARD_BIAS
TIMEZONE_DAYLIGHT_NAME
返り値は文字列。夏時間を考慮したTime Zone名を返す。
TIMEZONE_DAYLIGHT_BIAS
返り値は数値。JSTと夏時間を考慮したJSTとの差を分で返す。殆どの場合これは-60だろう。
UTC = JST + TIMEZONE_BIAS + TIMEZONE_DAYLIGHT_BIAS
SysInfoData SysInfoTypeの追加Option。

Network Interface Controller

Network valuesでのNICを指定する。Measure=NetInのInterfaceとほぼ一緒。Bestを指定すれば自動でアクティブな物を選んでくれる。ただし有線と無線が両方ともアクティブならば有線の方が選ばれる。またInterfaceの変更に自動で対応させたいならばDynamicVariables=1が必要。
SysInfoData=Best
NIC名を直接指定することも出来る。
SysInfoData=Qualcomm AR938x Wireless Network Adapter
NICのIndex数を指定することも出来る。

Monitor number

Monitor and screen valuesでのモニタ番号を指定する。この番号はOSが割り振る物で1が常にプライマリとは限らないので注意する事。

Measure=Time

  • 全てのGeneral Optionが有効。

Formatに従って整形された文字列を返すMeasureだが、Formatが未指定でかつ数値が要求された場合WindowsのTimeStampを返す。Formatが指定されていてTimeStampが欲しい場合は [MeasureName:Timestamp]を使う事。

Option名 defalt値 概要
Format
FormatLocale
Format=%H:%M:%S Formatで取得した値の整形フォーマット、FormatLocaleでそのlocaleを指定する。
TimeStamp
TimeStampFormat
TimeStampLocale
TimeStampで取得する日時を指定する。TimeStampの指定方法には幾つか方法がある。
  • TimeStampFormatとセットで日時の文字列をセットする。TimeStampLocaleでlocaleを変える事も出来る。
  • Windows TimeStampを直接指定する。
  • 夏時間関連のcodeもあるが日本人には全く関係ないので割愛。
TimeZone local GMTからのオフセットを指定する。
DaylightSavingTime 1 0を指定してかつTimeZoneが指定されているならば夏時間を考慮しない。

中々ややこしいので例示しておく。

TimeStamp=Wednesday, February 18, 2015 at 01:07:40
TimeStampFormat=%A, %B %#d, %Y at %H:%M:%S
TimeStampLocale=en-US
FormatLocale=de-DE
Format=%#c

Formatの文法は以下

code 概要
%a 短縮した曜日名 Sat
%A 短縮しない曜日名 Saturday
%b 短縮した月名 Dec
%B 短縮しない月名 December
%c 短縮した日時 Sat Dec 26 22:55:03 2015
%#c 短縮しない日時 Saturday, December 26, 2015, 22:55:03
%C 世紀 00 - 99
%d 0で桁揃えした日付 01-31
%D MM/DD/YYで表される日付、%m/%d/%yと同じ 12/26/15
%e スペースで桁揃えした日付 1-31
%F YYYY-MM-DDで表される日付、%Y-%m-%dと同じ 2015-12-26
%g 週番号を基準にした年の下2桁、つまり1週目の最初の日が年の1日目となる 00 - 99
%G 週番号を基準にした年 2015
%h 短縮した月名、%bと同じ Dec
%H 24時間制での時間 00 - 23.
%I 12時間制での時間 01 - 12.
%j 年内の経過日数 001 - 366.
%m 01 - 12.
%M 00 - 59.
%n 改行記号 \n
%p 12時間制でのAMPM
%r 12時間制でのFULL時刻 10:55:03 pm
%R 24時間制でのHH:MMで表される時刻 22:55
%S 00 - 59.
%t タブ記号 \t
%T HH:MM:SSで表される時刻、%H:%M:%Sと同じ 22:55
%u ISO 8601が規定する所すなわち週の初めを月曜とした時の曜日に番号を割り振った物 1 - 7
%U 最初の日曜日を含む週がその年の第1週とした場合の週番号 00 - 53
%V ISO 8601が規定する所すなわち最初の木曜日を含む週がその年の第1週とした場合の週番号 00 - 53
%w 週の初めを日曜とした時の曜日に番号を割り振った物 0 - 6
%W 最初の月曜日を含む週がその年の第1週とした場合の週番号 00 - 53
%x 短縮した日付 12/26/15
%#x 短縮しない日付 Saturday, December 26, 2015
%X 時刻 22:55:03
%y 年の下2桁 00 - 99.
%Y
%z TimeZoneのオフセット -0500
%Z TimeZone名 Eastern Standard Time
%% パーセント記号
locale-date sytem localeでの日付
locale-time sytem localeでの時刻

捕捉として週番号が3種類あるが我々が日常よく使うのは%Uだろう。%VはISOに規定されてはいるがこのルールだと新年第1週に旧年が含まれる事になり得る。%Wは%Uと似ているが週初めが月曜。

下記の様に#を付けると数字の桁揃えをしない。

%#d, %#H, %#I, %#j, %#m, %#M, %#S, %#U, %#w, %#W, %#y, %#Y

下記の2つはsytem localeの代替表現とあるし、EまたはOがないものと何も変わらないので同じ物と思って良いんだろうか。よく分からない。

%Ec, %EC, %Ex, %EX, %Ey, %EY
%Od, %Oe, %OH, %OI, %Om, %OM, %OS, %Ou, %OU, %OV, %Ow, %OW, %Oy

Measure=Uptime

  • 全てのGeneral Optionが有効。

再起動してからの経過時間を取得。文字列ならばFormatで定義された物を返し、数値ならば経過秒数を返す。

Option名 defalt値 概要
Format %4!i!d %3!i!:%2!02i! 取得する値のフォーマットを指定する。
AddDaysToHours 1 1を指定してかつFormatに%4がない場合、経過日数を経過時間で表しこれがdefaltの挙動。と言う事は0を指定してかつFormatに%4がない場合、当然経過日数を無視した経過時間にきっとなるんだろう。
SecondsValue 経過秒数を指定値で上書きする。

Formatの文法は以下

%4
%3 時間
%2
%1
!i! 0で桁揃えをしない。
!02i! 0で桁揃えをする。数字部分が桁数。!03i!とすると3桁で揃える。この桁揃えは必ず指定しないと認識しない。

Measure=WebParser

旧WebParser Plugin。webから情報を取得するMeasure。しかしcookieは使えないしログインを必要とするようなページも当然無理。だいたい正規表現のみでhtmlから情報を抜き出すのも相当無理がある。WebParserで扱えるような形にまでscriptで加工するのが無難なのではないか。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
URL URLもしくはファイルのPathを指定する。他のWebParser Measureが指定された時、親Measureの指定となりその返り値が後述のStringIndexと共に使われる。またURLの指定にMeasure名を使いたい場合はMeasure名に&を付けること。
URL=http://SomeSite.com/[&WebMeasure]
RegExp 使用する正規表現を指定する。
StringIndex このOptionは子Measureで使われる。親Measureでのキャプチャー番号を指定する。$1とか$2とかのアレね。一応99まで使用可能らしい。
StringIndex2 子MeasureでRegExpを使う時のキャプチャー番号を指定する。RegExpが指定されてない時は当然無効となる。例を見た方が速い。
[Variables]
Item=.*(.*)

[MeasureSite]
Measure=WebParser
Url=http://feeds.gawker.com/lifehacker/full
RegExp="(?siU)(.*).*(.*)#Item##Item##Item#"

[MeasureItem1Title]
Measure=WebParser
Url=[MeasureSite]
RegExp="(?siU)(.*)"
StringIndex=3
StringIndex2=1
UpdateRate 600 Updateの頻度を指定する。WebParser Measureの頻度だから当然サイトへのアクセス頻度となる。短い間隔でスクレイピングされてもサイト側が困るので適当に長い方が良い。従ってdefalt値の600から下げるべきではない。Update * UpdateDivider * UpdateRateが実際のサイトへのアクセス間隔となる。
DecodeCharacterReference 0 文字参照のデコード方法を指定する。Substituteで"等を変換する手間が省ける。詳しくチェックしてないけど文字実体参照、10進数文字参照、16進数文字参照が全て使えるらしい。このOptionは子Measureで使う。有効な値は下記
0
無効
1
数値文字参照と文字実体参照の両方
2
数値文字参照のみ
3
文字実体参照のみ
DecodeCodePoints
4.5で追加
0 1を指定するとUnicodeのCode Pointを自動的にデコードする。サポートは\u0000から\uFFFFまで。これは子Measureで使用される。
Debug 0 RainmeterのlogにDebug Messageを送る。有効な値は下記
0
無効
1
Debug Messageを送る。RainmeterはDebugモードで動いてなければならない。
2
skinフォルダにWebParserDump.txtというファイル名でダウンロードしたweb pageを保存する。Debug2Fileでファイル名を指定する事も可能。スクレイピング対策としてクライアントによって異なる挙動を示すpageに有効。これはDebugに使うのであって意図通りに動いたらこのOptionは不要。
Debug2File Debug=2の時、WebParserDump.txtに代わる保存Pathを指定する。ただしフォルダを自動生成はしない。
Download 0 1を指定するとURLで指定されたファイルをWindowsのtempフォルダに保存しそのPathをMeasureの返り値とする。画像なんかに使う。
DownloadFile Download=1の時、Windowsのtempフォルダに代わる相対Pathを指定する。指定されたフォルダはskinフォルダに作られる。絶対Pathを指定する事は出来ない。
ErrorString 正規表現エラーが発生した時MeasureはこのOptionで指定した文字列を返す。ただしOnRegExpErrorAction Optionの方が柔軟で使い勝手が良いかもしれない。
LogSubstringErrors 1 0を指定すると「Not enough substring」errorが出なくなる。親Measureで使う。
CodePage 0 文字コードを指定する。最近のpageは殆どUTF-8でWebParserのdefalt値もこれである。Shift JISなど言語特有の文字コードが使われているならば文字コード名ではなく、Windows code pagesで定義された番号を指定すること。
ProxyServer /auto 使用するproxyを指定する。有効な値は下記
/auto
IEの設定を使う。
/none
無効
ServerName:Port
proxyのアドレスとポートを指定する。
UserAgent Rainmeter WebParser plugin 名前通りUAを指定する。UAを見てアクセス制限してるページもないではないのでそんな時に使うぐらいかね。
Header
Header2
...
http headerを指定する。
Header=Cache-Control: no-cache
Flags
4.5で追加
Resync 親Measureで使用するFlagを指定する。|で複数指定できる。
Resync
変更があった場合のみダウンロードする。
ForceReload
サーバーのキャッシュではなく最新データをダウンロードする。
NoCookies
cookieを使わない。
NoCacheWrite
取得したデータをキャッシュに書き込まない。
Hyperlink
リロード時にExpiresもLastModifiedもサーバーから取得できなかった場合にダウンロードする。
TempFile
キャッシュできない場合一時ファイルを作る。
NoAuth
URLベースの認証を試行しない。
PragmaNoCache
キャッシュがプロキシに存在してもサーバーにリクエストする。
Secure
安全なトランザクションセマンティクスを使用する。
IgnoreCertName
サーバーから返されたSSL/PCTベースの証明書との照合を無効にする。
IgnoreCertDate
SSL/PCTベースの証明書の有効期限のチェックを無効にする。
IgnoreHTTPRedirect
HTTPSからHTTPへのリダイレクトの検出を無効にする。
IgnoreHTTPSRedirect
HTTPからHTTPSへのリダイレクトの検出を無効にする。
ForceReload 0 1を指定すると強制的にWebParserを実行する。通常はキャッシュに同ファイル名があれば実行をしないらしい。
Action Options

以下のOptionは親Measureでのみ有効。

Option名 defalt値 概要
FinishAction リソースのダウンロード及び正規表現での評価が終了した時に実行されるactionを指定する。WebParserは同期的に動くがRainmeter本体は非同期である。FinishActionはそれを同期的に動かすのに使われる。
OnConnectErrorAction URLで指定されたリソースへの接続に失敗した時に実行するactionを指定する。
OnRegExpErrorAction 正規表現での評価が失敗した時に実行するactionを指定する。
OnDownloadErrorAction Download=1が指定されていているがリソースのダウンロードに失敗した時に実行するactionを指定する。
Measure Commands

以下のCommandは親Measureでのみ有効。

コマンド 概要
Update Updateを即時実行する。「override any current UpdateRate setting」がいまいち分からんがたぶん即時実行後Update Cycleを再カウントするんだろう。
Reset 親Measureと関連する子Measureの全ての値をリセットする。

Plugin=WiFiStatus

ワイヤレスネットワークに関するplugin。

Options
  • 全てのMeasure General Optionが有効。
Option名 defalt値 概要
WiFiInfoType 取得する情報のtypeを指定する。有効な値は下記
SSID
SSID
Quality
電波強度の%値。
TXRate 4.5で追加
現在の接続の理論上の最大転送速度を返す。
RXRate 4.5で追加
現在の接続の理論上の最大受信速度を返す。
Encryption
使われている暗号化方式。
AUTH
使われている認証方式。
PHY
使われているWi-Fi規格。対応はVista以降。
List
全てのAPのリストを返す。
WiFiIntfID 0 複数のワイヤレスインターフェースの存在時に使う。defaltの0でMeasureから何の応答もないならば、1もしくは2かそれ以降を試してみること。
WiFiListStyle 0 WiFiInfoType=List時のフォーマットを指定する。有効な値は下記
0
SSID.
1
SSID @PHY.
2
SSID (Encryption:Authentication).
3
SSID @PHY (Encryption:Authentication).
4 4.5で追加
SSID [Quality]
5 4.5で追加
SSID @PHY [Quality]
6 4.5で追加
SSID (Encryption:AUTH) [Quality]
7 4.5で追加
SSID @PHY (Encryption:AUTH) [Quality]
WiFiListLimit 5 WiFiInfoType=List時の取得数を指定する。