Dwl: Dwm for Wayland

100 theycallhermax 73 7/25/2025, 1:40:19 PM codeberg.org ↗

Comments (73)

exiguus · 15h ago
I am a big fan of dwm and have used it for years on all of my Free- and OpenBSD desktops before switching to sway. The suckless people clearly stated that they would not support Wayland on dwm. At the time, I considered sway as the successor to dwm, at least for me, because it already had an ecosystem around it, and its behavior could be configured similarly if it wasn't already. I also took a look at dwl at the time, I think it was three years ago. I am now happy to revisit it.
IgnaciusMonk · 7h ago
RHEL and friendly clones like Alma linux do run totally without X11 already !! Only wayland. so no need to remove x11 after installing distro. (on some distros it is not even possible, distro will break.) so finally we can have "clean" distros. it can provide nicer experience.
xwiz · 17h ago
Looks like a great project. I'm a big TWM fan, so I would also like to direct attention to my daily driver, Niri. https://github.com/YaLTeR/niri
stevefolta · 14h ago
Another interesting one is Scroll, a scrolling-tiling fork of Sway: https://github.com/dawsers/scroll/
christophilus · 14h ago
Niri has been my daily driver for a while now. It’s excellent and keeps getting better.
aquariusDue · 9h ago
Same here (on Fedora), coupled with Kando (which recently got Niri support) for mouse gestures, shortcuts and macros it's a total powerhouse.

Sadly I can't seem to find a config I like for waybar, if anyone has any tips or dotfiles please share them!

VTimofeenko · 38m ago
I never found a config either and decided to go without any sort of a bar. That was two years ago and seems to be working fine for me.

I wrote a couple of tiny IPC watchers that send notifications on workspace change and whatnot. The rest is handled by centerpiece:

https://github.com/friedow/centerpiece/issues

lll-o-lll · 8h ago
Niri is pretty, but I find sway to be faster. Hotkeys and instant switch is just better (for me). I will continue to experiment, but sway feels more productive currently.
the_gipsy · 6h ago
I feel the opposite! Everything just works, and so ever fast!
Babkock · 14h ago
Niri is awesome!
theycallhermax · 16h ago
niri's nice too. I used to daily drive it, but I don't remember why I stopped using it. Nowadays, I just WM hop, I've used Hyprland, labwc, and Pop Shell with GNOME so far, but dwl looks promising to me.
jauntywundrkind · 15h ago
Pretty awesome that this is a 3200 line single .c file implementation, atop wlroots and it's newer scene graph API. It is not hard to build a good Wayland impl at this point!
alex-moon · 16h ago
Big big fan of dwm, but this wasn't mature when I tried it. I switched to Hyprland and I have to say it has many improvements over dwm.
cnity · 17h ago
I wonder if it was considered to submit this as a dwm patch instead.
mort96 · 17h ago
An X window manager and a Wayland compositor are so radically different beasts that it would probably require a monumental refactor of DWM to make it capable of having an X back-end and a wlroots back-end. Probably easier to just re-create DWM's interface on top of wlroots, like what Sway did with i3.

Also, DWM has an explicit goal of being minimal and to not grow too big. There's no way in hell that Suckless would accept a patch which makes the code way more complex and over 2x larger to make DWM work as a Wayland compositor.

bravetraveler · 17h ago
Suspect you're right, from Acknowledgements:

    dwl began by extending the TinyWL example provided (CC0) by the sway/wlroots developers. This was made possible in many cases by looking at how sway accomplished something, then trying to do the same in as suckless a way as possible.
woodrowbarlow · 17h ago
i think fork was the correct approach -- it was written in such a way that many of the popular dwm patches can be applied cleanly to dwl.

(i used dwl for quite a while. strong recommend.)

arp242 · 10h ago
It's not really a fork in any meaningful sense, because rewriting dwm (or any other X11 WM) to Wayland means re-doing almost all code. A "dmw with Wayland" would basically be "if (x11) { x11_code() } else { wayland_code() }".
cnity · 16h ago
> it was written in such a way that many of the popular dwm patches can be applied cleanly to dwl.

That is very nice!

ivanjermakov · 16h ago
Implementation difference is so big that is makes no sense. Also, Wayland support is obviously out of scope for dwm.
epr · 15h ago
I guess people downvoting this don't get the joke?
Philpax · 14h ago
What's the joke?
epr · 10h ago
dwm and the community around it tend to use patches for absolutely everything, unlike most other projects. For most projects/codebases, maintaining patch sets is done for security, customizations, etc., but rarely are users expected to configure their window manager by modifying the source code. dwm is well known for being very minimalist, with many features people would expect from other window managers not being included out of the box. To get something more fully featured, users are meant to cobble together their own version of dwm with multiple patches. I'm not saying this workflow doesn't work for dwm and other suckless software projects, it's just that it's pretty out of the ordinary.

