タブバー表示・複数タブの状態でAeroSnapし、別のタブに切り替えるとSnap前の位置に戻るのを修正します。
サイズを追従させるのみでSnap状態は引き継ぎません。
別タブに切り替え後に元のタブに戻るとSnap状態は解除されます。
以下のような経緯で対応されてこなかったのですが、OSが一向にAeroSnapのAPIを公開しないので、気になるところだけ暫定対応します。
タブバー非表示・新規作成時のサイズ追従はやってません。
wiki:Request/376 data:5629 unicode:1029
強引にSendInputを使ってSnap状態を引き継ぐようにしてみたパッチを添付します。
rev4011用のパッチですが、最近のrevでもそのまま使えると思います。
Tab切り替え時に画面がちらつくのが難点です。
(ちらつきを抑える方法はいろいろ試してみましたが、うまい方法は見つかっていません)
ちらついてでもSnapが引き継げることのほうが自分には重要なので、自分専用にはずっとこれを使っています。
強引な方法なのでオプション対応にしておいたほうが無難かもしれません。
下記のように様々なパターンでSnapを引き継げるようにしたつもりですが、
漏れていてうまくいかないようなパターンがあったら教えて下さい。
・Tab切り替え
・[ファイル]-[新規作成]でのTab追加
・[ファイル]-[開く]でのTab追加
・エクスプローラからのファイルダブルクリックによるTab追加
・エクスプローラからのファイルドロップによるTab追加
・タスクトレイからのWindow選択
・別Tab GroupからのWindow選択
・画面右上の☓(閉じる)ボタンで一気に閉じていく最中のTab切り替え
・Snap状態から最小化し、タスクトレイから別TabをActiveにした場合のTab切り替え
・Snap状態から最小化し、エクスプローラでファイルダブルクリックした場合のTab追加
動作確認は64bit Windows(Win7, 8, 8.1, 10)、32bit Win7あたりの環境でやっています。
GitHub Issue展開
https://github.com/sakura-editor/sakura/issues/47