Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Support Us

Top Posters

How to install/configure swm + wmutils

Hello everyone! This is my first post, and I'll be showing off dcat's new WM, as well as the group project, wmutils.

wmutils' core is a set of tools for X windows manipulation. Each tool only has one purpose. We follow the UNIX philosophy: Do one thing and do it well.
Pretty self explanatory. wmutils is a bunch of C programs that control windows in an X session. They can be used with any window manager you choose, or no WM at all.
I prefer to use swm because
1) It's very very small
2) it's very very simple
3) It comes with mouse focus, which is the only thing I'm not sure how to set up myself
4) double borders :D

It does not come with keybindings, so I used sxhkd. You can use any keybinding controller you want.
If you're on Arch, sxhkd is in the AUR.
On any other distro, you can grab it from here:

Installing swm is as easy as
$ git clone
$ cd swm
$ make
$ sudo make install

I would reccomend having a look at the config.h and configuring it before installing.
To install wmutils:
$ git clone
$ cd core
$ make all
$ sudo make install

Now we get to the fun part: configuring.
My .xinitrc looks like this, but you can configure it however you want.

sxhkd -c ~/etc/sxhkdrc >/dev/null 2>&1 &

xrdb -load  ~/.Xresources

exec swm

This won't work off the bat because you don't have sxhkd configured. Also, if you don't have a .Xresources file in your home directory, remove the xrdb line.

sxhkd is quite simple to configure, so I'll just throw my config in here. The tools I use probably won't make sense since you haven't used them yet, but take a look at the github for wmutils and read up on what each tool does. Then, if you want, get used to them by testing them out in an X session. I'll just go over a few important tools.

lists the addresses of all open windows

lists the address of the currently focused window

teleports windows (moves them to X and Y)

Addresses are basically just names for the windows. Here's a little syntax for wtp:
$ lsw
$ wtp 100 100 200 500 0x00a00009
The wtp line would teleport the window "0x00a00009" to the coordinates 100(x) 100(y) with a width of 200 and a height of 500.

Now that you know a few things about these tools, here's my sxhkd config:

This file goes in ~/etc
If that dir doesn't exist, make it. It doesn't neccesarily have to go there, but that's where my .xinitrc checks for it.
Have fun, and if you need more help, don't be afraid to ask here!


Sign In or Register to comment.