- 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.
The concept of triple border was initially introduced to solve the
visibility problem occurring when the border's environment is similar to
the border itself. In practice however, it doesn't help much and has no
redeeming aesthetic value.