Enrico Weigelt, metux IT consult
2e44594e80
( !1654 ) Xnest: replace XTextWidth[16]() by own implementation
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
b738d8b5c5
( !1654 ) Xnest: load fonts via xcb
...
FIXME: support xf86bigfont extension
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
040043863f
( !1654 ) Xnest: replace XQueryBestSize() by xcb_query_best_size()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
fd78c387d3
( !1654 ) Xnest: replace X(Un)InstallColormap() by xcb_(un)install_colormap()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
bfa21f4f32
( !1654 ) Xnest: drop obsolete XGetVisualInfo() call and reundant colormaps
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
da30af6b78
( !1654 ) Xnest: use new lookup table for visuals and cmaps mappings
...
Use the visuals lookup table introduced by previous commit for
looking up local vs upstream visuals and their colormaps.
Replacing the the old Xlib visuals table.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
84df5345e7
( !1654 ) Xnest: screen: record visuals and cmaps in separate table
...
Record the associations between host's and our visuals as well their
corresponding cmaps in a global table, which's used later for lookups.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
1db2c9142b
( !1654 ) Xnest: fetch visuals from XCB setup data instead of Xlib
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
3f48e7834b
( !1654 ) Xnest: screen move assigment between depths and visual assignment to own function
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
b00a2a7ee8
( !1654 ) Xnest: replace XParseGeometry() by own implementation
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
2d88e4e086
( !1654 ) Xnest: replace XGetWindowAttributes() by xcb_get_geometry()
...
Use xcb function instead of Xlib, and also spare one additional
(unused) request.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
44bdf0866f
( !1654 ) Xnest: collect upstream window geometry in one xRectangle struct
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
e976d2518d
( !1654 ) Xnest: replace XGetKeyboardControl() by xcb_get_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
d1c62e9aaa
( !1654 ) Xnest: replace XGetPointerMapping() by xcb_get_pointer_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
3e4f9a923e
( !1654 ) Xnest: replace XGetPointerControl() by xcb_get_pointer_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
2518cadc80
( !1654 ) Xnest: replace XGetModifierMapping() by xcb_get_modifier_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
acba7d7ef2
( !1654 ) Xnest: fetch keyboard mapping via xcb
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
1f6a405c4b
( !1654 ) Xnest: add own copy of fixed xcb_xkb_get_kbd_by_name()
...
This is a temporary measure, until xcbproto / libxcb is fixed:
keep an own copy of the fixed xcb_xkb_get_kbd_by_name(), renamed
as xcb_xkb_get_kbd_by_name_1().
Once xcbproto/libxcb is fixed (and new xcb release is out), this
commit can be reverted.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
fb0973dd9c
( !1654 ) Xnest: use xcb for retrieving keymap controls
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
c21cb098bb
( !1654 ) Xnest: replace XSelectInput() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
69fd8a353d
( !1654 ) Xnest: replace XSetStandardProperties() by xcb functions
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
5d807b2030
( !1654 ) Xnest: fetch supported pixmap formats from xcb setup data
...
There's even no need to keep our own copies, since we can ask XCB's
copy any time.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
255bad944f
( !1654 ) Xnest: fetch allowed screen depths from xcb screen info
...
There's even no need to keep our own copies, since we can ask XCB's
copy any time.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
6e47d1aeda
( !1654 ) Xnest: Pixmap: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
ad1852c0c2
( !1654 ) Xnest: GC: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
c0e3a75c82
( !1654 ) Xnest: replace XDestroyWindow() by xnest_destroy_window()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
7f91836413
( !1654 ) Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
a1663b3a48
( !1654 ) Xnest: replace XCreateBitmapFromData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
2d1dc7c0f6
( !1654 ) Xnest: replace XDefineCursor() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
bee6771e0a
( !1654 ) Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
089e06982e
( !1654 ) Xnest: replace XFreeCursor() by xcb_free_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
b6a3fa451c
( !1654 ) Xnest: replace XStoreColors() by xcb_store_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
998123dff6
( !1654 ) Xnest: replace XQueryColors() by xcb_query_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
7ce308063a
( !1654 ) Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
d115ffdc7d
( !1654 ) Xnest: replace XSetWMColormapWindows() by xcb_icccm_set_wm_colormap_windows_checked()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
66a71ac254
( !1654 ) Xnest: use XIDs directly, instead of Xlib's GC
...
Now that no Xlib drawing functions used anymore, we can finally switch over
to using GC XID's directly, instead of Xlib's GC struct.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
73cdb21add
( !1654 ) Xnest: GC: set stipple filling via xcb_change_gc
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
dea01f180b
( !1654 ) Xnest: replace XSetClipMask() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
2057294127
( !1654 ) Xnest: replace XSetClipRectangles() by xnset_set_clip_rectangles()
...
Use XCB for setting clip rectangles.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
5f00bed662
( !1654 ) Xnest: replace XSetDashes() by xnest_set_dashes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
0b6449bc65
( !1654 ) Xnest: replace XChangeGC() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
9debe09551
( !1654 ) Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
80b7481a97
( !1654 ) Xnest: replace XChangePointerControl() by xcb_change_pointer_control
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
865ce1c45c
( !1654 ) Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
92082c2612
( !1654 ) Xnest: replace XDrawImageString() by xcb_image_text_8()
...
Replace XDrawImageString() by xcb_image_text_8(), as well as their 16-bit
counterparts.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
036c47b0f2
( !1654 ) Xnest: replace XDrawString[8|16]() by xcb_poly_text_[8|16]()
...
Replace XDrawString8() by xcb_poly_text_8(), as well as XDrawString16()
by xcb_poly_text_16(). Some care needs to be taken to prepend the xTextElt
header before sending the request out.
GC operation handlers don't need to care about poly-strings or length
above 254, as this is already handled by their caller, doPolyText().
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
b4c5c62208
( !1654 ) Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
be16356c0b
( !1654 ) Xnest: directly pass ClearArea request to upstream server
...
Instead of going through mi machinery, just pass the ClearArea
request to the upstream window.
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
bacaf20be8
( !1654 ) Xnest: replace XFillArcs() by xcb_poly_fill_arc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00
Enrico Weigelt, metux IT consult
407fb39b29
( !1654 ) Xnest: replace XFillPolygon() by xcb_fill_poly()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2026-02-02 17:35:15 +01:00