just use bspwm!
dwm
21–30 of 98 posts
Re: dwm
#22Holy 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.
Re: dwm
#23I love the magical bullshit in the description. Each line contains some face palm.
> dwm doesn't distinguish between layers: there is no floating or tiled layer. Whether or not the clients of currently selected tag(s) are in tiled layout, you can rearrange them on the fly. Popup and fixed-size windows are always floating, however.
Ok so it does have floating then?
> 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. No novices asking stupid questions. There are some distributions that provide binary packages though.
Ok so you can package then....?
> dwm is only a single binary, and its source code is intended to never exceed 2000 SLOC.
Strange flex but ok.
> 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.
It uses x, x warps the mouse.
> dwm is customized through editing its source code, which makes it extremely fast and secure - it does not process any input data which isn't known at compile time, except window titles and status text read from the root window's name.
ok so there is input that could hacked (not saying there IS, but if you process strings or floats from the user those can contain unexpected values).
All that said, suckless tools are nice, just think the mindset is hilarious.
Re: dwm
#24> 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. This is the zen of suckless. Unlike other projects that desperately reach for users anywhere they can get them and then suffer the resulting bloat, suckless knows exactly who they are building for. It’s a tough thing to swallow but embracing the opposite of the suckless…
Yes, so don't embrace the opposite of suckless - shoot for a nice middle-ground.
The suckless philosophy is antithetical to the purpose of computers, which is as time-saving, labor-saving, collaborative automation devices. Here's what I wrote on Lobsters:
---------------------------------
Unfortunately, the suckless philosophy leads to software that doesn’t do what software is meant to do - alleviate human work by making the machine do it instead. The suckless philosophy of “simplicity” translates to “simplistic software that doesn’t do what you would need it to do, so either you waste time re-implementing features that other people have already written (or would have written), or you do the task by hand instead”.
If, when required to choose exactly one of “change the software to reduce user effort” and “make the code prettier”, you consistently choose the latter, you’re probably not a software engineer - you’re an artist, making beautiful code art, for viewing purposes only. You definitely aren’t writing programs for other people to use, whether you think you are or not.
This philosophy (and the results) are why I switched away from dmenu to rofi - because rofi provided effort-saving features that were valuable to me out-of-the-box, while dmenu did not. (I used dmenu for probably a year - but it only took me a few minutes with rofi to realize its value and switch) rofi is more valuable as a tool, as a effort-saving device, than dmenu is, or ever will be.
In other words - the suckless philosophy, when followed, actively makes computers less useful as tools (because, among other things, computers are communication and collaboration devices, and the suckless philosophy excludes large collaborative projects that meet the needs of many users). This is fine if your purpose is to make art, or to only fulfill your own needs - just make sure that you clearly state to other potential users that your software is not meant for them to make use of.
Also note that the most-used (and useful) tools follow exactly the opposite of the suckless philosophy - Firefox, Chromium, Windows, Libreoffice, Emacs, VSCode, Syncthing, qmk, fish, gcc, llvm, rustc/cargo, Blender, Krita, GIMP, Audacity, OBS, VLC, KiCad, JetBrains stuff, and more - not just the ones that are easy to use, but also ones that are hard to use (Emacs, VSCode, Audacity, Blender, JetBrains) but meet everyone’s needs, and are extensible by themselves (as opposed to requiring integration with other simple CLI programs).
There’s a reason for this - these programs are more useful to more people than anything suckless-like (or built using the Unix philosophy, which shares many of the same weaknesses). So, if you’re writing software exclusively for yourself, suckless is great - but if you’re writing software for other people (either as an open-source project, or as a commercial tool), it sucks.
To top it off, people writing open-source software using the suckless philosophy aren’t contributing to non-suckless projects that are useful to other people - so the rest of the open-source community loses out, too.
Re: dwm
#25Re: dwm
#26I cycled through dwm at one point. The thing that killed me was that on my nvidia machine, for some reason it would flash when I changed desktops, like the draw order was wrong. i3 is the only tiling window manager that didn't, I think because it uses xcb instead of xlib. I love the magical bullshit in the description. Each line contains some face palm. > dwm doesn't distinguish between layers: there is no floating o…
The point is that the software that you're using to manage your computer is simple enough that you can read all of it and understand it -- not that you have to, but you could.
The official method for "extensions" to DWM is in the form of Git patches (https://dwm.suckless.org/patches/). You apply the patch and re-compile. If you had dwm through your package manager, you wouldn't be able to apply any patches, because you would just have the binary.
>Ok so it does have floating then?
What's meant by the quoted text is that you can cycle through all windows on your current workspace, including the floating ones, using only your keyboard. Yes, it does have floating.
edit: I should also say, the real power move for me is that I can just fork the dwm git repo on github, and have my exact desktop configuration available to me 24/7 from anywhere, and I can deploy it on a potato.
Re: dwm
#27> 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. Thi…
Another way of putting it is: if you can use it, you become a suckless developer :)
Re: dwm
#28Re: dwm
#29> 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. Thi…
Re: dwm
#30I've used dwm as my window manager for a couple years now, after switching from i3, and have never looked back (i3 was fine, but it had a bug that was affecting me too often--I don't even remember what now). For me, the killer feature (aside from tiling vs overlapping) is that on my three monitors, I can switch virtual desktops independently on each monitor. After being able to do this, I don't understand why every w…
> It's not uncommon with tiling WMs that have good multi-monitor support, but you really can't find it in traditional WMs That's because this feature is not a Freedesktop standard. The X11 root window have a property _NET_NUMBER_OF_DESKTOPS and a few more[0] to help implement this behavior. Most tiling WMs choose to ignore this standard in favor of this great feature. But the WMs of Gnome, Xfce, KDE, etc... will prob…
https://www.freedesktop.org/wiki/Specifications/
> freedesktop.org produces specifications for interoperability, but we are not an official standards body. There is no requirement for projects to implement all of these specifications, nor certification.
Freedesktop doesn't have any sort of authority, while it does provide some useful specs (e.g. the .desktop files are in general useful), not everything they do is like that.
The reason that this isn't found in floating WMs is simply that the developers of those WMs didn't found it useful to implement it, not because of Freedesktop (which BTW could update EWMH to include such a thing, it isn't like it has to be written in stone).