Commit Graph

317 Commits

Author SHA1 Message Date
Enrico Weigelt, metux IT consult bc1d6fe9de Xnest: replace XGetModifierMapping() by xcb_get_modifier_mapping()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:39:17 +02:00
Enrico Weigelt, metux IT consult 90b30fef64 Xnest: fetch keyboard mapping via xcb
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:39:17 +02:00
Enrico Weigelt, metux IT consult a1d0ad2155 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>
2024-08-26 14:39:13 +02:00
Enrico Weigelt, metux IT consult ebe499b2c4 Xnest: use xcb for retrieving keymap controls
This needs fix in xcbproto:

https://gitlab.freedesktop.org/xorg/proto/xcbproto/-/merge_requests/49

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult f702a02931 Xnest: replace XSelectInput() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 801716a695 Xnest: replace XSetStandardProperties() by xcb functions
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 73953d49f9 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 92a52d0190 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 8eddaa62ce Xnest: Pixmap: replace XGetImage() by xcb_get_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult ac34412efd Xnest: GC: replace XGetImage() by xcb_get_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult d3bafdf49f Xnest: replace XDestroyWindow() by xnest_destroy_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 2cd8b6c285 Xnest: replace XCreatePixmapFromBitmapData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 4a7a6cfb8d Xnest: replace XCreateBitmapFromData() by xcb_put_image()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult cce1ef3b95 Xnest: replace XDefineCursor() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 072ac1ffdc Xnest: replace xnestRecolorCursor() by xcb_recolor_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult d059954952 Xnest: replace XFreeCursor() by xcb_free_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult edc514e2bd Xnest: replace XStoreColors() by xcb_store_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult fd607858da Xnest: replace XQueryColors() by xcb_query_colors()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 4d24903dfb Xnest: replace XSetWindowColormap() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult cde9d848d6 Xnest: replace XSetWMColormapWindows() by xcb_icccm_set_wm_colormap_windows_checked()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 3aa6daef7e 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult aee6eefbd4 Xnest: GC: set stipple filling via xcb_change_gc
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 710a60406c Xnest: replace XSetClipMask() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult c2215260a8 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult a26ca8e9bb Xnest: replace XSetDashes() by xnest_set_dashes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 8a068eb15a Xnest: replace XChangeGC() by xcb_change_gc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult db2743387b Xnest: replace XChangeKeyboardControl() by xcb_change_keyboard_control()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 1795698202 Xnest: replace XChangePointerControl() by xcb_change_pointer_control
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 315469160c Xnest: replace XSetWindowAttributes struct by own type
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 70acda3fba Xnest: replace XChangeWindowAttributes() by xcb_change_window_attributes()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 6d12f08fb2 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 463dd69d9b 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 0fdcadba09 Xnest: replace XFillRectangles() by xcb_poly_fill_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 37d6d3ae98 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>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 6aef795cc3 Xnest: replace XFillArcs() by xcb_poly_fill_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 4156c3ed2b Xnest: replace XFillPolygon() by xcb_fill_poly()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult d5b26664f7 Xnest: replace XCopyPlane() by xcb_copy_plane()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 5557fe78a5 Xnest: replace XCopyArea() by xcb_copy_area()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult feb70bfcc3 Xnest: replace XDrawArcs() by xcb_poly_arc()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult da897336e7 Xnest: replace XDrawRectangles() by xcb_poly_rectangle()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 84926b8c55 Xnest: replace XDrawSegments() by xcb_poly_segment()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult a18d509fa3 Xnest: replace XDrawLines() by xcb_poly_line()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult d97f059bb8 Xnest: replace XDrawPoints() by xcb_poly_point()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult ad7558aeda Xnest: replace XCreateColormap() / XFreeColormap() by xcb
Use xcb_create_colormap() and XFreeColormap() instead of XCreateColormap()
and XFreeColormap().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult d1cd3b5ce5 Xnest: use xcb instead of XShapeCombineRegion() and XShapeCombineMask()
Using xcb_shape_rectangles() and xcb_shape_mask() instead of Xlib's
XShapeCombineRegion() and XShapeCombineMask().

Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult c9cf170a19 Xnest: use xcb_put_image() for PutImage requests
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 9df52bc2fe Xnest: use xcb_put_image() for creating cursors
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 813ab17323 Xnest: replace XCreatePixmapCursor() by xcb_create_cursor()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult 9cf63422e2 xnest: replace XConfigureWindow() calls by xcb_configure_window()
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00
Enrico Weigelt, metux IT consult e30eefaa43 Xnest: use xcb for creating / destroying pixmaps
Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
2024-08-26 14:21:54 +02:00