Enrico Weigelt, metux IT consult
fe405a4bbf
( !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 >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
ad5dd2cc57
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
9966f1ce92
( !1654 ) Xnest: fetch visuals from XCB setup data instead of Xlib
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
efef3976ec
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
80c31c4d97
( !1654 ) Xnest: replace XParseGeometry() by own implementation
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
cc7b74448a
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
4a9237a47c
( !1654 ) Xnest: collect upstream window geometry in one xRectangle struct
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
936b700fd2
( !1654 ) Xnest: replace XGetKeyboardControl() by xcb_get_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
a8a8da3f66
( !1654 ) Xnest: replace XGetPointerMapping() by xcb_get_pointer_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
cc477ca918
( !1654 ) Xnest: replace XGetPointerControl() by xcb_get_pointer_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
cce74aff53
( !1654 ) Xnest: replace XGetModifierMapping() by xcb_get_modifier_mapping()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
673e9cc2a3
( !1654 ) Xnest: fetch keyboard mapping via xcb
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
ac6da2d52d
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
2e0d498902
( !1654 ) Xnest: use xcb for retrieving keymap controls
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
69540fd9bc
( !1654 ) Xnest: replace XSelectInput() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
23e57ba907
( !1654 ) Xnest: replace XSetStandardProperties() by xcb functions
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
97d76195c1
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e485891ea5
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e0723ae0fd
( !1654 ) Xnest: Pixmap: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e479eb090f
( !1654 ) Xnest: GC: replace XGetImage() by xcb_get_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
58c27b2ef7
( !1654 ) Xnest: replace XDestroyWindow() by xnest_destroy_window()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
04e7ed9df4
( !1654 ) Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e70da833eb
( !1654 ) Xnest: replace XCreateBitmapFromData() by xcb_put_image()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
6b4fbaa39e
( !1654 ) Xnest: replace XDefineCursor() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
79eaedbcc0
( !1654 ) Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
7cf927e8d3
( !1654 ) Xnest: replace XFreeCursor() by xcb_free_cursor()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
b529df0316
( !1654 ) Xnest: replace XStoreColors() by xcb_store_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
ee7294afda
( !1654 ) Xnest: replace XQueryColors() by xcb_query_colors()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
db89fa2d73
( !1654 ) Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
23a925b261
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
f168791525
( !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-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e4dde4e4f0
( !1654 ) Xnest: GC: set stipple filling via xcb_change_gc
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:57 +01:00
Enrico Weigelt, metux IT consult
e971675a7e
( !1654 ) Xnest: replace XSetClipMask() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
7118972472
( !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-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
08b2375d62
( !1654 ) Xnest: replace XSetDashes() by xnest_set_dashes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
d71caf6b0c
( !1654 ) Xnest: replace XChangeGC() by xcb_change_gc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
68bf006556
( !1654 ) Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
c82daa2203
( !1654 ) Xnest: replace XChangePointerControl() by xcb_change_pointer_control
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
8b7d51ca86
( !1654 ) Xnest: replace XChangeWindowAttributes() by xcb_aux_change_window_attributes()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
75ee287896
( !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-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
d6c5149db3
( !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-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
d73b5cf0b0
( !1654 ) Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
b00c3c4412
( !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-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
070d6fc7e2
( !1654 ) Xnest: replace XFillArcs() by xcb_poly_fill_arc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
2165c94b09
( !1654 ) Xnest: replace XFillPolygon() by xcb_fill_poly()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
5ee023c783
( !1654 ) Xnest: replace XCopyPlane() by xcb_copy_plane()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
ea9cba16ba
( !1654 ) Xnest: replace XCopyArea() by xcb_copy_area()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
cb787debb1
( !1654 ) Xnest: replace XDrawArcs() by xcb_poly_arc()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
779338fdf2
( !1654 ) Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00
Enrico Weigelt, metux IT consult
8d0cf26eff
( !1654 ) Xnest: replace XDrawSegments() by xcb_poly_segment()
...
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net >
2025-02-19 20:01:56 +01:00