我正在尝试使用 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_change_property(Connection, XCB_PROP_MODE_REPLACE, WindowID, EWMH._NET_WM_STATE, XCB_ATOM, 32, 1, &(EWMH._NET_WM_STATE_FULLSCREEN));
- cdbfoster