xfwm4 :居中新窗口

xfwm4 :居中新窗口

我刚刚使用 xfce gui 安装了 Debian GNU/Linux 12 (bookworm)。

如何让新打开的窗口在显示屏中心打开。现在,它们要么捕捉到已经打开的窗口,要么打开顶部/左下/右下:

在此输入图像描述

我在窗口管理器调整中设置了“在屏幕中心”:

在此输入图像描述

答案1

根据xfwm4 的常见问题:

Xfce 窗口管理器有一个称为智能放置的功能,可以根据窗口大小进行调整。基本上,它会自动将小于特定尺寸的窗口居中,一旦它们变得大于该尺寸,新窗口将尝试自动排列在覆盖范围的最佳位置。您可以在“设置”→“窗口管理器调整”→“放置”下调整最小尺寸设置。

如第一张图片所示,窗口的位置会自动排列。这表明它的大小大于调整的“放置”选项卡中滑块位置定义的最小值。

将幻灯片向右移动应该可以使较大的窗口系统居中。


因为,正如 Xen2050 在评论中所断言的那样,这些设置完全不直观且不直观。xfce官方文档几乎不存在(仅限于某些屏幕截图),我们需要深入研究代码了解如何考虑设置。从placement.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(理解其最右边的位置)或者窗口小于可用屏幕区域的给定比率。

如果窗口大于屏幕区域,它将任意居中,在任何其他情况下......巧妙定位……

相关内容