I'm trying to learn XCB, but all of the tutorials I've found so far do not explain how can XCB used as a window manager.
I understand how to draw a single window and add a string to it, but how can I launch something from it and show it to the user?
[ github ]
XCB is an implementation of the client side of the X protocol. In other words, it's a library for writing X applications and window managers; it's not a window manager itself.
If you're interested in learning about how window managers launch applications, you probably want to read up on fork() and execve(). This is essentially how all processes are created on a Linux system (from init, a shell, window manager, etc.).
Also, if you're interested in learning how window managers work, a good place to start might be tinywm. It's a single C file intended to be the bare minimum to be a window manager. It uses Xlib though, not XCB, but at this point your goal should be to understand the concepts. Somebody out there may have created an XCB version by now, anyway...
Last edited by cmtptr (2013-09-07 16:43:52)
mcwm is a xcb based window manager and there's links to the xcb documentation on that web page as well.
You're just jealous because the voices only talk to me.
EDIT: Oops, I thought you were asking how to make a window in XCB, now how to make a window manager.
I'm working on a C++ UI toolkit that uses XCB. You can see the code for creating a window in the Window::show() function in window.cpp: https://github.com/gsingh93/ui-toolkit
The code is essentially based of off this tutorial: http://www.x.org/releases/X11R7.7/doc/l … index.html
Last edited by gsingh93 (2013-09-13 06:04:06)