Currently with bspwm, the urgent member is read before being set.
Valgrind output:
```
==17037== Conditional jump or move depends on uninitialised value(s)
==17037== at 0x409C06: focus_node (tree.c:503)
==17037== by 0x40FF89: enter_notify (events.c:355)
==17037== by 0x40F3C2: handle_event (events.c:61)
==17037== by 0x404406: main (bspwm.c:180)
==17037== Uninitialised value was created by a heap allocation
==17037== at 0x4C2ABD0: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==17037== by 0x40A0A0: make_client (tree.c:619)
==17037== by 0x4117E0: manage_window (window.c:131)
==17037== by 0x41142A: schedule_window (window.c:67)
==17037== by 0x4124D2: adopt_orphans (window.c:391)
==17037== by 0x417FC9: cmd_wm (messages.c:1132)
==17037== by 0x413DAA: process_message (messages.c:100)
==17037== by 0x413C22: handle_message (messages.c:81)
==17037== by 0x4043A2: main (bspwm.c:170)
```
Previously this was possible via key bindings, since this operation was removed,
its useful to be able to configure which mouse keys do what.
This example swaps LMB/RMB
```
bspc config pointer_action1 resize_corner
bspc config pointer_action3 move
```
A receptacle is an unfocusable empty leaf node.
Receptacles are used for building a tree without creating windows.
Example:
bspc node -i
bspc node @/ -p east -i
bspc node @/2 -p north -i
bspc rule -a Abc:abc -o node=@/1
bspc rule -a Ijk:ijk -o node=@/2/1
bspc rule -a Xyz:xyz -o node=@/2/2
Fixes#259.
Along the way, we also fixed the handling of the `*_padding`,
`window_gap` and `border_width` settings. The previous behavior was the
result of a bad decision (9fed780), as a response to #141. Many issues
followed: #143, #158, #260, etc. We now handle those settings as
intuitively as possible.
We also fixed a potential segfault in `cmd_node`, triggered by `bspc
node -d`[sic].
Fixes#402#252.
There's no constraints on desktop and monitor names, therefore, using a
desktop or monitor name as descriptor is ambiguous.
We put an end to this ambiguity by introducing desktop and monitor IDs.
`bspc query -{M,D}` now yields IDs instead of names.
Fixes#397.
This is useful when the author has to make a release commit, in which
case `make doc` is required, but, because the tag doesn't exist yet, the
output of VERCMD won't be what we want. Therefore, we need to override
VERCMD for the *doc* target: `make VERCMD=false doc`.