fullscreen - 如何使用 xcb 提供 _NET_WM_STATE_FULLSCREEN 提示?

标签 fullscreen xcb ewmh

我正在尝试使用 xcb 编写一个全屏应用程序以供我自己引用,但我在上述方面遇到了麻烦。我发现了一些使用 Xlib 执行此操作的代码,但没有使用 xcb 执行此操作。我找到了 xcb_ewmh_connection_t 结构,并尝试像这样使用它:

xcb_connection_t *Connection = xcb_connect(NULL, NULL);
xcb_ewmh_connection_t EWMH;
xcb_intern_atom_cookie_t *EWMHCookie = xcb_ewmh_init_atoms(Connection, &EWMH);

然后使用结构内部的原子EWMH._NET_WM_STATE

鉴于这个小背景,我怎样才能暗示窗口管理器窗口应该是全屏的?

最佳答案

检查xcb_ewmh.h,在我看来您还需要调用

if(!xcb_ewmh_init_atoms_replies(&EWMH, EWMHCookie, NULL))
    /* handle errors */;

完成此操作后,_NET_WM_STATE文档应该有助于如何使用这个特定的属性。

请参阅ICCCM Client Properties 部分了解使用属性与窗口管理器通信的技术的背景。

请参阅ChangeProperty请求如何设置一般属性。它通过通常的 protocol stub rules 映射到 xcb_change_property 函数。 .

我希望这些引用资料足以帮助您继续前进!

关于fullscreen - 如何使用 xcb 提供 _NET_WM_STATE_FULLSCREEN 提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13302982/

相关文章:

linux - 有没有一种标准方法可以知道窗口是 float 的还是平铺的?

c++ - 如何使用 xlib 识别顶级 X11 窗口?

java - 如何退出全屏后重新显示状态栏+导航栏出现后不会消失

Unicode 字符表示 "fullscreen"?

c# - UWP 显示全屏弹出窗口、ContentDialog 或 Flyout

linux - 如何毫不费力地从 xcb 获取 unicode 输入

html - 带边框的全屏背景图片

X11:使用 xcb 获取主窗口列表

linux - 为什么我不能在分辨率为 800x600 的显示器上运行 Qt Qml 应用程序?

x11 - 令人困惑的_NET_SUPPORTING_WM_CHECK