- 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
The new message syntax:
- Provides 10 commands instead of 60.
- Allows multiple actions to be applied in one call.
The client now returns an non zero exit code when a message fails.
The `is_adjacent` function now handles vacant nodes.
The aforementioned setting, when set, makes the focus movements based on
the distances between the window sides.
The `{prev,next}_leaf` functions were taught not to climb above their
roofs.
The following 'grab_pointer' arguments are removed: 'move_tiled',
'resize_tiled'. The regular 'move' and 'resize_*' arguments shall be
used instead. The 'fence_grip' parameter is no longer meaningful and
has been removed. Moving and resizing now behaves the same for tiled and
floating windows.