Vimperator風ウィンドウ切り替えツールSvitch(5)
左手だけでウィンドウが切り替えられると書いてるわりに、ウィンドウの最大化なんかは「;」を打ってモードを変更する必要があったので、直接コマンド(イミディエイト)モードに移行するホットキーを登録できるようにしました。デフォルトではコマンドモード用ホットキーは何も登録されていません。
今回の追加・修正点一覧はこちら↓
[NEW] ヒントラベルをマウスでクリックしたときに該当するウィンドウを表示 [NEW] 直接イミディエイトモードにするホットキーを登録できるようにした [NEW] Pythonコマンドでargumentを指定できるようにした [NEW] キー入力をエミュレートするコマンドを追加 [NEW] 該当ウィンドウの実行ファイルがあるフォルダを開くコマンドを追加 [NEW] MessageBoxを表示するサンプルコマンドを追加 [NEW] 事前に指定したテキストを貼り付けるコマンドを追加 [CHG] コマンドウィンドウとヒント入力ウィンドウを分離させた (操作方法は同じ) [CHG] ヒント入力時に1文字目を入力した時点で他の候補が無くなった場合は すぐに確定していたが、入力完了まで切り替えを行わないようにした [CHG] タスクバーが横長にしたときもタイトル文字を表示 [BUG] グループ化されているヒントを重ならないようにした (タスクバーが横長時の時のみ)
2008/12/03追記(バグ修正)
[CHG] ヒント候補が足りない場合に[-]を表示するようにした [CHG] 最大化、最小化、閉じるコマンドの起動方法を変更 (それぞれss,dd,ff) [BUG] グループ化されているヒントが一部重なってしまう問題を修正
2008/12/03追記(さらにバグ修正)
[CHG] バージョン番号の付け方をGNU形式に変更 [CHG] イミディエイトモードのときはEnterキーを無効にする [CHG] 各ウィンドウを対象とするコマンドの引数が無い場合の対象を 「一番手前にあるウィンドウ」から「直前のアクティブウィンドウ」 に変更 [BUG] コマンドモードで存在しないコマンドを入力した後にヒント表示が 正しく行われない問題を修正 [BUG] Windowsのシャットダウンを止めてしまう問題を修正 [BUG] 一部のヒントが欠けてしまう問題を修正
いくつかの機能追加/変更についてコメント。
ヒントをクリックしてウィンドウ切り替え
ketttさんからの提案で実装しました。左手にキーボード、右手にマウスの場合はヒントクリックで切り替えられると楽です。隠れているウィンドウのヒントも手前に表示されるのでウィンドウをずらしたりする必要がありません。
ヒント入力を確定するタイミングの変更
これまで、ヒントを入力して候補が一つになった時点で切り替えるウィンドウを確定していたのですが、それだと予約しているヒントと違う文字でウィンドウが切り替わってしまうとのことだったので、すべて入力するまで確定しないようにしました。
タスクバー横長時にもタイトルなどを表示するようにした
タスクバーが下にあるときに表示すると、タイトルなどが長すぎて重なるのが嫌で今まで表示していなかったのですが、下に置いた場合は表示するタイトル文字を短くすればいいだけじゃないかということに気づきました。オプション画面を開いてタイトル文字のフォーマットのところでTITLE(5)のようにかっこを付けて長さを短めに設定すると良いです。
まだコマンドヒストリは実装していないので、コマンドモードで表示される入力ボックスの▼をクリックしても何も表示されません(汗)
わりと大がかりに全体の構成を変えましたが使い方は同じです。追加したコマンドはcommand.iniで確認してみてください。基本的にコマンドは「こんなことができます」的な意味合いで追加しているのが主なので実用性は?かも。
要望とかTODOとか後でWikiにまとめとこう。
動作環境
WindowsXP SP3(Pro)とVista SP1(Business)で確認。2000はタスクバーの実装がXPと違うので今のところ動きません。Microsoft .NET Framework Version 2.0以上が必要です。