Would it be feasible for me to change parts of the Xlib code to XCB?

I am learning XCB at the moment and I came across a post saying that it should be possible to change parts of Xlib code to use XCB without the need to change everything, since Xlib now uses XCB under the hood. I got the idea that with time I might be able to change the event handling code to XCB if it was feasible without porting all of fvwm to XCB.
Would this be possible, or is the event system too closely connected to the rest of fvwm for this to be possible? I assume the reason for many things being synchronous is due to the event handling being done with Xlib, which to my knowledge is only synchronous. Would changing the event system to XCB even allow for more asynchronous behaviour or would everything need to change?

Hi @noguardkenny

It’s not as simple as just replacing existing XLib calls with XCB ones. There’s several (alebeit old/unnecessary) tricks FVWM is using with XLib which we might still be relying on, and aren’t present in XCB.

Most notable is the X11 event loop handling.

I’m also fairly certain that – these days – Xlib internals are using XCB in some places, so the need to migrate fully is probably not worth the effort.

If you’d like to help in other areas with FVWM’s development, let me know.

– Thomas

If you tell me which areas you need help with, I could consider helping with some of them. No promises though

@thomasadam If you could hook me up with any low priority work, which I can work on at my own pace. I would be happy to work on it when I have time to spare

@noguardkenny – thanks! Have a look at: Issues · fvwmorg/fvwm3 · GitHub