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

标签 c unix x11 xlib

在 Ubuntu 上打开一个非修饰的全屏窗口有什么技巧?我曾经将 _NET_WM_STATE 属性更改为 _NET_WM_STATE_FULLSCREEN 以实现此目的,但虽然在 KDE 上工作正常,但它似乎不适用于 Ubuntu(GNOME;使用 12.04 LTS 测试)。左侧的启动器和标题栏仍然存在,并出现在我未装饰的全屏窗口上方,这不是我想要的。

然而,当在 Firefox 中切换到全屏模式时,Firefox 的全屏窗口会覆盖整个屏幕,包括启动器面板和标题栏,因此必须能够以某种方式打开覆盖整个屏幕的窗口,包括 Ubuntu 的启动器和标题栏。

谁能解释一下如何在没有任何中间件的情况下使用普通 X11 实现此行为?

谢谢!

最佳答案

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

关于c - 如何在 Ubuntu 上打开一个非修饰的全屏窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24288711/

相关文章:

c++ - 将击键发送到 X 窗口

C 浮点零比较

c - PIC24读取ADC错误

linux - 将共享 NTFS 上的文件批量重命名为 Windows 风格的文件名

linux - 我如何判断是否没有给出参数并且标准输入中没有任何内容?

webkit - 透明 X11 光标主题 - 为什么 X 光标出现在 GTK+ 子窗口中?

c - 使用strcpy & buffer overflow执行shell代码

c - 如何取__m256的高音部分

bash - Unix - 按文件名过滤查找结果

linux - 在 SLES 11 SP2 中安装 xorg-x11-devel 包