【问题标题】:openbox won't set the correct window sizeopenbox 不会设置正确的窗口大小
【发布时间】:2015-06-01 21:04:08
【问题描述】:

我想做的事情应该比较简单。我想设置一个由两个(或可选三个监视器)组成的显示器。其中两个应该显示 Chromium 浏览器窗口,第三个(如果存在)将显示一些不相关的内容。所有显示器都设置为 1280x1024 分辨率,并且浏览器窗口应该被拉伸,使其总高度为 2048 像素(上半部分绘制在上面的显示器上,下半部分绘制在下面的显示器上)。我尝试使用名为 openbox 的窗口管理器设置正确的窗口坐标和大小。我将以下部分放在其配置文件 rc.xml 中:

<applications>
   <application name="*">
    <decor>no</decor>
    <position>
       <x>0</x>
       <y>0</y>
    <monitor>...</monitor> //appropriate number
    </position>
    <size> 
       <width>1280</width>
       <height>2048</height>
    </size>
   </application>
</applications>

虽然窗口位置正确(它从顶部监视器的左上角开始),但它的大小不正确。出于某种原因,浏览器窗口的大小设置为 1280x1024 而不是 1280x2048,因此它只完全填满顶部显示器,而底部显示器保持空白。这是用于运行 Chromium 的实际命令行:

chromium-browser --incognito --app=<MY URL>

如您所见,它缺少 --window-position--window-size 参数,因为 openbox 应该为我设置这两个值,而它对后者的设置不正确。基本上,openbox 似乎无法处理大于单个显示器高度的窗口高度。只要我将 rc.xml 中的窗口高度设置为小于或等于 1024 的任何值,一切都很好,但是每当我尝试大于该值时,它就会缩小到 1024 并且整个窗口占据顶部监视器,就好像openbox不明白它应该在下面的监视器上绘制窗口的剩余部分一样。当我尝试运行另一个 GUI 应用程序 (gedit) 时,效果是一样的,所以这似乎是一种一般行为,而不是仅由 Chromium 引起的问题。我测试它的操作系统是 Ubuntu 14.04 64 位,如果重要的话,浏览器是 Chromium 41。任何帮助将不胜感激。

【问题讨论】:

  • 您可以在窗口运行后手动将其拉伸到您想要的大小吗?
  • 不幸的是,这不是一个选项。最终用户不应该手动操作窗口大小。应用程序启动后,其窗口必须具有适当的大小,无需进一步调整。
  • 这不是我问题的重点。我试图确保您想要的结果甚至是可能的(即 X 已为此正确设置并且 openbox 完全支持它)。
  • 是的,openbox 能够做到这一点。我能够定义一个组合键,当按下该组合键时,会导致窗口按预期调整大小。我使用“keybind”选项和名为“MoveResizeTo”的预定义操作(无需在此处描述配置文件的确切语法)来做到这一点。尽管如此,该解决方案仍然是不可接受的,因为它需要用户交互。出于某种原因,openbox“更清楚”在应用程序启动时选择什么窗口大小,并忽略将窗口高度设置为大于单个监视器高度的值的请求。
  • 对于 openbox 来说,阻止这并不是一件完全不合理的事情,尽管在你的情况下这肯定很烦人。您可以看到有关在某些 openbox 挂钩或其他方式中编写对该 resize 函数的调用作为解决方法的脚本。除此之外我不知道。

标签: linux ubuntu window-managers


【解决方案1】:

AFAIK,Openbox rc.xml 中的窗口大小声明无效。 rc.xml 可用于设置默认窗口原点(左上角)位置,以及基于每个应用程序的各种其他内容,但窗口大小不是其中之一。在您的脚本中使用 wmctrl 以您想要的方式调整窗口大小。如果它需要适应显示器,请查看 xrandr 以获取 rez 的数字,根据需要对它们进行算术操作,然后使用 wmctrl 对其进行操作。不确定将窗口分布在多个显示器上,但这种方法适用于传统的硬件设置。

【讨论】:

    猜你喜欢
    • 2012-07-31
    • 2021-04-12
    • 2018-09-12
    • 1970-01-01
    • 2013-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    相关资源
    最近更新 更多