XCB: an X protocol C binding

  • Authors:
  • Bart Massey;Jamey Sharp

  • Affiliations:
  • Computer Science Department, Portland State University;Computer Science Department, Portland State University

  • Venue:
  • ALS '01 Proceedings of the 5th annual Linux Showcase & Conference - Volume 5
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The standard X Window System binding for the C programming language, Xlib, is a very successful piece of software across a wide range of applications. However, for many modern uses, Xlib is not an ideal fit: its size, complexity, difficulty of extension and synchronous interface are particularly problematic. The XCB "X Protocol C Binding", currently under development, is a response to these and other concerns. XCB is intended to be a simpler and more direct binding of protocol objects to C functions; careful design of the XCB API and internal data structures and thorough modularization provides a solution that is size and time efficient, maintainable, easy to use both by single-threaded and multithreaded applications and easily extensible. Some features of Xlib have been sacrificed in achieving these goals, notably i18n support and convenience buffering and caching features, but the cost will likely be worth it for toolkit developers and for those looking to write specialized applications layered atop the XCB API.