我有一个宽屏格式(1024x600)的小屏幕上网本,这意味着很多程序的设计者没有想到这样的东西打开无法调整大小且底部被遮挡的窗口。通过 Ubuntu 10.04,我使用 xrandr 命令处理它:
xrandr --output LVDS1 --fb 1024x768 --panning 0x768
Run Code Online (Sandbox Code Playgroud)
(注意 0x),它的效果是给我一个垂直平移的正常大小的虚拟桌面,但是(不知何故)窗口管理器忽略了它,所以最大化的窗口只占用了物理屏幕。结果是,除非弹出一个大对话框,否则我不必平移:很好。
在 11.04 中,这不太有效。我上面说的一切都是真的,但底部 168 像素似乎永久变黑,所以如果一个大窗口向下延伸,我看不到里面有什么(但是,它在那里:调整大小手柄出现,并且对那些很有用允许调整大小的场合)。我想这是与 Unity 相关的。这违背了目的,所以我正在尝试这个 xrandr 命令:
xrandr --output LVDS1 --fb 1024x768 --panning 1024x768
Run Code Online (Sandbox Code Playgroud)
(注意 1024x)。唉,它不再欺骗窗口管理器,最大化的窗口都从底部消失了。题:
如何设置以使“最大化”窗口仅占用物理屏幕(或更一般地说,占用特定的屏幕)?
我很乐意回答的一个相关问题是:
为什么第一个 xrandr 命令会愚弄窗口管理器(根据手册页,“0x”表示禁用了沿水平轴的平移;在功能上,这毫无意义,因为虚拟大小与物理大小相同)?Unity 出了什么问题?
请注意,“最大化”操作是必要的,因为在 Unity 中,最大化窗口的样式不同:它的标题栏被吸收到屏幕顶部的工具栏中,为我节省了宝贵的像素。简单地调整窗口大小并不是一个好的选择。
参考:
我发现了这个问题:我想防止最大化覆盖屏幕的三分之一。当 Compiz Maximumize 似乎什么都不做时,我感到非常失望(有一个 Launchpad 错误:https ://bugs.launchpad.net/ubuntu/+source/compiz-fusion-plugins-extra/+bug/462158 )。
我也在超级用户上发现了同样的问题:https : //superuser.com/questions/269966/id-like-to-prevent-maximize-from-covering-one-third-of-the-screen,它提供了两种选择。Compiz Grid 插件没有帮助,因为它没有最大化,正如我上面所描述的。我还没有尝试过 Python 窗口管理器,但它看起来类似于 Grid。一般来说,我不希望聪明的脚本会有所帮助,因为“最大化”的含义是由窗口管理器本身控制的,因此解决方案应该是 Compiz 解决方案。有吗?