如何在Ubuntu上打开一个非装饰的全屏窗口

4
什么是在Ubuntu上打开非装饰全屏窗口的技巧?我曾经更改_NET_WM_STATE属性为_NET_WM_STATE_FULLSCREEN来实现这一点,但在KDE上工作正常,但在Ubuntu上(GNOME; 用12.04 LTS测试)似乎不起作用。左侧的启动器和标题栏仍然存在并出现在我的非装饰全屏窗口之上,这不是我想要的。
然而,在Firefox中切换到全屏模式时,Firefox的全屏窗口覆盖整个屏幕,包括启动器面板和标题栏,因此必须以某种方式打开覆盖整个屏幕的窗口,包括Ubuntu的启动器和标题栏。
有人能解释如何使用纯X11实现这种行为吗?
谢谢!
2个回答

1
我已经找到了问题所在。仅仅设置_NET_WM_STATE_FULLSCREEN是不够的。还应该将override_redirect属性设置为TRUE,以防止窗口管理器拦截配置和映射请求,这似乎正是Ubuntu上GNOME所做的,通过将启动器面板和标题栏放在我的全屏窗口上。将override_redirect设置为TRUE可以防止这种情况发生。

这是错误的。override_redirect 告诉 X 完全绕过窗口管理器来处理你的窗口。这不是你想要的。如果你使用它,你将无法在任务栏中看到该窗口,并且无法使用正常的窗口管理快捷键/手势来管理它。 - n. m.

1

Gnome 默认设置窗口最大尺寸,以便不覆盖面板。除非您删除 WM_NORMAL_HINTS 中的相应提示,或将最小尺寸和最大尺寸都设置为屏幕尺寸,否则它不会调整您的窗口大小。

请参见例如 这里这里

这在 KDE 或任何其他桌面环境中也不会对您造成影响。

记得在退出全屏模式时重置最小尺寸。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接