Enrico Weigelt, metux IT consult
d89c12bd5f
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
c0cbbd41f9
( !1654 ) Xnest: fetch visuals from XCB setup data instead of Xlib
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
11c2ca5989
( !1654 ) Xnest: screen move assigment between depths and visual assignment to own function
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
7fa916fb98
( !1654 ) Xnest: replace XParseGeometry() by own implementation
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f9b0e70bfa
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
715141a16a
( !1654 ) Xnest: collect upstream window geometry in one xRectangle struct
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
c1258d66b3
( !1654 ) Xnest: replace XGetKeyboardControl() by xcb_get_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
bd74274407
( !1654 ) Xnest: replace XGetPointerMapping() by xcb_get_pointer_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
4f9802cdd2
( !1654 ) Xnest: replace XGetPointerControl() by xcb_get_pointer_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
18dd4b2993
( !1654 ) Xnest: replace XGetModifierMapping() by xcb_get_modifier_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
d9e946a58f
( !1654 ) Xnest: fetch keyboard mapping via xcb
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
185d7b5a4c
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
867dc1ab94
( !1654 ) Xnest: use xcb for retrieving keymap controls
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f9d9441c36
( !1654 ) Xnest: replace XSelectInput() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
07c620a04f
( !1654 ) Xnest: replace XSetStandardProperties() by xcb functions
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
5240fc206d
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
d42cac61e1
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
5054b64802
( !1654 ) Xnest: Pixmap: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
3673c8493f
( !1654 ) Xnest: GC: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
2aee1a2988
( !1654 ) Xnest: replace XDestroyWindow() by xnest_destroy_window()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
ce719e0477
( !1654 ) Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
483ce7e0ec
( !1654 ) Xnest: replace XCreateBitmapFromData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
e46f7ef26c
( !1654 ) Xnest: replace XDefineCursor() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
28f54b0f71
( !1654 ) Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
0b4f4a40ed
( !1654 ) Xnest: replace XFreeCursor() by xcb_free_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
77b069861c
( !1654 ) Xnest: replace XStoreColors() by xcb_store_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
aa48167e4a
( !1654 ) Xnest: replace XQueryColors() by xcb_query_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
ffcab5050c
( !1654 ) Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
0ceb0f48b0
( !1654 ) Xnest: replace XSetWMColormapWindows() by xcb_icccm_set_wm_colormap_windows_checked()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
37086a8e46
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
3070d17333
( !1654 ) Xnest: GC: set stipple filling via xcb_change_gc
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
00726be059
( !1654 ) Xnest: replace XSetClipMask() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
502e3c35d4
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
69f2bff781
( !1654 ) Xnest: replace XSetDashes() by xnest_set_dashes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f772049b3d
( !1654 ) Xnest: replace XChangeGC() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
91315fe194
( !1654 ) Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
b8dc104a60
( !1654 ) Xnest: replace XChangePointerControl() by xcb_change_pointer_control
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
836d549f95
( !1654 ) Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
4ad1888685
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
fcd1709263
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
43152a8a7b
( !1654 ) Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
1f9aa74da7
( !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>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
39cb5e2328
( !1654 ) Xnest: replace XFillArcs() by xcb_poly_fill_arc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
8a5b0671d1
( !1654 ) Xnest: replace XFillPolygon() by xcb_fill_poly()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
3c8366023e
( !1654 ) Xnest: replace XCopyPlane() by xcb_copy_plane()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f9b3261256
( !1654 ) Xnest: replace XCopyArea() by xcb_copy_area()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f2bd4bd93a
( !1654 ) Xnest: replace XDrawArcs() by xcb_poly_arc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
deb33ced21
( !1654 ) Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
f09d43cad5
( !1654 ) Xnest: replace XDrawSegments() by xcb_poly_segment()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00
Enrico Weigelt, metux IT consult
9d396cf8e6
( !1654 ) Xnest: replace XDrawLines() by xcb_poly_line()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2025-02-11 11:36:22 +01:00