[HN Gopher] Dwl: Dwm for Wayland
___________________________________________________________________
Dwl: Dwm for Wayland
Author : theycallhermax
Score : 91 points
Date : 2025-07-25 13:40 UTC (9 hours ago)
(HTM) web link (codeberg.org)
(TXT) w3m dump (codeberg.org)
| cnity wrote:
| I wonder if it was considered to submit this as a dwm patch
| instead.
| mort96 wrote:
| 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 wrote:
| 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 wrote:
| 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.)
| cnity wrote:
| > it was written in such a way that many of the popular dwm
| patches can be applied cleanly to dwl.
|
| That is very nice!
| arp242 wrote:
| 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() }".
| ivanjermakov wrote:
| Implementation difference is so big that is makes no sense.
| Also, Wayland support is obviously out of scope for dwm.
| epr wrote:
| I guess people downvoting this don't get the joke?
| Philpax wrote:
| What's the joke?
| epr wrote:
| 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.
| snvzz wrote:
| hopefully with utf-8 support?
| ivanjermakov wrote:
| What do you need Unicode for in a WM?
| pm215 wrote:
| 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 wrote:
| 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 wrote:
| Server-side declarations are a thing now & are used
| widely (in anything other than GNOME)
| zhengyi13 wrote:
| Window titles come immediately to mind.
| xwiz wrote:
| 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
| theycallhermax wrote:
| 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.
| Babkock wrote:
| Niri is awesome!
| stevefolta wrote:
| Another interesting one is Scroll, a scrolling-tiling fork of
| Sway: https://github.com/dawsers/scroll/
| christophilus wrote:
| Niri has been my daily driver for a while now. It's excellent
| and keeps getting better.
| aquariusDue wrote:
| 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!
| lll-o-lll wrote:
| 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.
| dodomodo wrote:
| [flagged]
| fruitworks wrote:
| 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 wrote:
| 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.
| asveikau wrote:
| 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 wrote:
| 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.
| temp0826 wrote:
| 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 wrote:
| 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.
| exiguus wrote:
| What are this issues beside VNC or ssh -X does not work? Or
| my Software Y (still) does not support Wayland?
| Zambyte wrote:
| > ssh -X
|
| waypipe
| yjftsjthsd-h wrote:
| 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".
| zveyaeyv3sfye wrote:
| Link to any open issue you are encountering so we can
| discuss it then.
| mort96 wrote:
| 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 wrote:
| 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 wrote:
| 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 wrote:
| 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.
| dodomodo wrote:
| 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.
| simlevesque wrote:
| Security.
|
| You said you did your research so I have to believe that
| you don't care about security.
|
| But most people care.
| johnisgood wrote:
| Thankfully you no longer have to be root to start X.
| yyyk wrote:
| 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.
| dodomodo wrote:
| 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
| gf000 wrote:
| 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 wrote:
| 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...
| yyyk wrote:
| 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.
| gosub100 wrote:
| > 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 wrote:
| 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 wrote:
| I don't want to be rude, but "it's worked great" and "still
| some things I struggle with" need some clarification.
| macawfish wrote:
| 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 wrote:
| > 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?
| gen2brain wrote:
| 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?
| ongy wrote:
| 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.
| yyyk wrote:
| 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.
| slackfan wrote:
| X wasn't withering away, it was pointedly being poisoned.
| gf000 wrote:
| Feel free to include any kind of source for that.
| Otherwise, it is just FUD.
| slackfan wrote:
| 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.
| o11c wrote:
| 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.
| dang wrote:
| " _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 wrote:
| 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 wrote:
| 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.
| alex-moon wrote:
| 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.
| chiffre01 wrote:
| I want to like Wayland...
| jauntywundrkind wrote:
| 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!
| exiguus wrote:
| 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.
| gundamdoubleO wrote:
| 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.
___________________________________________________________________
(page generated 2025-07-25 23:01 UTC)