我正在尝试使用 xcb 库实现一个基本的窗口管理器。
我设法与 X 服务器连接,并获取一些事件,但我不知道如何启动应用程序并在当前 X 会话中显示它。
我正在尝试遵循 xcb 教程:http: //xcb.freedesktop.org/tutorial/
基本上我认为(并且可能我错了)一旦会话开始,使用我的“windowmanager”,如果我想启动一个应用程序,我只需要分叉它,然后启动应用程序,例如:
int child = fork();
if(child==0) {
printf("Child");
execve("/usr/bin/xterm", NULL, NULL);
}
但似乎没有奏效。
我没有太多代码要显示,因为我只是想修改上面粘贴的教程中的 che 代码(我添加了一个无限循环,以及其他一些东西)。
那么如何启动 xterm、pcmanfm 等 x 应用程序并在当前 x 会话中显示它呢?
以及如何在新窗口中绘制应用程序?
最后一个问题:我试图复制并粘贴 X 教程的 hello world 窗口示例,但它似乎没有加载任何窗口。代码在这里: http ://www.x.org/releases/X11R7.7/doc/libxcb/tutorial/index.html#helloworld