vvin
2021-10-24 15:59:05Windows のウィンドウサイズを操作する CLI アプリ
ダウンロード
紹介
コマンドラインで、指定したタイトルのウィンドウを最大化・最小化・リサイズ・移動・常に最前面に移動・透過・ウィンドウ表示待機 するツールです。
minimize をより汎用的にしたものです。
使い方
基本形
ウィンドウを指定する
vvin -t {ウィンドウタイトル} {サブコマンド} [resizeの場合の位置・サイズ指定]
-t
で指定したタイトルに中間マッチするウィンドウが操作対象となります。
(メモ帳を操作したい場合、「-t 帳」でも OK です)
※サブコマンドは後述
バッチファイルに組み込む場合
バッチファルに vvin
の行を入れることで、バッチファイルを実行しているコンソールウィンドウを操作することもできます。
長くかかる処理の最初と最後に min/restore を入れておくことで、実行中は非表示にしておき処理が終わったらウィンドウを表示するなどの用途があります。
vvin {サブコマンド}
前述のウィンドウを指定する方法では、vvin を実行しているコンソールウィンドウは操作対象外となります。
サブコマンド
ここでは、簡単な説明と使用例を掲載します。
詳細な内容については、vvin help {サブコマンド}
を実行して確認してみてください。
max – 最大化
-r
もしくは --restore
をつけると、元のサイズに戻します。
vvin -t メモ帳 max
vvin -t メモ帳 max --restore
vvin -t メモ帳 max -r
min – 最小化
-r
もしくは --restore
をつけると、元のサイズに戻します。
vvin -t メモ帳 min
vvin -t メモ帳 min --restore
vvin -t メモ帳 min -r
resize/move – 位置・サイズの変更
resize
でも move
でも mv
でも同じ挙動です。
vvin -t メモ帳 resize [オプション(最低限、一つは必要です)]
オプション
-x
… 左上座標(X)-y
… 左上座標(Y)-w
… 幅-h
… 高さ
各オプションでは、以下の指定方法が可能です。
- 数値 … ピクセル
- パーセント … スクリーンサイズに対するパーセンテージ (末尾に % をつけます)
vvin -t メモ帳 resize -x 100 -y 100 -w 50% -h 100%
topmost – 常に最前面に移動
-r
もしくは --restore
をつけると解除します。
vvin -t メモ帳 topmost
vvin -t メモ帳 topmost --restore
vvin -t メモ帳 topmost -r
alpha – 透過
ウィンドウの不透明度を指定して、ウィンドウを透過させます。
vvin -t メモ帳 alpha [不透明度]
不透明度の指定
不透明度には数値もしくはパーセンテージを指定できます。
数値 | パーセンテージ | |
---|---|---|
完全に透明 | 0 | 0% |
半透明 | 128 | 50% |
完全に不透明 | 255 | 100% |
wait – ウィンドウの起動・終了まで待機
起動待機
指定したタイトルのウィンドウが出てくるまで待機します。
出てきた後に vvin
は終了します。
vvin wait メモ帳
(メモ帳のウィンドウが表示されたらやりたいこと)
アプリの起動を待つ場合は、固定秒数のウェイトを入れるよりも、この方法のほうが無駄が少ないです。
ウィンドウが表示されたら SendKeys を使って自動操作をする、なんてこともできますね。
終了待機
vvin wait メモ帳 --closed
(メモ帳のウィンドウがなくなったらやりたいこと)
その他のオプション
vvin help wait
を参照してください。
より短い間隔でウィンドウのチェックをしたり、タイムアウトを指定したりすることができます。
特徴的な挙動
些細な点ですが…
vvin
でのリサイズでは、最大化したウィンドウに対してリサイズをかけています。
そのため、Windows 標準の操作である「元のサイズに戻す」でリサイズ前の位置・サイズに戻すことができます。
これはこのアプリを作ろうとした動機でもあります。 個人的に、一時的にスクリーンの端に寄せておきたいけど、それを記憶される (アプリによっては記憶されてしまうので) と元に戻すのが面倒な場面が多いため、標準ではこの挙動にしています。
一方で、この挙動では困る、純粋にウィンドウをリサイズしてほしいという場合もあるかと思います。
その場合は --norestorable
をつけることで、普通にマウスでリサイズしたようにすることができます。
vvin -t メモ帳 resize -x 100 -y 100 -w 50% -h 100% --norestorable
バッチファイルに記述する場合
パーセンテージで指定する場合ですが、バッチファイル中では 100%%
と記述します。
バッチファイルでは、%
という文字は環境変数の囲み文字として扱われます。
そのため、100%
と記述してしまうとうまく認識されません。
- 📄 GOEXPERIMENT + Build Constraints2024-02-13 22:32:04例えば GOEXPERIMENT=rangefunc の場合にビルドしたい/したくない場合の書き方
- 📄 reqdumper2024-01-02 10:53:41受け取った HTTP リクエストの内容を出力するだけの HTTP サーバー
- 📄 detour2024-01-02 10:29:11Windows のショートカット先を書き換える CLI アプリ
- 📄 Popcorn2023-10-21 22:00:18自分がよく使うコマンドを登録して呼び出すための Vim script
- 📄 deline2023-10-21 21:08:33Vim の statusline をカスタマイズしやすくするための Vim script. すぐに使
- 📄 k7jis2023-01-07 15:18:44Keychron K7 を JIS 配列のキーボードとして使っている場合に便利なキーマッピングを追加
- 📄 csv2xlsx2023-01-05 21:23:31CSVファイルをXLSXファイルに変換するツール
- 📄 slack-file2022-08-25 23:13:37Slackにアップされたファイルを操作するツール(主に削除)
- 📄 footrest2022-06-07 22:17:13DBMS に接続して REST API 化するアプリ
- 📄 Go言語でのスタックトレースを簡素化する2022-05-05 23:38:03Go言語のパッケージ: 冗長なスタックトレースを簡素化して出力します。