So, having some experience with the project and how different x and wayland are, when I saw this commenter had brought up the idea of making the switch from x to wayland a patch, it made me laugh out loud. The idea of leaning even further into the borderline degenerate amount of patching already done with suckless software to the point where you're practically rewriting the majority of it was very funny, and so I was confused about the downvotes.

gundamdoubleO · 8h ago
Used dwm for so long it was basically the only reason I didn't switch to Wayland. Very happy with dwl since I found it, made the switch (almost) painless.
mosquitobiten · 9m ago
You coul say the switch was suckless.
dannyobrien · 7h ago
See also https://github.com/engstrand-config/dwl-guile -- a fork with Guile Scheme support.
chiffre01 · 16h ago
I want to like Wayland...
snvzz · 17h ago
hopefully with utf-8 support?
ivanjermakov · 16h ago
What do you need Unicode for in a WM?
pm215 · 16h ago
In an X11 window manager, the classic use case is "printing the title of the window in its titlebar". Programs like Firefox put the current tab's title in the titlebar text, which can have any random unicode in it.
yjftsjthsd-h · 14h ago
Actually, that's an interesting question - in wayland, I think it's common to just say that windows have to draw their own ("client-side window decorations"), so the compositor could just... not handle the window titles at all?
RGBCube · 13h ago
Server-side declarations are a thing now & are used widely (in anything other than GNOME)
zhengyi13 · 15h ago
Window titles come immediately to mind.
dodomodo · 16h ago
[flagged]
dang · 13h ago
"Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something."

https://news.ycombinator.com/newsguidelines.html

dodomodo · 12h ago
I was wrong to word myself the way I did, but my comment is simple not shallow, what I'm trying to say is that the amount of work done is not worth the architectural advantages of Wayland. It's a simple argument that people in the replies didn't fail to understand, but did fail to have a good response too. My real violation of the guidelines is this in my opinion: "Be kind. Don't be snarky. Converse curiously; don't cross-examine. Edit out swipes."
dang · 11h ago
Thanks for that! I appreciate the guideline swap, and also your original intention.

Btw, it's not uncommon that a commenter (you in this case) will respond to a mod (me in this case) with substantive information that they didn't include in their original comment, which explains what they really meant to say. We call this the 'rebound' phenomenon (https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...).

It's a pity that the comment doesn't come out this way to begin with! But it's hard to remember that the state in one's head isn't transmitted automatically, and also hard to figure out which bits of it need to be put into a comment. Something about getting resistance (like a mod reply) stimulates this process. Maybe someday we'll figure out how to activate it more proactively.

temp0826 · 16h ago
Wayland has been around for 15+ years now and I've been using it daily for probably 10. At this point I have to assume comments like this are unserious.
hodgehog11 · 16h ago
Good for you. Meanwhile, many other people have been encountering _serious_ issues for much of those 10 years. This is well documented. Downplaying the issues of other users is a great way to make people dislike the product.
mort96 · 14h ago
And I encounter _serious_ issues when I use X. Neither is perfect, but this insistence that Wayland is "not ready" because it doesn't have certain people's pet features ignores the silent majority for whom it just works and works better than X ever did.

This is not me downplaying those issues some people encounter in Wayland. But I think you're sort of doing the opposite.

(And, Wayland is not a "product".)

rcxdude · 13h ago
Because wayland is 'ready' when X can be properly killed, i.e. wayland is working for essentially all users. As it stands a huge fraction of users have issues with it, because most users have at least one 'pet feature' which they are not willing to give up.
mort96 · 13h ago
As far as I'm concerned, a technology being "ready" (for mainstream adoption or whatever) means that it works better than or equally well as what it's replacing for most people and at least "well enough" for a significant majority. As far as I can tell, we've been there for a while with Wayland. The vast majority of people don't have to care that they're on Wayland.
lern_too_spel · 9h ago
X doesn't work for essentially all users. It works for substantially fewer users than Wayland does. There are several features that X is missing, and you might call them "pet features" but they are features that the vast majority of graphical desktop users expect these days.
exiguus · 15h ago
What are this issues beside VNC or ssh -X does not work? Or my Software Y (still) does not support Wayland?
yjftsjthsd-h · 12h ago
Actually I don't think any of those are problems?

