2009.11.01に、Rainmeter 1.1正式版がリリースされました。詳細はこちらの記事をご覧ください。
Rainmeter 1.1 正式版がリリースされました!
2009.11.01に、Rainmeter 1.1正式版がリリースされました。詳細はこちらの記事をご覧ください。
こまごまとした修正点や改善点のまとめです。
私的なまとめですので、公開されているビルドに反映されているものではありません。ご注意ください。
■更新履歴(※更新のたびに、たぶん一番上にあがってきます)
- 2009.04.20 : NetIn/NetOutでInterfaceを指定してCumulative=1とすると、正常な値が表示されない
- 2009.11.06 : Meter=STRINGでPercentual=1のときに、NumOfDecimalsの設定が有効にならない
- 2009.11.06 : Meter=STRINGでNumOfDecimals=0のときに、32ビットを越える値を表示できない
- 2009.11.06 : PerfMonプラグインで、32ビットを越える値を取得できない
以下、続きに格納。
Aeroが有効な状態でスキンのZオーダーを"On Desktop"に変更したら、画面から消えてなくなってしまう問題についてのまとめです。
私的なまとめですので、公開されているビルドに反映されているものではありません。ご注意ください。
■更新履歴(※更新のたびに、たぶん一番上にあがってきます)
- 2009.10.30 : Desktop compositionが有効なら、"On Desktop"を使わせないようにする("Bottom"に切り替える)
- 2009.11.05 : "On Desktop"なスキンウィンドウが存在するときにDesktop compositonを無効→有効にされたら、その切り替えを検知して"Bottom"に切り替えるようにする
以下、続きに格納。
Windows 7の試用期間が切れる前にいろいろとWDMの機能を試してみてます。
WDM関連の設定を変更したときにちゃんと追随してくれるかどうかは、実環境でチェックしないとわかりませんからね。
すりガラス効果を得るのに、最初はDwmExtendFrameIntoClientArea APIを使って、ガラス効果になってる部分をクライアント領域まで広げる方法で試してみましたが、こいつはどうやらWS_CAPTION(それともボーダー?)を持ってないと有効にならない様子。確かに最初からクライアント領域しかないRainmeterでは広げる以前の問題でした。
単純にクライアント領域に使うのはDwmEnableBlurBehindWindow APIのようで、こちらを使うとすりガラス効果を得ることができました。コードはExampleにあるもののまま。簡単ですね。ちゃんとぼやけてるし、設定に応じて合成色も変わります。
簡単だけど、もしRainmeterで実現するなら、面倒な問題がちらほらありそう(リージョンを切らないと領域が矩形のままだけど、再描画のたびにスキンに合わせて切るとなると、負荷が高くなる)。
(※いろんな記事に分散してたのを統合しました)
Rainmeter0.14.1 〜 1.0で、壁紙や視覚効果の設定を変更すると、解像度変更とは関係ないのにスキンが"Refresh"されてしまう問題についてのまとめです。
本家でのコード変更についてのコメントや、私自身の変更案、コミット予定/済みなものなどが入り混じっていますので、決して公開されているビルドに反映されているものばかりではありません。ご注意ください。
※Rainmeter 1.1ではRefresh処理が省かれたことにより、処理が軽減されてクラッシュする可能性も小さくなりました。
■更新履歴(※更新のたびに、たぶん一番上にあがってきます)
- 2009.09.xx : タイマーを使って遅延処理するように変更(メッセージループの処理を阻害しないようにする)
- 2009.11.04 : タイマー形式を使わず、CTrayWindowでメッセージ検知して全スキンウィンドウを更新するように変更して、一旦終わり
以下、続きに格納。
RainmeterをWindows 2000上で動かしたときの問題についてのまとめです。
私的なまとめですので、公開されているビルドに反映されているものではありません。ご注意ください。
■更新履歴(※更新のたびに、たぶん一番上にあがってきます)
- 2009.10.28 : Windows 2000に対応してない標準添付プラグインについて
- 2009.11.04 : Aboutダイアログを出そうとするとエラーが表示される問題について
以下、続きに格納。
Rainmeter0.14.1で追加されたマルチモニタ対応についてのまとめです。
私的なまとめですので、公開されているビルドに反映されているものではありません。ご注意ください。
■更新履歴 (※更新のたびに、たぶん一番上にあがってきます)
- 2009.09.28 : WindowToScreen関数からexit関数を追い出す(MyInfoEnumProc関数の修正)
- 2009.10.07 : マルチモニタ環境でのモニタ順序と、座標や作業領域の取り扱い
- 2009.10.20 : Negative coordinatesの扱いと、上の件で間違ってたと思われるところを補足
- 2009.10.23 - 27 : (EnumDisplayMonitors APIでの)モニタの順序ってアテにならないのね…… → 別の方法を模索
- 2009.11.02 : これまでの変更に対応するために、WindowToScreen関数を修正して、一旦終わり
以下、続きに格納。
また後で書くためにスペースだけ取っておきます。
- 移動を完了した時の位置保存が、ドラッグ中に何度も何度も行われる挙動の修正(m_Draggingフラグがおかしい)
- デスクトップ領域(Rainmeterでいうと、@0=マルチモニタ全てを合わせた仮想領域)の左端/上端が負の値を持つとき、スキンウィンドウが"On Desktop"の状態だとドラッグ位置が不正になる問題の回避策(たぶんSetParentのせい)
- スキンウィンドウが"On Desktop"以外のとき、デスクトップ領域の上端を越えた位置でマウスドラッグを完了できない挙動の回避策(たぶんWindowsのウィンドウ処理による挙動)
- !RainmeterMoveに、"!RainmeterMove 300@2 200@2"のようなモニタ番号を指定できるようにする
この4点について書く予定。