Re: [hackers] [dmenu] inputw: improve correctness and startup performance || NRK

From: Jochen Sprickerhof <suckless_AT_jochen.sprickerhof.de>
Date: Fri, 29 Apr 2022 20:39:51 +0200

* Laslo Hunhold <dev_AT_frign.de> [2022-04-29 20:05]:
>On Fri, 29 Apr 2022 22:55:31 +0600
>NRK <nrk_AT_disroot.org> 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

Received on Fri Apr 29 2022 - 20:39:51 CEST

This archive was generated by hypermail 2.3.0 : Fri Apr 29 2022 - 21:36:34 CEST