* Laslo Hunhold <[email protected]> [2022-04-29 20:05]:
On Fri, 29 Apr 2022 22:55:31 +0600 NRK <[email protected]> wrote:Dear NRK,While you've asked this to Hiltjo, I figured I'd give my 2c on this since I've been trolling around the dmenu code base a bit recently. Most of the heavy-lifting is currently done via libsl, however libsl is a pretty thin abstraction over X and exposes a lot of the X (and Xft) specific details in the API. Just taking a look at `drw.h` should confirm this. So in order to support wayland, the entire API will need to reworked to hide away all low level details so that it can be used for both X and Wayland. But that's not all, dmenu itself makes a good amount of calls to Xlib functions. So all those will need to be abstracted away as well. At the end, I suspect it'll be much simpler to just have a separate branch or even just a rewrite from scratch rather than trying to cram support for both wayland and X in the existing codebase.thanks for your overview! One big issue I see is that Wayland offers no way of placing a window "at the top". If there are ways to "request" this these are proprietary extensions to the protocol. I'm a bit torn with regard to Wayland: On the one hand it is being adopted more and more (sway, etc.), but on the other hand, I find it to be a very ill-designed protocol that leads to a lot of fragmentation, extension madness and drops a lot of useful stuff X offers. The chance to design something truly wonderful was wasted on this piece of crap.
There is actually a dmenu fork here: https://github.com/michaelforney/dmenuThe diff does not look too big and afair it was working for me some time ago. I think it would be great to provide an implementation for Wayland.
Cheers Jochen
signature.asc
Description: PGP signature
