我正在尝试使用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);
Run Code Online (Sandbox Code Playgroud)
然后使用结构内部的原子EWMH._NET_WM_STATE等
鉴于这个小背景,我怎么能暗示窗口管理器窗口应该全屏?
在单独的线程 ( std::thread) 中,我有一个等待 的事件循环xcb_wait_for_event。当程序退出时,我想通过中断很好地关闭它(我有一个设置线程局部变量的解决方案,循环中的检查点抛出异常),然后将我的事件线程加入主线程。问题是xcb_wait_for_event; 我需要一种提前返回的方法,或者我需要该函数的替代方法。
任何人都可以提出解决方案吗?谢谢你的帮助!