クライアントを複数起動する
新たに解説するまでもなく既に項目があるのですが、検索でクリティカルなワードを思いつかずに見つけられない人も多いようなので解説。
併せて
コマンドラインオプションの使い方なんかも。
解説
Samurizeは同種のソフトに比べて圧倒的に動作が軽いのですが、設定を誤るとCPUリソースを食いつぶします。
Samurizeの負荷は主に描画範囲と更新速度によって決まるわけですが、例えば画面右上に時計、画面左下にメディアプレイヤーの情報なんかを表示させようと思ったとき、ほぼ全画面をSamurizeで描画させることになり、無駄に巨大な負荷がかかります。
この手のツールがシステムに影響を及ぼすほど負荷をかけることは完全に本末転倒ですので、こういう時にはクライアントの複数起動を利用して時計でクライアント一個、メディアプレイヤーの情報でクライアント一個という感じにすると描画範囲が減って負荷がガクンと減らせます。
また、Samurizeは更新しない際はCPUに負荷をかけませんので(メモリは常に使用)、クライアントごとに適切な更新速度を設定し、頻繁に更新する必要がない情報の更新速度を数分~数十分とすることでさらにCPUへの負荷を減らすことが出来ます。
加えて後述のコマンドラインオプションを利用することにより、個別に様々な小技が使えるようになります。
設定に一手間要る以外デメリットは特にありませんので、軽いって聞いたけどSamurize重いじゃんなどの疑問を覚えた方は目を通してみて下さい。
手順
解説ではショートカット作成→プロパティで作成していますが、ここではインスタンスマネージャを使います。
まずC:\Program files\Samurize\InstanceManager.exeを起動して下さい。
(既にクライアントを起動させている場合、タスクトレイにあるSamurizeアイコンを右クリック→インスタンス管理でも起動できます)
IM.jpg
上記の画面でまずをアイコン1をクリックします。すると新たに作成するインスタンス名を聞かれますので、適当に入力して下さい。インスタンス名は要するに個々のクライアントを識別するためのラベルなので、自分がわかりやすければなんでも可です。
ニュース表示させるならNewsとか、そのぐらいの安易さで構いません。ただし思わぬトラブルを避けるため、半角英数での入力を強く推奨します。
また、半角スペースは特別な理由がない限り使用しないで下さい。一応全体をダブルクォーテーションで括れば(ex."TV Program")使用出来るようなのですが、この状態で立ち上げたクライアントをタスクトレイのアイコン右クリック→「スタートアップ登録」すると半角スペース前で切られてしまい正常な登録となりません。手動でプロパティを開けてi=インスタンス名を修正しダブルクォーテーションで括るという動作が必要になってきます。面倒なのでスペースの代わりにアンダーバーでも使って下さい。
入力すると画面中央のインスタンス名に追加されます。今作ったインスタンス名を選択状態にし、次いでアイコン2をクリックします。
するとタスクトレイにもう一つSamurizeアイコンが追加されるはずです。
これでクライアントの複数起動は完了です。必要に応じてさっきの手順を繰り返してクライアントを複数起動させて下さい。
デスクトップにショートカットを作成したい方は、アイコン3をクリックすると作成されます。
補記
- 通常時と同様、新たに起動したクライアントで設定を行えば、次回以降同じインスタンス名で起動したクライアントはその設定を引き継ぎます。
- もし新たに起動したクライアントで設定ファイルを読ませても画面上にでてこない場合、画面外にすっ飛んでる可能性が高いので、タスクトレイのSamurizeアイコンを右クリックして、表示位置→「設定ファイル指定の位置」にチェックを入れて再読込させて下さい。
一度画面上に出てきたならば、以降の設定は自由で構いません。
- スタートアップに登録するには、タスクトレイのSamurizeアイコンを右クリックして、「スタートアップ登録」にチェックを入れて下さい。この設定はインスタンス毎に必要です。
- クライアント毎に設定する更新速度はどの程度が最適かは環境によって違います。ニュースや天気、カレンダーなんかは数分で十分だと思いますが、例えばカレンダーで先月/来月の切り替えなどを使う場合、数分では切り替えが遅すぎて話になりません。
自分に必要な情報と併せて試行錯誤してみて下さい。
- 1.64.3からインスタンスマネージャでグループを作成できるようになってます。
グループ化を行うことによって、一つのショートカットで以下に登録されているインスタンスを複数起動できるようになってます。起動したいインスタンスが多数ある場合非常に便利ですので活用してみてください。
インスタンスの時と同様、グループ名を選択状態にしてアイコン3をクリックでデスクトップにショートカットが作成されます。
自力でショートカットを作りたい時はInstanceManager.exeにg="グループ名"を渡してください。
"C:\Program Files\Samurize\InstanceManager.exe" g="System"
のような感じになります。
コマンドラインオプションを使う
- これも既に解説があるのですが、気付かない、あるいは読んでも理解出来ないという人も多いと思うので、簡単に使えて効果が高いものだけさらっと説明。
解説
Client.exeに続けて記述して実行することでクライアントに様々な効果を付加するコマンドラインオプション。
例えば、普段はニュースだけどクリックしたら天気になったり、全部出すと巨大になりがちなテレビ番組表をチャンネル毎に切り替わるようにしたり。あるいは別クライアントで詳細情報出したり、開いたクライアントを閉じたり。そんな夢を叶えるのがコマンドラインオプションです。
スクリーンショットにでない部分なので、他人のデスクトップを見ても全く気付かない事が多いのですが、ツールチップで賄いきれない部分での描画範囲削減に役立ちますし、なんというか意図したとおりに動くと非常に楽しいです。
設定ファイルを複数用意しなければならないのが難点ですが、その作業もまた楽しいものです。
sample.jpg
(クリックすると詳細情報になったりとか…)
sample2.jpg
(場所ばかり取る番組表を切り替え型にしてみたりとか…)
- ちなみにConfigRegionを使った切り替えもあるのですが、ここでは解説しません。気になる方はこちらへどうぞ。
設定ファイルを切り替える
- 同一インスタンス名で設定ファイルだけを切り替えます。
実はやってることは折りたたみ&展開可能な設定ファイルの作成でやってることと変わりません。
- まず切り替える設定ファイルを作成します。なんでもいいので適当に設定ファイルを二つ作り、それぞれ名前をSample1.ini、Sample2.iniとします。
次いでSample1.iniに「メーターの追加」→「文字列」でメーターを追加し、「一般」タブで「塗りつぶし」にチェックを入れ、適当な色で透過度を1以上に設定します(薄いと見づらいので、実験用には255を指定した方がいいかもしれません)。そのまま「入力」タブで「入力コントロール」にチェックを入れて「追加」を押します。「入力ウィザード」が起動しますので、「リンク」を選択し「次へ」、「リンク先」に
Client.exe i=hogehoge c=sample2.ini reload
と入力して「次へ」、最後に「左クリック」にチェックを入れて「完了」を押し、入力ウィザードを終了させます。
そして先の解説通りhogehogeという名前でインスタンス名を作成し、クライアントを起動させます。
Sample1.iniを読み込ませ、先ほど作ったリンク上で左クリックするとSample2.iniに切り替わるはずです。
- あとはこの応用でボタンを増やしていけば、いくらでも切り替えが可能です。
リンクが上手く動かない場合はこの辺をチェックしてみてください。
補記
- もし動かない場合、こちらを参考に設定を確認してみてください。
また切り替わる早さはクライアントの更新速度に左右されます。極端に長い時間を設定している場合止まっているように見えます。
どうしてもクライアントの更新速度は遅く、切り替えは早くしたいのであれば、こちらを参考にConfigRegionの導入を検討してみてください。
Client.exe i=hogehoge c=sample2.ini reload
ですが要するに
hogehogeというインスタンス名のクライアントにsample2.iniを読ませて、 再読込するということです。
ですからインスタンス名を変更したいときはi=以下の文字列を、設定ファイルを変えたいときはc=以下の文字列を適宜変更してください。
- 描画範囲の違う設定ファイルを切り替えるときは、ダミーのメーターを左上に置いて座標を全部統一すると切り替え時に崩れず綺麗です。
- Samurize上からでない場合、Client.exeはフルパスでの記述が必要です。
- Configsフォルダ内にフォルダを作ってiniを管理している場合、C=にはtestfolder\sample2.iniのように記述してください。
- マウスオーバーとマウスアウトにリンクを設定して設定ファイル切り替えると格好いいのですが、高速で切り替えるとクライアントが落ちることが。
別クライアントを起動する
- 先ほどの応用です。リンク先で指定しているインスタンス名を別に設定します。
Client.exe i=hogehoge2 c=sample2.ini
これでhogehoge2というインスタンス名でSample2.iniを読み込んだクライアントが起動します。
クライアントを閉じる
Client.exe i=hogehoge2 close
とすることで、hogehoge2の名前のインスタンス名で起動しているクライアントが閉じます。
クライアントを隠す
- Client.exe i=hogehoge hideです。これでhogehogeの名前で起動しているクライアントが隠れます。
他にどんなのが使えるかはコマンドラインオプションの解説を読んでください。
補記
- 時刻/日付のメーターで書式を設定し、通知機能での「値になったとき」「コマンドを実行する」を組み合わせることにより、指定した時刻に指定した動作を行わせることも可能です。
一例を挙げると、書式は「hhmm」、通知のタイミングは「値になったとき」で値は「0000」、実行するコマンドは「client.exe i=hogehoge reload」とすることで、毎日00時ちょうどにhogehogeというインスタンス名で起動しているクライアントをリロードさせることが出来ます。これを使うことで、例えばカレンダーの
スクリプトなどを含むクライアントを毎日00:00にリロードさせることが可能だったりします。
監視するメーターを考えていけばかなり面白いことも可能(例えば音楽のジャンルでプレイヤーの外観を変えたりも可能だと思います)なので、知っていると便利かも。
最終更新:2010年11月16日 19:16