Rectangleのウィンドウがぴったり揃わない理由(そしていつ修正されるのか)
Rectangle appについて繰り返し挙がる特定の種類の不満がある。完全に最大化されているはず、あるいは画面のちょうど半分になっているはずのウィンドウに、どこかに細い、目に見える隙間ができてしまうというものだ ― たいていはメニューバー付近か、隣り合っているはずの2つのウィンドウの間だ。これには意図的な設定によるものもあれば、実際に報告されているバグもあり、最近のバージョンですでに修正されているものもある。
まず確認すること:余白の設定が有効になっていないか
Rectangle macは、ターミナルコマンド(gapSize、あるいはより細かく指定できるsnapEdgeMarginTop/Bottom/Left/Right)を通じて、タイル状に並べたウィンドウと画面端の間に意図的なピクセル単位の余白を設定する機能に対応している。もし自分自身、あるいは参考にしたセットアップガイドが、以前これを有効にしていたのであれば、目に見える隙間は想定どおりの挙動であり、バグではない。現在の値を確認しよう。
defaults read com.knollsoft.Rectangle gapSize これがゼロ以外の数値を返すなら、それが答えだ。次のコマンドで削除できる。
defaults delete com.knollsoft.Rectangle gapSize そのあとRectangleを再起動する。
実際に報告されているバグ:特に上端にできる隙間
Issue #1554は、余白の設定を意図的に構成していないにもかかわらず、最大化されたウィンドウの上端とメニューバーの間に特有の1ピクセルの隙間ができることを報告している。別途起票されたIssue #1347は、関連するがより顕著な現象を報告している。余白の設定を有効にした状態で、画面上端の余白が、左・右・下の各端で同じ設定から生じる余白よりもおよそ20%大きく計測されたというものだ ― これは余白サイズ計算全般のバグではなく、上端に特有の不整合だ。どちらも、切り替えられる設定というよりは、コードの同じ一般的な領域(Rectangle appがメニューバー付近の境界をどう計算しているか)を指し示している。
最大化されたウィンドウや上半分のウィンドウの上端に限って、小さくて一貫した隙間が見られ、他の場所では見られないという場合、それは自分の設定ミスというより既知の報告カテゴリーに当たる ― これらのissueの現在の状況を確認しよう。余白計算のコードは、まさにポイントリリースを重ねるごとに改良されていくたぐいのものだからだ。
負の余白が期待どおりに動作しない
Issue #576は、より具体的なケースを報告している。screenEdgeGapBottomに負の値を設定する(最大化されたウィンドウを見えている画面端より少しだけはみ出させ、画面外にわずかな部分を隠す狙い)と、何の効果もなかったというものだ。余白がゼロであるかのようにウィンドウが最大化される一方、同等の正の余白値は正しく機能した。この特定の効果を狙って負の余白値を使おうとしても何も起こらないなら、それはコマンドの構文ミスではなく、まさにこの挙動が期待どおりに動作しないという文書化された報告だ。
すでにリリースされた修正:「clamped」ウィンドウが望まない隙間を残していた問題
バージョン0.97のリリースノートでは、関連はしているが別個の問題に具体的に対応している。「clamped」なウィンドウ(計算上のフルサイズに達することを妨げられているウィンドウで、典型的にはアプリ自体が課す最小サイズの制約によるもの ― DiscordやSpotifyのようなアプリについて説明したのと同じ種類の問題だ)は、以前はスナップした端にぴったり押し付けられるのではなく、ウィンドウと端の間に隙間を残したまま浮いた状態になっていた。v0.97の変更履歴には、この問題に対する具体的な修正として「隙間を残す代わりにclampedウィンドウをスナップ端に固定する」および「clampedウィンドウをデフォルトでスナップ端に揃える」が挙げられている。完全には縮まりたがらないように見えるウィンドウ ― まさにDiscord/Spotify的な問題を抱えたウィンドウ ― に限って隙間が見えていて、0.97より古いバージョンを使っているなら、アップデートによってその隙間だけは解消される可能性がある。ただし、それによってアプリ自体の最小サイズという根本的な制約がなくなるわけではない。
半分割の比率と角のアクション
同じv0.97のリリースでは、「Half-Splitの比率を角のアクションとスナップ領域にも適用する」という変更も行われている。これは、単純な画面半分のアクションが画面を分割する方法と、角やスナップ領域のアクションがそれを分割する方法との間の一貫性を狙った修正で、本来は同一であるはずの分割ポイントについて、これら2つの経路がわずかに異なる境界計算を生み出すことがあったケースに対処するものだ。
自分が抱えている特定の隙間がすでに修正済みかどうかを確認する方法
- 現在のRectangleのバージョンを確認する(メニューバーアイコン → About、Optionキーは押さない)。
- それを、上記の各修正がリリースされたバージョンと比較する ― clampedウィンドウの固定に関する修正はv0.97だ ― そして、上端の隙間に関するissue(#1554、#1347)の現在の状況を直接確認しよう。この記事が書かれた後のバージョンですでに解決されている可能性があるためだ。
- 自分のバージョンが古い場合は、特定の不満が恒久的で修正不可能な問題だと決めつける前に、まずアップデートすること。トラッカー上の隙間関連の報告のいくつかは、まさにその計算に対処したポイントリリースによってクローズされている。
本当にバグではない場合
特定の1つのアプリだけで発生し、他ではまったく発生しない隙間は、Rectangle app側のピクセル計算のバグというより、そのアプリ自体の最小サイズの挙動(このシリーズの他の記事で、Discord、Spotify、ターミナルエミュレーターなどについて詳しく扱っている)である可能性が高い。見分けるためのテストは、このシリーズ全体で使ってきたものと同じだ。ほとんどのアプリで同じアクションがきれいにぴったり揃った結果を生み、特定の1つのアプリでだけおかしな挙動をするなら、変数はそのアプリ側にある。逆に、隙間がすべてのアプリで同じ画面端に一貫して現れるなら、それはRectangle自身の端の計算コードを指し示している。その場合は、上記の具体的なissueを確認するか、まだ報告されていなければ自分のmacOSとRectangleのバージョンを添えて新しいissueを起票する価値がある。