最大化任何窗口都会留下垂直条未被覆盖

最大化任何窗口都会留下垂直条未被覆盖

垂直条位于左侧,它比 Unity 侧边栏宽得多,并且与 Unity 侧边栏无关。就好像桌面区域不包括左侧垂直栏,但仅适用于最大化的窗口:其他未最大化的窗口(的一部分)可以访问(占用)该区域,并且当窗口打开时确实可见(在该区域中)最大化。我切换到metacity,也遇到了同样的问题。我还重新启动了 Unity,但没有注销并重新登录。

我需要知道原因。我知道重启可以解决这个问题。

答案1

我测试的脚本中的这一行是罪魁祸首:xprop -id <any window> -f _NET_WM_STRUT_PARTIAL 32c -set _NET_WM_STRUT_PARTIAL '200, 0, 0, 0, 0, 200, 0, 0, 0, 0, 0, 0'。更换200解决0了问题。 (无论如何,撤销所有这些xprop更改的一般方法是什么?)

有人请解释为什么它会影响所有窗口,即使我只将它用于一个特定窗口。关于这条线应该做什么的一些解释也不错。如果一段时间没有答案,我会“接受”我的。

答案2

今天我遇到了相反的问题,最大化的窗口占据了整个屏幕,而我需要在左侧和底部留出边距。

做了一些研究我发现xprop并且_NET_WM_STRUT_PARTIAL是一种创建桌面边距的方法。

我将支柱与gkrellm窗口关联起来,以创建左边距,并设置left边距的宽度:

left=77

然后我指定左边距的初始和最终 y:

left_start_y=0
left_end_y=823

为了方便我还将底部边距与gkrellm窗口关联起来,首先设置底部边距高度:

bottom=35

以及初始和最终的 x:

bottom_start_x=0
bottom_end_x=1919

其他值全部为0

xprop -name gkrellm -f _NET_WM_STRUT_PARTIAL 32c -set _NET_WM_STRUT_PARTIAL \
     "$left, $right, $top, $bottom, $left_start_y, $left_end_y, $right_start_y, $right_end_y, $top_start_x, $bottom_end_x"

相关内容