X11 全屏窗口 (OpenGL)
我正在使用 Xlib (X11) 在 Linux (Ubuntu 11.10) 上编写 OpenGL 应用程序。实现窗口模式和全屏模式之间切换的最简单方法是什么?
I'm writing and OpenGL application on linux (Ubuntu 11.10) using Xlib (X11). What is the simplest way to implement toggle between windowed and fullscreen mode?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是Havoc P 建议的实现,以节省下一个人的精力:
Here's an implementation of what Havoc P suggested, to save the next person the effort:
在协议级别,请参阅 _NET_WM_STATE 属性以及随附的客户端消息和全屏状态标志。这是 EWMH 规范中指定的。为了获得奖励积分,如果 WM 没有报告对官方提示的支持,您可能需要手动实现全屏,EWMH 规范了一种检查支持内容的方法。您可能还想抓住鼠标指针和/或
如果您不想让人们意外离开全屏,请使用键盘。
或者,为了避免学习低级别的 X Gunge,只需使用 SDL 或 GTK 或 Qt 或其他东西,它们都应该有一个简单的方法调用来切换全屏。
on the protocol level, see the _NET_WM_STATE property with accompanying client message and the fullscreen state flag. this is specified in the EWMH spec. for bonus points you may want to manually implement fullscreen if the WM does not report support for the official hint, EWMH specs a way to check what is supported. You may also want to grab the mouse pointer and/or
keyboard if you don't want people to accidentally leave fullscreen.
or, to avoid learning low level X gunge, just use SDL or GTK or Qt or something and they should all have a simple method call to toggle fullscreen.