Re: [dev] [dwm] Why should (or shouldn't) dwm have a spawn function?

From: Martin Tournoij <martin_AT_arp242.net>
Date: Tue, 29 Jun 2021 10:03:59 +0800

On Tue, Jun 29, 2021, at 07:16, qsmodo_AT_tutanota.com wrote:
> The existence of the spawn function in dwm surprises me. Wouldn't it be
> more consistent with Suckless' values (simplicity, minimalism,
> modularity) if the job of spawning commands were relegated to a hotkey
> daemon, such as xbindkeys or sxhkd?

My own take is that it's all about benefit vs. cost. The spawn()
function is currently 11 lines and completely stand-alone (i.e. it
doesn't hook in to any other logic). The cost and complexity is very
low, and the benefit is very high.

If you want to take suckless to the extreme then much of dwm could be
removed. Why implement tiling or shortcuts to move windows in dwm? You
can arrange windows with an external program after all. I actually did
this back when I tried cwm for a bit as it lacked some stuff I
missed.[1] It was fun to play around, but I don't think it was any less
complex than having these things in dwm.

Related thing I wrote some time ago:
https://www.arp242.net/stupid-light.html

And I talk a little bit about suckless specifically in a follow-up comment:
https://lobste.rs/s/95hsvw/stupid_light_software#c_cixacv


> It is true that some people could be driven away after being greeted
> with a black screen without any preconfigured keybinding to open a
> terminal or dmenu, but dwm takes pride in "keeping its userbase small
> and elitist, withoutnovices asking stupid questions".

That has never been part of the appeal for me. Suckless are tools for
*advanced* users, yes, and elides most "hand-holding" which makes it
better for folks like us. By extension this means it's somewhat
"elitist", but I've never considered that a a goal in and of itself.

[1]:
  https://github.com/arp242/dotfiles/blob/7cc513b935a84289afbdde39e0ee04bf80c97234/local-bin/local/bin/cwm-w-tile
  https://github.com/arp242/dotfiles/blob/7cc513b935a84289afbdde39e0ee04bf80c97234/local-bin/local/bin/cwm-w-mv
  https://github.com/arp242/dotfiles/blob/7cc513b935a84289afbdde39e0ee04bf80c97234/local-bin/local/bin/cwm-w-place
Received on Tue Jun 29 2021 - 04:03:59 CEST

This archive was generated by hypermail 2.3.0 : Tue Jun 29 2021 - 04:48:07 CEST