Well, not only is wms not a wm per se, it's also not an original project. What is it then you ask. It's my implementation of some tools from the wmutils project in a **bunch of horrible shell scripts**. As a clear requirement, you should have the wmutils binaries. Namely:
This one is designed to maintain and incorporate from that one, things that are essential for my workflow. Also, this must contain future experiments around the configuration of my scripts.
Two great decisions that may seem like errors but are rather conditioning from which I cannot escape since in principle they move me towards their truth. To save: the use of Xterm as a term emulator is such an unorthodox launcher.
The first choice is based on the fact that in many distros Xterm is installed together with Xorg and if not, it is the terminal emulator closest to Xorg as a project. I could use st or urxvt, but it would be moving towards another paradigm and breaking the conceptual homogeneity of this project.
The second option is based on the extension of the first and the fact of using what is already installed. Since fzy/fzy is present in many scripts taking the place of a terminal menu, extending its operation and putting it in a resized terminal as a launcher is more than sensible.
I have left the three main scripts, which are the ones I use daily, as the fundamental option. I've put the others, which are mostly experimental features, in a folder called opt, for optional.
1 - download, compile and install wmutils/core and wmutils/opt.
2 - clone this repo and put at least the main scripts in some executable path.
3 - install a daemon for keyboard events, I have used sxhkd. Copy your configuration file, sxhkdrc, from wms/config to .config/sxhkd/.
4 - copy the wms variables file, wms_var, contained in wms/config to .config/wms/.
5 - add the following lines in .xinitrc or sxrc:
sxhkd &
exec wms_voyeur.sh
!! In the case of using a Display Manager, copy the wms.desktop file contained in wms/config to /usr/share/xsessions and add the file wms.sh to the executable path.