BERA Asked: 2023-12-26 17:09:21 +0800 CST2023-12-26 17:09:21 +0800 CST 2023-12-26 17:09:21 +0800 CST xfwm4 :居中新窗口 772 我刚刚使用 xfce gui 安装了 Debian GNU/Linux 12 (bookworm)。 如何让新打开的窗口在显示屏中心打开。现在,它们要么捕捉到已经打开的窗口,要么打开顶部/左下/右下: 我在窗口管理器调整中设置了“在屏幕中心”: debian 1 个回答 Voted Best Answer MC68020 2023-12-27T03:19:26+08:002023-12-27T03:19:26+08:00 根据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(理解其最右边的位置)或者窗口小于可用屏幕区域的给定比率。 如果窗口大于屏幕区域,它将任意居中,在任何其他情况下......巧妙定位......
根据xfwm4 的常见问题解答:
如第一张图片所示,窗口的位置会自动排列。这表明它的大小大于调整的“放置”选项卡中滑块位置定义的最小值。
将幻灯片向右移动应该可以使较大的窗口系统居中。
正如 Xen2050 在评论中所断言的那样,设置完全不直观,而且xfce 官方文档几乎不存在(仅限于一些屏幕截图),因此我们需要深入研究代码以了解如何考虑设置。从placement.c中的第911行开始:
据我们了解,只有当placement_ratio(理解滑块位置代表的数字)大于或等于100(理解其最右边的位置)或者窗口小于可用屏幕区域的给定比率。
如果窗口大于屏幕区域,它将任意居中,在任何其他情况下......巧妙定位......