Allows selecting windows based on their mode (manual/automatic). This
is useful for duplicating the old shift-can-be-transplant behavior.
# Usage: squish DIR
squish() {
dir=$1
bspc window -w ${dir}.manual || bspc window -s ${dir}
}
1. Pass the correct desktop when checking if the focused desktop matches.
2. Don't assume that a last desktop exists.
2. Don't assume that a last monitor exists.
Window:
* cycle - no change
* direction - only consider matching nodes
* last - walk history
* focused - match or NULL
* biggest - find biggest matching
Desktop:
* cycle - no change
* focused - match or NULL
* last - match or NULL
Monitor:
* cycle - no change
* direction - only consider matching nodes
* last - match or NULL
* focused - match or NULL
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.