LibX11
Xlib/libX11 mirror
Install / Use
/learn @mirror/LibX11README
libX11 - Core X11 protocol client library
Documentation for this library can be found in the included man pages, and in the Xlib spec from the specs subdirectory, also available at:
-
https://www.x.org/releases/current/doc/libX11/libX11/libX11.html
-
https://www.x.org/releases/current/doc/libX11/libX11/libX11.pdf
and the O'Reilly Xlib books, which they have made freely available online, though only for older versions of X11:
-
X Series Volume 2: Xlib Reference Manual (1989, covers X11R3) https://www.archive.org/details/xlibretmanver1102nyemiss
-
X Series Volume 2: Xlib Reference Manual, 2nd Edition (1990, covers X11R4) https://www.archive.org/details/xlibrefmanv115ed02nyemiss
All questions regarding this software should be directed at the Xorg mailing list:
https://lists.x.org/mailman/listinfo/xorg
The primary development code repository can be found at:
https://gitlab.freedesktop.org/xorg/lib/libX11
Please submit bug reports and requests to merge patches there.
For patch submission instructions, see:
https://www.x.org/wiki/Development/Documentation/SubmittingPatches
Release 1.8.3
- Improved handling of reentering libX11 via X*IfEvent() calls (!171, !173)
- Fix loading of en_US.UTF-8/XLC_LOCALE (#167, !174)
- Add XFreeThreads() and automatic call from a destructor function when thread-safety-constructor is enabled (!167).
- Address issues found by UBSan and AddressSanitizer
- Fix build with older gcc versions (!169)
Release 1.8.2
- Allow X*IfEvent() to reenter libX11 to avoid deadlock from unsafe calls when thread-safety-constructor is enabled (!150).
- Remove Xlib's pthread function stubs - instead use system provided threads functions, including linking against any needed pthread libraries if thread-safety-constructor is enabled (!155, !156).
- Fix off-by-one error in XKeycodeToKeysym for indexes > 3 (!78).
- Allow XNSpotLocation with OnTheSpot (!127).
- Fix Win32 build when -fno-common is in effect (!140).
- Fix memory leak in XRegisterIMInstantiateCallback (!158).
- Add compose sequences for the double-struck capitals ℕ ℤ ℚ ℝ ℂ (!144), the Samogitian E with dot above and macron (!147), Unicode minus sign (!163).
- Change <Compose> <^> <-> to mean superscript minus instead of macron (!162).
- Delete compose sequences that mix top-row digits with numpad digits (!139) or mix upper & lower case letters (!144).
- Delete some unuseful compose sequences meant for Bépo layout (!146).
- Delete compose sequences using leftcaret & rightcaret keysyms (!163).
- Remove KOI8-R character set from en_US.UTF-8/XLC_LOCALE (!148).
- Map sr locales to sr_RS compose files (!161).
Release 1.8.1
- Fix --enable-thread-safety-constructor configure option
Release 1.8
- Add --enable-thread-safety-constructor configure option (default: enabled) to call XInitThreads() from the library's constructor, thus enabling thread-safety and locking by default. This may expose bugs in clients which did not follow documented rules for calling libX11 functions.
- Fix Ethopian (am_ET.UTF-8) compose sequences.
- Remove 8 compose sequences that generated the input symbols.
- Add compose seuences for abovedot (<period> <space>), diaeresis (<quotedbl> <space>), and ogonek (<semicolon> <space>).
Release 1.7.5
- Avoids a segfault when an invalid name is used for opening a display.
Release 1.7.4
- Fixes the "Unknown sequence number" error by allowing backward jumps in the sequence number when widening it.
- Any changes to virtual modifiers get propagated properly.
- Greek case-conversion tables were updated to Unicode Data 14.0.
- Compose sequences for ☮ 🄯 ⇐ ⇑ ⇓ were added, being the following: OY, ()), =<, =^, and =v.
- Hammer-and-sickle can be composed with question mark plus backslash.
Release 1.7.3
- Fixes a hanging issue in _XReply() where the replying thread would wait for an event when another thread was already waiting for one.
- Avoids a crash when the X connection gets broken while closing down.
Release 1.7.2
This is a bug fix release, correcting a regression introduced by and improving the checks from the fix for CVE-2021-31535.
Release 1.7.1
This is a bug fix release, including a security fix for CVE-2021-31535, nls and documentation corrections.
- Reject string longer than USHRT_MAX before sending them on the wire
- Fix out-of-bound access in KeySymToUcs4()
- nls: allow composing all breved letters also with a lowercase "u"
- nls: add 'C.utf8' as an alias for 'en_US.UTF-8'
- Nroff code fixes
- Comments fixes
Release 1.7.0
Version 1.7.0 includes a new API, hence the change from the 1.6 series to 1.7:
- XSetIOErrorExitHandler which provides a mechanism for applications to recover from I/O error conditions instead of being forced to exit. Thanks to Carlos Garnacho for this.
This release includes a bunch of bug fixes, some of which have been pending for over three years:
-
A bunch of nls cleanups to remove obsolete entries and clean up formatting of the list. Thanks to Benno Schulenberg for these.
-
Warning fixes and other cleanups across a huge swath of the library. Thanks to Alan Coopersmith for these.
-
Memory allocation bugs, including leaks and use after free in the locale code. Thanks to Krzesimir Nowak, Jacek Caban and Vittorio Zecca for these.
-
Thread safety fixes in the locale code. Thanks to Jacek Caban for these.
-
poll_for_response race condition fix. Thanks to Frediano Ziglio for the bulk of this effort, and to Peter Hutterer for careful review and improvements.
Version 1.7.0 includes a couple of new locales:
- ia and ie locales. Thanks to Carmina16 for these.
There are also numerous compose entries added, including:
-
|^ or ^| for ↑, |v or v| for ↓, ~~ for ≈. Thanks to Antti Savolainen for this.
-
Allowing use of 'v' for caron, in addition to 'c', so things like vC for Č, vc for č. Thanks to Benno Schulenberg for this.
-
Compose sequences LT, lt for '<', and GT, gt for '>' for keyboards where those are difficult to access. Thanks to Jonathan Belsewir for this.
Related Skills
node-connect
353.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
111.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
353.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
353.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
