3 ms·
So for window decorations, it's up to the app developer if they want to implement special behavior for client side decorations or not. If they do, there's nothi
by cycloptic 6y ago
So for window decorations, it's up to the app developer if they want to implement special behavior for client side decorations or not. If they do, there's nothing your toolkit or window manager can really do about it, you have to show the client's window decorations or you will lose functionality. Wayland has little to do with that.
About depending on C code, Wayland is pretty much the same as X11 there. If you don't want to use libwayland, you can write your own implementation of the wire protocol.
- fiddlerwoaroof 6y agoThis isn't true: https://news.ycombinator.com/item?id=19783044 https://news.ycombinator.com/item?id=19783044
- cycloptic 6y agoYou didn't say hardware acceleration initially. If you need hardware acceleration you will have to link against Mesa/OpenGL for direct rendering anyway, which is a giant C library, so yeah the dependency on external C is somewhat unavoidable there under any windowing system. If you consider linking against libGL and libEGL to be okay but not libwayland then there actually is a workaround: forget the EGL wayland platform and have your custom wayland implementation use the EGL GBM platform. There's some extra code you have to write here but unless something changed that I missed, the same problem exists with Xlib if you try to use the EGL X11 platform, or if you want to use direct rendering in GLX. (Mesa's libEGL/libGLX links against libX11 and expects to get a structure with the C ABI. Keep in mind if you are using GLX calls in that CLX library, you are probably not getting direct rendering, you would have to do a similar thing and reimplement the DRI2/DRI3 path from Mesa in your toolkit or application)