|
|
|
|
|
by enriquto
2054 days ago
|
|
I would appreciate a somewhat detailed comparison to evilwm and cwm (calmwm) that are also really clean and simple and have very similar features. What are the main differences (technical or philosophical) with these other programs? |
|
cwm-----> 6328 cloc, http://ix.io/2DGD
evilwm--> 3257 cloc, http://ix.io/2DGI
dwm-----> 2505 cloc, http://ix.io/2DGQ
xwm------> 301 cloc, http://ix.io/2DGE
tinywm---> 115 cloc, http://ix.io/2DGR
I think it would be unfair to compare xwm to either based on the sheer difference in cloc (10x+). A better comparison would be to dwm, bluewm, tinywm, lainwm or any of the smaller code-base projects.
From a philosophical standpoint, xwm is written using the XCB protocol while the other two are written using Xlib. The "X New Developer's Guide" is a good reference to understand the difference: https://www.x.org/wiki/guide/xlib-and-xcb/
From a sheer dependency standpoint, xwm has fewer than the rest. There are obvious drawbacks to this, but I intentionally left xwm as "barebones" as possible, to allow the community to expand, patch, tweak and modify. This is consistent with the Suckless Philosophy of programming (https://suckless.org/philosophy/), which is based on the Unix Philosophy of programming.
Additionally, I have opted not to have a run-time config file. Everyone seems to have a config file these days that is either placed in an obscure directory, "hidden" from plain site or cluttering my home directory. I hate config files (and they hate me). Not doing so forces the user to glimpse into the source which, to me, is a habit that all existing and new Unix users should be doing.
Amongst other things, I provide no out-of-box multi-monitor support, no menu bar, no title bars, no tab focus or or any other feature that a regular user would find essential. Instead, these features will be offered as patches, which the user must learn how to apply themselves.
I hope that information helps answer your question a bit. =)