Shizcow / dmenu-rs

A pixel perfect port of dmenu, rewritten in Rust with extensive plugin support
GNU General Public License v3.0
200 stars 9 forks source link

Wayland support? #2

Closed 1da1a172 closed 2 years ago

1da1a172 commented 4 years ago

Are there any plans to support wayland natively? I realize this may be out of scope, as dmenu does not support it.

Shizcow commented 4 years ago

Because dmenu-rs (and source dmenu) uses native X bindings for all rendering, adding wayland support would require rewriting upwards of 80% of the source code. Although it's not out of the question, there are several other things I'd like to complete first.

Closing as wontfix for the forseeable future.

Shizcow commented 4 years ago

Currently, I'm completely rewriting the render engine with xcb/xkb/cairo/pango, as apposed to xlib. During this process I plan to make every step of rendering modular. As xkb is well supported on wayland, and cairo and pango appear to be supported, I'd be willing to put in some extra effort to make this run on wayland.

The largest portion of work here will be switching from xcb to some wayland library.

Shizcow commented 4 years ago

Help Wanted: Recommendations for wayland libraries? Anything working in rust? Similar projects already completed?

It will take me a bit to finish the backend here before being able to start wayland -- any information gathered in the meantime will be appreciated.

asdf8dfafjk commented 3 years ago

No matter how you rewrite it in your xlib -> xcb port, this program would be > 80% GUI and < 20% logic, and thus IMHO a wayland port would be a waste of time. (I also think so is xcb port but thats your choice).

That said, I believe there is only 1 under-development rust wayland client library under, github.com/smithay . (surprisingly couldn't find any c-ffi bindigns to other libs ... ). There are some c libraries too.

Shizcow commented 3 years ago

Time isn't an issue for me. This project has been dead for a while anyway, but I do recognize the value of not bloating the to-do list.

C libraries are fine but I'm not keen on working with bindgen again -- it's just annoying.

asdf8dfafjk commented 3 years ago

dead for a while

I prefer the term "done". It's mature IMHO. I remember having ran into some minor issues early on but now a days I don't even know if I'm running this or original dmenu.

Jemi commented 3 years ago

I expect porting this to Cairo will make it vastly slower with no appreciable benefit. Pango could be useful but I'm not sure how it would affect speed. Pango can use XFT as a backend. Dmenu-rs should be fast even on an IBM AT.

Shizcow commented 2 years ago

Yeah, any more effort should be put towards a different project. I've tried getting back to this several times, but it's just not going to happen. Closing as wontfix.