* 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/dmenu

The 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

Attachment: signature.asc
Description: PGP signature

Reply via email to