Xubuntu 平铺:如何最大化部分平铺的终端窗口?

nei*_*zod 8 xubuntu window-manager tiling

在 Xubuntu 14.10 中平铺终端时遇到问题。那些终端模拟器(我用xfce4-terminal,xterm和测试过gnome-terminal)只能通过它们使用的字体的宽度/高度调整大小,因此它不能调整大小为 1px,见图 1。

图 1:调整终端窗口大小

图 1:当我将鼠标光标放在终端窗口的右下角(图中未包含光标)时,它们显示窗口的当前大小。如果我将光标向右移动,终端窗口将一次扩大 1 个字符的宽度。

现在,当我进行全屏平铺(最大化窗口)时,终端窗口将拉伸其主体以覆盖所有屏幕,见图 2。

图 2:最大化终端窗口

图2:最大化终端窗口,您可以看到一行[ NORMAL > ... < 100% < 1:1 ]以空白结尾,其宽度小于字体宽度。

但是当我进行部分平铺时(例如,通过将窗口移动到左边缘进行左平铺,使其扩展到整个屏幕的左半部分),终端窗口不会像我做最大化时那样试图拉伸,请参阅图 3。

图 3:左侧平铺终端窗口

图 3:左侧平铺终端窗口,右侧平铺 Web 浏览器和底部边缘留有空间。

这就是问题所在,如果我进行部分平铺,然后打开一个新的终端选项卡 ( ctrl+shift+t),终端窗口将垂直扩展其大小,这会将一些行踢出屏幕(图 4)。这很烦人。

图 4:平铺终端窗口的踢线

图 4:打开新标签页后,左侧平铺终端的最后一行 ( :q!) 被踢出屏幕。

最大化窗口不会发生此问题(如图 2 所示)。

这个问题在 Unity/Ubuntu 14.10 中也不会发生。

所以我想知道一个窗口(不仅仅是终端)是否可以部分最大化?或者还有其他解决方法吗?(或者这只是一个错误,应该报告给问题跟踪器?)

trv*_*frd 4

我在使用带有默认终端模拟器和窗口管理器的 Xubuntu 时遇到了同样的问题,并且几乎疯狂地尝试修复它。我有一个部分答案,不幸的是,没有真正的解决办法给你。

正如您所提到的,终端模拟器中的窗口大小(至少在xtermxfce4-terminal测试的那些)中是根据字体大小而不是像素来处理的,这可能是人们所期望的。根据X 窗口系统联机帮助页,这是可接受的行为:“几何规范的宽度和高度部分通常以像素或字符来测量,具体取决于应用程序。”

这就是为什么在进行部分平铺时终端窗口周围存在间隙的原因:窗口管理器会在显示的一半内最大化窗口,同时使用字体大小的整数倍作为尺寸。可能有一种方法可以添加偏移量或通过深入的xfwm或 X 配置调整来修复此问题,这超出了我的能力范围(我对 Linux 还很陌生)。

窗口最大化时占据全屏区域的原因似乎与(我认为)在新的 Xubuntu 安装中默认启用的设置有关。如果您打开 Xfce4 设置管理器,转到“窗口管理器调整”,然后单击“辅助功能”选项卡,则会有一个选项“最大化时隐藏窗口框架”。选中此选项后,最大化的终端窗口周围没有间隙;当未选中时,有。

不幸的是,此选项仅适用于最大化的窗口,不适用于通过部分平铺“最大化”到屏幕一半的窗口。禁用它至少会使窗口周围的间隙在两种情况下保持一致。

至于标签栏将线条推离屏幕的问题,打开新标签后再次平铺窗口将使窗口底部重新进入视图。您还可以将终端设置为始终显示选项卡栏。该选项无法通过图形首选项菜单使用;您必须编辑该选项~/.config/xfce4/terminal/terminalrc并将其更改为。这样,打开新选项卡时窗口的大小就不会改变。MiscAlwaysShowTabsTRUE

抱歉我无法提供更多帮助。


teh*_*nst 0

您可以使用 xprop 从任何终端窗口中删除 WM_NORMAL_HINTS。

将这些行放入 ~/.bashrc 文件中:

if [ "$DISPLAY" ]; then
 activ_win_id=`xprop -root _NET_ACTIVE_WINDOW`
 activ_win_id=$(echo $activ_win_id | awk '{ activ_win_id=substr($0,41,9); print activ_win_id; }' )
 xprop -id $activ_win_id -remove WM_NORMAL_HINTS
fi
Run Code Online (Sandbox Code Playgroud)

提示将自动从当前终端窗口中删除。