5 ms·
> In contrast to ion, larswm, and wmii [...] dwm has no Lua integration, no 9P support, no shell-based configuration, no remote control, and comes without any a
by fouric 5y ago
> In contrast to ion, larswm, and wmii [...] dwm has no Lua integration, no 9P support, no shell-based configuration, no remote control, and comes without any additional tools, such as for printing the selection or warping the mouse
Holy cow, some of these features seem really useful. I should look at some of those other window managers!
> customized through editing its source code
Yikes, this is a very bad idea. This kind of customization is very hard to split off from the tool, share, version-control, and verify. Customization in a full, general-purpose imperative programming language is also a bad idea. Either make the tool a platform (Emacs) or use a declarative configuration language.
> Because dwm is customized through editing its source code, it's pointless to make binary packages of it. This keeps its userbase small and elitist.
Suckless tools are developed for the needs (and the benefit) of their own developers, and nobody else. Remember that.
- tedunangst 5y agoI have nevertheless been a happy user of the binary openbsd package for more than 10 years.
- jovial_cavalier 5y ago>Suckless tools are developed for the needs (and the benefit) of their own developers, and nobody else. Remember that. Another way of putting it is: if you can use it, you become a suckless developer :)
- fouric 5y agoAnother way of putting that is "you are required to become a developer in order to use the tool." Great for developer community, but not great for the average user (or even the above-average user - say, 98th percentile) who wants to use computers for the purpose for which they were intended (and are amazing at) - labor-saving devices. Heck, even as a developer, I would always rather use a tool that doesn't require me to learn the internals in order for me to use it at a basic level of proficiency. Wouldn't you? (probably not in your specific case - I'm addressing the median HN user) Isn't that the point of abstraction and API boundaries? If your goal is to make software that artificially requires others to invest a lot of needless time and effort in order to use it, or if you like creating beautiful pieces of code-art then suckless is for you. If your goal is to build software that saves other humans time and effort, the suckless philosophy is absolutely the opposite thing of what you want[1]. [1] https://news.ycombinator.com/item?id=29941395 https://news.ycombinator.com/item?id=29941395
- deleted 5y ago[deleted]
- jovial_cavalier 5y ago>I would always rather use a tool that doesn't require me to learn the internals in order for me to use it at a basic level of proficiency. Wouldn't you? In general, I agree, but there is a lot to be said for stripping the cruft out of systems that should be simple. Window management is not complicated - the fact that dwm is functional by default at <2k lines of C is evidence of this. >If your goal is to make software that artificially requires others to invest a lot of needless time and effort in order to use it... It is not made artificially difficult. It is just not made artificially easy either. The codebase is organized in a way that optimizes reading it and understanding its function. If you have done anything in C before, you will be up and making small modifications within 10-20 minutes. Despite the tongue-in-cheek celebration of "elitism," people are more than happy to take a look at your code and tell you what you are doing wrong, and getting my dwm desktop to where I want it took about an afternoon, which is not something I can say of i3, GNOME, KDE, etc. All of that said, the whole point is that it's not for everyone. If you don't like it, don't use it!
- deleted 5y ago[deleted]
- voldacar 5y ago>Suckless tools are developed for the needs (and the benefit) of their own developers, and nobody else. Remember that. You say that as if it's some kind of terrible problem? seems fine to me. If you don't like it, I guess it's not for you
- tomxor 5y ago>> Because dwm is customized through editing its source code > Suckless tools are developed for the needs (and the benefit) of their own developers, and nobody else. Remember that. Just to flip this on it's head a bit (because different perspectives are more illuminating than crude dichotomies). One of the underlying principles they use to justify not supporting external configuration, is minimal code. The absence of configs are one of many sacrifices they make for their ~1000 line limit. So on the face of it, it seems elitist, but on the other hand this principle makes the code significantly more accessible... one group (non programmers) have been more excluded; another group (programmers of almost all stripes) have had the barrier to entry significantly lowered due to this principle, not only to configure it, but to very feasibly change any aspect of it as they see fit.
- Barrin92 5y agostrong disagree because an artificial codebase size limit doesn't make the codebase more accessible, it makes it worse. Well designed code isn't primarily short, it's readable, modular, extensible and so on. This isn't the case for dwm. Simplest example, to enable extensions in the form of patches you basically have to apply diffs and because everything is just one giant pile of code even applying two entirely unrelated features can break depending on the order of the patch application. This isn't elitist in the sense of applying best programming standards, it's elitist in the sense of "if you want to join the club you get hazed first"
- csande17 5y agoIf you know C, the fact that dwm's code is only ~2000 lines long makes it far more accessible than any other window manager. You can fairly easily read the source code in an afternoon and fit the whole thing in your head, then make whatever changes you want. (I've done it! For what it's worth, the code is pretty well-factored and easy to understand.) You don't have to worry about how any of your changes interact with some complicated configuration system, scripting language binding, or IPC protocol. If you don't know C, you benefit from your window manager offering things like scripting language bindings. The overall system becomes more complex and harder to debug, but it's easier to do simple things like change the color scheme. So when dwm says they're "elitist", they mean that they haven't tried to make their window manager cater to people who don't know C. Luckily, there are a lot of other window managers out there that are better suited to those people.
- actuallyalys 5y ago> Suckless tools are developed for the needs (and the benefit) of their own developers, and nobody else. Remember that. This a key point. I personally would rather work in Lua than C; the Suckless developers feel the opposite way. This is fine, except when the Suckless developers imply that people who make different technical decisions are inferior or ignorant.
- eternityforest 5y agoIt's suckless. Once you know them and their goals none of this is surprising. I'm not even sure what they actually use computers for at all, it always seems like lightweight enthusiasts actually do less with tech than average people, if you don't count random tinkering and stuff they do at work. Their goals are just... very different from most.