Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wayland support #10

Open
bakkeby opened this issue Jan 13, 2022 · 2 comments
Open

Wayland support #10

bakkeby opened this issue Jan 13, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@bakkeby
Copy link
Owner

bakkeby commented Jan 13, 2022

I am adding this as an issue as it is likely going to be a frequently asked question.

There is currently no support for Wayland with regards to dusk. Wayland support is not entirely out of the question, but going down that route would be a separate project in any case.

Such a project could draw from the experiences of dwl (dwm for Wayland) and sway both relying on the wlroots libraries.

Now you may want to curb your expectations with regards to dusk on Wayland as the reality of it is that it would mean a lot less features:

  • the window manager essentially has to implement their own compositor, or use wlroots, which means that certain features that your favourite compositor has will not be available
  • client rules may potentially not be available besides filtering on application ID or window title
  • seamless restarts will likely not be possible
  • such an implementation might have to drop the bar(s)
  • multi-monitor support may have to be hardcoded (like in Sway), i.e. no hotplugging support
  • workspace previews would likely have to be dropped
  • and quite likely a range of other features would have to go as well (will try to update if I come across any specifics)

This may be a waste of effort if there is no interest in support for Wayland of course so add a 👍🏻 to this issue to show interest.

@bakkeby bakkeby added the enhancement New feature or request label Jan 13, 2022
@explosion-mental
Copy link

This idea passes my mind, just because I wanna try wayland..
tinywl is like 800 LOC... so yeah big effort. Can't imagine how handling a systray will be. I'm thinking in stealing.. taking a look at how dwl, since it's 2000LOC, still a lot of effort. Maybe some kind of abstraction can be done.
sure the bar won't exist on wayland¿

@speedie1337
Copy link

I am late to this discussion but I think Wayland support should be a separate project entirely. You can expect to essentially write an entirely new window manager (compositor) even if you go with something like wlroots.

Bars would probably be possible (see Sway), but would require wayland-client code for creating the client and also libdrw would have to be rewritten with another library, such as Cairo. I've done this already in my dwm-pango-cairo fork.

Many features Xlib provides cannot be done on Wayland (at least with a wlroots compositor). Overall, I think combining it into one project would increase complexity significantly, and to get the number of features dusk provides on Wayland you'd probably double the codebase size.

I'd still be interested in this though, and I'm sure others would be as well, because there's a lack of good compositors for Wayland right now in my opinion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants