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
```
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.
- Expand `underlying_monitor` into `monitor_from_client` to avoid
passing a NULL pointer to `translate_client`.
- Remove the `fit_monitor` setting (use the `--center` rule effect
instead).
- Don't remap a window in it's last location (node invisibility would be
the proper way to do this).
- Call `translate_client` after configure requests.
This rewrite is based on a TODO comment for the *stack_refresh*
function of *awesome*:
It might be worth stopping to restack everyone and only stack `c'
relatively to the first matching in the list.
And on the concept of relative stacking (via XDG_CONFIG_WINDOW_SIBLING).
Additionally the `adaptative_raise` setting was removed because it
became obsolete when the choice was made of not raising windows when
focusing via `focus_follows_pointer`.
Windows of type *desktop* are now supported (but not managed).
The above setting's purpose was to replace `wmname` but it appears that
it can't be done without violating the EWMH standards and creating bad
side effects.
The removal is motivated by the following example:
+-------+-------+
| | |
| | b |
| | |
| |_______|
| a | |
| * | c |
| | |
| |_______|
| | |
| | d |
| | |
+-------+-------+
Bellow is a summary of the number of steps required to reach *b*, *c* and *d* with *a* as a starting point with the associated mean and variance:
focus_by_distance steps mean variance
---------------------------------------------------------------
false 1, 2, 3 2 2/3
true 2, 1, 2 5/3 2/9