If one needs low level access to X11 events, windowing and input without using GTK, QT et al., should one use Xlib or XCB? What are the pros and cons of each?
Is XCB ready for production use? Should I use Xlib instead?
10k Views Asked by x-x At
2
There are 2 best solutions below
0
gatis paeglis
On
What helps when learning XCB is to look at X11 specification, for example here https://www.x.org/releases/current/doc/xproto/x11protocol.pdf
Most XCB calls map directly to X11 requests. The same is true for extensions.
Related Questions in LINUX
- How do I recursively find and replace only in files named index.php on Linux webserver?
- passing text with \n as one argument in shell
- kernel module does not print packet info
- How to send ESC/POS commands to thermal printer in Linux
- (x64 Nasm) Writeline function on Linux
- How do I set the Hive user to something different than the Spark user from within a Spark program?
- Default priority of thread with SCHED_FIFO
- Calling a python function with options from shell script
- How to split a directory into parts without compressing or archiving?
- Cross compile simple standard C program on Linux for Mac
- How to offload NAPI poll function to workqueue
- python netifaces - How to get currently used network interface
- Unexpected output from function
- mingw-64 conflicting declarations when cross-compiling
- Different behavior of async with Visual Studio 2013(Windows8.1) and GCC 4.9(Ubuntu14.10)
Related Questions in UNIX
- passing text with \n as one argument in shell
- C std library don't appear to be linked in object file
- How to split a directory into parts without compressing or archiving?
- Momentjs get current GMT unix time
- Timing packets on a traffic server
- man pages for c variable types
- Blocking in pthread_join()
- PWX-00001 Error opening repository "dtlmsg.txt". RCs = 268/150/2
- Unix c program to calculate pi using threads
- How to perform parallel processes for different groups in a folder?
- Set aliases globally for all users
- wmic csproduct get UUID equivalent for Unix and Mac?
- Send alert for 80% threshold comparing two values from Disk partition
- Unix - Tail Utility would open the file or not
- Redirect Outward of unix os commands to html page
Related Questions in X11
- How to edit the xorg.conf
- What exactly is X11 Channel
- Integrating XCB and libX11 event loops - hanging on select/poll inside Xt
- When I use hsqldb I have problems with GUI (JavaFx)
- X11 Xterm Keyboard layout is off by one or worse.
- libX11: XPutImage first call
- Wine InnoSetup CentOs
- How can I get screenshot from all displays with X11?
- How does Mplayer interface with external windows?
- Create window without title bar
- `XSetWMNormalHints` and `XSetWMSizeHints`
- X11: how to run an application after login?
- Xscreensaver renders nothing
- X11/Xorg to X11/Xorg developer OSX
- Why does XGrabKey return BadRequest?
Related Questions in WINDOW-MANAGERS
- XLib application not redrawing unless resized
- How to manage separate GUI processes in a Qt application?
- Python 3 Tkinter Borderless fullscreen application
- Minimize window on scroll down?
- Xvfb - start or attach a window manager to xvfb
- How do I draw a pixmap to root window with xcb?
- arch-linux qtile keybinds no reaction
- Locking my app in same way as MX Player does?
- WindowManger notifies activity
- How to get focusable in a windowmanager view
- Xmonad, how to bind a key to running a shell script?
- Android: how to display multiple activities at the same time
- Skills and knowledge necessary to write a WM for the X.Org platform in Clojure/Java
- XLIB Decoration questions
- iceWm windows manager windows issue
Related Questions in XCB
- Integrating XCB and libX11 event loops - hanging on select/poll inside Xt
- xcb library: how to draw in colours
- How do I draw a pixmap to root window with xcb?
- "‘string’ undeclared" in code from "Basic Graphics Programming With The XCB Library"
- How to handle window events while waiting for terminal input?
- XShmGetImage fails without any error displayed
- Obtain keyboard layout and keysyms with XCB
- xcb window manager loses all key grabs
- XCB: detect change of a window's name / title
- catch that new QApplication failed and try something else
- xcb memory management: Should I free data field in iterator?
- X11 - XCB: Window information not up-to-date?
- python Gtk app failed with this error xcb xlib threads sequence lost failed
- Is XCB ready for production use? Should I use Xlib instead?
- Qt5 install on OSX -qt-xcb
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You can use both of them. XCB is simpler to use, has a better response to a multithread environment but lacks documentation, while Xlib is a more dated/complex tool, better documented and fully implemented.
I'm currently studying the XCB API and the hardest thing to do is to find docs and good API references..
In the end: if you aim to faster development, you should use Xlib, otherwise XCB is meant to be the future (but it's still far from being such).