Kevin, Sure, I was hoping for the question.
"The focus of GTK has moved away from being a “meta toolkit” that other toolkits can use as a “backend”." Quoted from https://discourse.gnome.org/t/gtk4-migration-window-management-functions-gone/7542/4 The first attempt I have made is the logical one, gtk4: https://github.com/openjdk/jfx-sandbox/tree/tsayao_gtk4_playground Then I have discovered it's not possible to use gtk4 without Xlib and that many window management functions are gone (see the quotation link). In addition to this: - Gtk4 cannot draw directly on the window or set the background without gtk4 css; - It cannot even move the window, just tell the compositor it started a move. I also have played plenty with gtk3, it breaks a lot of things thru the 3.x release cycle, such as DND. So, I see no reason to use Gtk if Xlib fits better as a glass backend (has all the needed functions) and Gtk would use Xlib anyway and hide much needed functionality. Current glass Gtk backend already touches a lot of Xlib. Wayland is fully compatible with Xlib, so we can work on "both worlds" with it. Someday on the future a pure Wayland backend would be nice. I'm happy to answer any further questions. -- Thiago. Em seg., 11 de abr. de 2022 às 12:41, Kevin Rushforth < kevin.rushfo...@oracle.com> escreveu: > Can you say more about the motivation for doing this? Given the eventual > direction for Wayland support, even in X11 compatibility mode, I would > expect more use of gtk and less use of Xlib, not the other way around. > > -- Kevin > > On 4/10/2022 2:43 PM, Thiago Milczarek Sayão wrote: > > Hi, > > > > I got simple samples running on the pure Xlib port of the Gtk backend. > > > > It still has gtk code, but mainly uses Xlib by now. Don't judge the code, > > I'm porting it gradually. > > > > https://github.com/openjdk/jfx-sandbox/tree/tsayao_xlib > > > > java @build/run.args -cp apps/toys/Hello/dist/Hello.jar > hello.HelloCursors > > > > Window coordinates and sizes are still off a bit, so you might have to > > resize the window to redraw. > > > > -- Thiago. > >