FitScreenWindow
選択しているアクティブなウィンドウを、キーボードショートカットで画面にフィットできるWindows向けネイティブアプリです

アプリ | Python 3.9 |
GUI | Qt for Python(PySide6) |
ウェブサイト | Vue.js 2, SCSS, BEM, GitHub Pages |
主要パッケージ等 | pyWin32(画面情報取得), wxPython(ショートカットキー登録) |
コンパイル | Nuitka |
インストーラー | NSIS |
コーディング規約 | Black & Flake8 |
その他 | Qt Creator, venv, Illustrator |
選択中のアクティブなウィンドウに対して、ショートカットキーを押すごとに、画面の端に合わせて自動的に配置 & サイズを拡大(縮小)します。
サイズやショートカットキーなどの各種設定は、タスクトレイからアプリを右クリックし、表示されたメニューの「設定」から変更可能です。
自分はよく、開いているブラウザを画面の左右どちらかに配置しつつ、もう片方の余白で別のアプリの作業をする、という使い方をしていました。
しかし、マウスでウィンドウを毎回ドラッグして画面の端に合わせてサイズ調整するのは面倒、といった課題がありました。 この課題を解決するため、Windows標準のショートカットキー(Winキー+ 左/右矢印)(※1)を使っていましたが、このやり方では 強制的に画面半分のサイズになってしまうため、サイズを拡大・縮小したいときにいちいちマウスに持ち替えないといけない...といった不満がありました。
普段パソコンで作業をしている自分の知り合いや職場の方たちにも同様の悩みがあることを知り、それなら、これらの課題を解決したより使いやすいアプリケーションを自分で作ってしまおう、と思い開発(※2)することにしました。
※1: フリーソフトもいくつか試してみましたが、なかなか理想の機能を持ったものは見当たりませんでした。
※2: 当初のプロトタイプはPython3ではなくAutoHotKeyというプログラミング言語で開発しました。

単純に設定した固定サイズで配置するだけでなく、ショートカットキーを連続して押すごとに上限回数まで拡大・縮小(上限を超えると最初のサイズに戻る)できるようにしたり、別のウィンドウを選択した状態でショートカットキーを押すと、自動的に画面余白にフィットするようにしたり工夫しました。
ほかには、左配置と右配置それぞれで基準サイズ・逆方向へのリサイズや、タスクバーのサイズを減算する・しない、などのオプションを選べるよう実装しました。
また、設定ダッシュボードはUI / UX向上のため、Qt CreatorとPySide6(※1)を使い、カッコイイ見た目に仕上げました。
※1: 当初はQt DesignerとPySide2を使っていました(画像左側)。