xfwm4: 真ん中の新しいウィンドウ

xfwm4: 真ん中の新しいウィンドウ

私はxfce guiを使ってDebian GNU / Linux 12(bookworm)をインストールしました。

新しく開いたウィンドウをディスプレイの中央に開く方法。これで、すでに開いているウィンドウにスナップするか、上/左下/右下が開きます。

ここに画像の説明を入力してください。

ウィンドウマネージャの調整で「画面中央」を設定しました。

ここに画像の説明を入力してください。

答え1

~によるとxfwm4についてよくある質問:

Xfceウィンドウマネージャには、ウィンドウのサイズに応じて調整されるスマートバッチと呼ばれる機能があります。デフォルトでは、特定のサイズより小さいウィンドウが自動的に中央に配置され、そのサイズより大きくなると、新しいウィンドウがカバレッジに最も適した位置に自動的に配置されます。設定→ウィンドウマネージャの調整→配置で最小サイズ設定を調整できます。

最初の図に示すように、ウィンドウの位置が自動的にソートされます。これは、サイズが調整の配置タブのスライダ位置によって定義された最小値より大きいことを示します。

スライドを右に動かすと、より大きなウィンドウシステムを中央に配置する必要があります。


なぜなら、Xen2050がレビューで主張したように、これらの設定は完全に非直感的で非直感的であるからです。xfce 公式ドキュメントほとんど存在しません(一部のスクリーンショットに限定されています)。コードをもっと詳しく見てください。設定について考える方法を学びます。バッチ.cの911行目から始まります。

if ((screen_info->params->placement_ratio >= 100) ||
    (100 * frameExtentWidth(c) * frameExtentHeight(c)) <
        (screen_info->params->placement_ratio * full.width * full.height))
{
    if (screen_info->params->placement_mode == PLACE_MOUSE){
        mousePlacement (c, full.x, full.y, full.width, full.height, msx, msy);
    else
        centerPlacement (c, full.x, full.y, full.width, full.height);
}
else if ((frameExtentWidth(c) >= full.width) && (frameExtentHeight(c) >= full.height))
    centerPlacement (c, full.x, full.y, full.width, full.height);
else
    smartPlacement (c, full.x, full.y, full.width, full.height);

私たちが理解しているように、Placement_ratio(スライダーの位置で表される数値を理解する)が100(最も右の位置を理解する)以上であるか、ウィンドウが使用可能な画面領域の指定された割合より小さい場合にのみ機能します。

ウィンドウが画面領域より大きい場合、ランダムに中央に配置されます。他の場合は...賢いポジショニング

関連情報