* VNC is covered by wayvnc (unless you're on GNOME or maybe? KDE, but those have their own implementations)

* ssh -X should be covered by waypipe

* application software should generally work in XWayland (which okay is a little cheaty but if it works it works)

The two pain points I'm currently aware of are:

* Unified vs fractured ecosystem: In practice, everyone on X11 used Xorg and every window manager and desktop environment had the same basic features because of it. You could always control the keyboard layout via setxkbmap, every screenshot tool worked everywhere, xrandr/arandr were always available to configure displays, etc. In Wayland there is never one answer to anything; not every compositor lets you configure the keyboard and if they do each one has their own way to do it, there are 3 different screenshot protocols (supposedly KDE and wlroots are converging so only GNOME will be doing their own thing but I'm not holding my breath), display configuration is completely up to compositor choice, etc.

* The accessibility story isn't there. There's work on it, so eventually the outcome will probably be "just throw out the a11y tools you're used to and switch to these new ones", but for now the current status is "they're working on it but it isn't there yet".

Zambyte · 15h ago
> ssh -X

waypipe

zveyaeyv3sfye · 15h ago
Link to any open issue you are encountering so we can discuss it then.
gen2brain · 14h ago
Protocol, maybe, and there was no "Wayland"; there was Gnome and KDE. I was only recently able to try Labwc with LxQt, and I occasionally try to see if there are some improvements because it is not usable currently. The biggest issue is that every implementation is different; there is not even a shared common library. If Xorg developers are now working exclusively on Wayland, when are they going to start programming?
dodomodo · 15h ago
You have to understand that I don't really care about the internals of my DE. The same of true for 95% of Linux users and 99.999% of general computer users, so when I see a huge amount of effort goes into basically seemingly pointless refactoring, instead of tackling issues that are actually important to users, it is disappointing to me. I just installed KDE Manjaro and guess what? It stills uses X, and no one has an answer to what benefit Wayland has for me.
yyyk · 14h ago
Software bitrots. Sometimes it's compiler stuff, sometimes the very usecase changes (few used the network design of X, or server-side fonts, etc. etc.). The way X got no 'attention' (so to speak) made the new technical design (passing away responsibilities) inevitable. It would have just happened slower had Wayland not existed.
simlevesque · 15h ago
Security.

You said you did your research so I have to believe that you don't care about security.

But most people care.

dodomodo · 13h ago
The threats models I have seen are easy enough to deal with inside the X ecosystem. And investing all your resources into a new system that is not backward compatible is something no serious security person would do as it leaves your existing users vulnerable
johnisgood · 15h ago
Thankfully you no longer have to be root to start X.
yyyk · 14h ago
That particular scenario (listening in on other apps) is very theoretical, can you recall any attack ever using it? IIRC Windows still has the same 'ability' - and nobody cares.
gf000 · 15h ago
Well, do you also second guess your surgeon? Why do you think you have enough domain and technical knowledge to consider your "seemingly pointless" to be relevant?
johnisgood · 15h ago
You should definitely second guess your doctor, or get a second opinion[1]. I mean everyone knows you should NEVER abruptly stop benzodiazepines due to lethal/fatal withdrawal symptoms, right? Guess what? Most of the psychiatrists I have encountered do not give a damn. It is coming from both first-hand and second-hand experiences. So yeah, you are right to second guess. Were it up to my doctors, I would have been long dead. And because I was not in the right state to second guess my doctor, I am forever left with immobility issues. I should have gotten a week long corticosteroid therapy for MS relapse. I did not, because the doctor did not give a fuck, and I was too stupid to NOT second guess. Unfortunately they do not give a damn about you here, but you should. FWIW everything I have said do not require me to have a PhD or Dr. next to my name. It is on Wikipedia, books on psychiatry, pharmacology, and so forth. It is "common knowledge" in the field that you are supposed to taper off these medications gradually, never abruptly.

[1] You would never guess the amount of times I have encountered doctors questioning the practices of another doctor. :P It happened so many times...

gosub100 · 10h ago
> seemingly pointless refactoring, instead of tackling issues that are actually important to users

its not a dichotomy. Xorg was built on X11R6, a platform that was written circa 1993. You cannot "tackle issues important to users" based on an outdated stack. They were painted into numerous corners that only a rewrite would fix.

macawfish · 15h ago
It's probably a distro thing. I'm on a rolling release distro (arch) and I've been using wayland on arch and it's worked great. There are still some things I struggle with, but for ~7 years I've been using wayland without major issue. Things iron themselves out pretty quickly these days when you're using a rolling release distro. This is not so for popos/ubuntu/debian etc.
mystifyingpoi · 14h ago
I don't want to be rude, but "it's worked great" and "still some things I struggle with" need some clarification.
macawfish · 12h ago
The things I struggle with are very niche, like remote desktop via pipewire over ssh.

Day to day stuff is way better than x11. Remember how much fiddling used to be necessary to configure x11 for your specific devices? I've never once done that and I don't miss it at all.

By the way, pipewire is amazing.

yjftsjthsd-h · 12h ago
> Remember how much fiddling used to be necessary to configure x11 for your specific devices?

Er. No, I don't remember that. Are you talking about needing to make a xorg.conf once upon a time? Because that hasn't been generally needed for... over a decade? Maybe two at this point?

mystifyingpoi · 1h ago
Me neither, and I had my first Linux machine in 2008. That was true maybe in 1995. Of course anecdotal evidence.
yyyk · 16h ago
X withering away was inevitable once you consider the 'economic' situation - very few people worked on it once the commercial Unix vendors went down. There was little practical enthusiasm for a common layer. Even before Wayland, its role was reduced more and more. Wayland is natural evolution of this where most of the work is offloaded to more resourced Desktop environments and the org mostly sets standards.
o11c · 14h ago
And X11 is all the better now that fewer people are working on it. I don't need new features in my windowing system, I just need it to stay out of my way.
slackfan · 15h ago
X wasn't withering away, it was pointedly being poisoned.
gf000 · 15h ago
Feel free to include any kind of source for that. Otherwise, it is just FUD.
slackfan · 13h ago
Sure, the developer culture of the people working on X has been "This is too difficult/obscure/shitty therefore it should die." There have been repeated posts about this to various forums, news.ycombinator.com included. Refusal to accept fixes, as well as a full pivot of the project to a targeted sundown instead of any attempt to attract developers to the project. Sources: The X project itself, hackernews discussions, both in articles and in comments. It's not my job to educate you.
fruitworks · 16h ago
At some point of development, the only way to progress without spiraling complexity is to break backwards compatibility. You might be interested in studying the internals of X11 and wayland to learn more.

In a commercial project like windows, this sort of project is a total no-go. However in a collaborative community project like linux userspace, developers have more freedom to make design decisions in spite of short-term consequences.

>The people that develop Linux desktop are deeply unserio

The person who experiences greatness must have a feeling for the myth he is in. He must reflect what is projected upon him. And he must have a strong sense of the sardonic. This is what uncouples him from belief in his own pretensions. The sardonic is all that permits him to move within himself. Without this quality, even occasional greatness will destroy a man.

-Frank Herbert

Don't take yourself too seriously, it might ruin you!

vlovich123 · 16h ago
In a commercial project like Windows this has been done many times - both Windows and MacOS switched to compositing window managers and have done deep surgery under the hood you never see. The difference is that internals can be mandated top down whereas in a bazaar model with lots of casual non interested observers throwing pot shots and no budget to support the work, relying on largely volunteer time, it’s much harder and takes longer to accomplish.
saidinesh5 · 4h ago
> on largely volunteer time

Are Linux desktop projects still run mostly by volunteers these days anymore?

The kernel itself is heavily funded by, contributed to by so many large companies. A lot of user space projects are all maintained by companies or maintainers who work for companies like Redhat, Canonical, Suse etc ...

Didn't Wayland itself get popular during Nokia/Intel Meego days? I remember there being automotive compositors, Jolla Phone all using wayland.

asveikau · 16h ago
People do large rewrites that subtly break expectations and need to slowly add back features to get parity with the old thing at Microsoft all the time. Source: I worked there at the end of the 2000s.

Sometimes it's very visible, like they are pushing a new UI framework. Other times it's under the hood, like they changed how a lot of GDI works.

dodomodo · 15h ago
You got it backwards, once you have users, they are your "greatness", if you go to the path of self gratification, are are betraying your users. Of course some times sacrifices have to be made, but you have to understand the graveness of them. I don't like the current state of Windows, but Microsoft won't ever break such a huge portion of applications that run of Windows just for the sake of some refactoring.
ongy · 16h ago
The core devs were all paid to work on it when I was still active.

Not sure how many of the gnome (mutter) people are paid. Last I checked, the nvidia support was donated by nvidia (paid) for both KDE and Gnome.

I think KDE got some work sponsored by valve (before gamescope), though I'm not quite sure on that.

Overall, outside the sway/wlroots group I was a part of at the time, people generally worked adjacent or directly on wayland for day jobs.