3 ms·
> Basically enough window system glue to create a window for housing a GL or Vulkan context, but nothing more. It called Gtk. To get that on Windows, you link
by vetinari 3y ago
> Basically enough window system glue to create a window for housing a GL or Vulkan context, but nothing more.
It called Gtk.
To get that on Windows, you link against user32.dll just to be able to call CreateWindowEx (and have no control, what it drags into your process). On macOS, you link against Cocoa.framework to get NSWindow. Why would be Linux any different?
Just because you have transparent low-level access to display server does not mean, that you have to use it and then complain, that higher level constructs are not available. Windows won't allow you to talk directly over ipc to dwn. Neither will Apple.
To display a fully-functioning window decorations, you need widget library (what do you think popup menus are?). So if you want to spend your life creating a library, that proxies to some configured widget library just for decorations, for those who refuse to use the right layer in the stack, be my guest. If you are not willing to do that, why do you expect others to do it for you?
- flohofwoe 3y agoDoes GTK give me KDE's window decorations when running on a KDE desktop or does it look "alien"? Does every Linux desktop setup that runs Wayland have GTK libs installed? Last I checked these were the main show stoppers when linking against a specific widget framework on Linux. There's no least common system standard like on Windows or macOS (X11 was that standard, but oh well...)
- vetinari 3y ago> Does GTK give me KDE's window decorations when running on a KDE desktop or does it look "alien"? No. Just like Win32 or Cocoa doesn't draw foreign chrome, neither does Gtk. Apps are free to draw whatever they want, and many do, like Firefox, Chrome or MS Office. > Does every Linux desktop setup that runs Wayland have GTK libs installed? I have yet to see any relevant linux distribution, that comes with display server (not just wayland) and doesn't ship with Gtk. > Last I checked these were the main show stoppers when linking against a specific widget framework on Linux. These are not show stoppers; they are subjective preferences. They are also demanding something from Linux that they do not demand from other systems. > There's no least common system standard like on Windows or macOS (X11 was that standard, but oh well...) It is, you just chose to ignore it (going full circle; it is called Gtk). You are free to ignore it, but it comes with a price. Complaining about the price without putting in an effort to change it according to these subjective preferences won't get anybody too far.