Suggest options to move the window position more intuitively
- Dominant language
- C
- Stars
- 29.6k
- Forks
- 750
- PR merge metrics
- No merged PRs in 30d
Description
I've been using i3wm on Linux for a long time and have been using yabai a lot since I switched to Mac. (Thank you so much for making the app.)
While using yabai, I felt that the way the windows move was different from the i3.
To move a window, i3 uses the 'move' command and yabai frequently uses the 'swap' and 'warp' commands.
Currently, the window warp and swap commands require another window to exist in the moving position in order to move in that direction.
Here's an example
Current behaviour: No window layout changes
```
+--------------+ +--------------+
| a | | a |
+--------------+ b warp east +--------------+
| b | --> | b |
+--------------+ +--------------+
| c | | c |
+--------------+ +--------------+
```
The desired behavior is:
```
+--------------+ +---------+----+
| a | | a | |
+--------------+ b move east | | |
| b | --> +---------+ b |
+--------------+ | c | |
| c | | | |
+--------------+ +----+----+----+
```
The same goes for below.
Current behaviour : No window layout changes
```
+--------------+ +--------------+
| a | | a |
| | c warp east | |
+ ------+------+ --> + ------+------+
| b | c | | b | c |
| | | | | |
+--------------+ +--------------+
```
The desired behavior is:
```
+--------------+ +---------+----+
| a | | a | |
| | c move east | | |
+ ------+------+ --> |---------| c |
| b | c | | b | |
| | | | | |
+--------------+ +---------+----+
```
Even with the current window swap and warp options, you can change from a left layout to a right layout form, but that's more work than expected.
This requires the right combination of commands like swap, warp, rotate, etc, and it's not that simple.
For users familiar with the layout of i3wm, intuitive Add the 'move' option for moving the window, or suggest the "yabai -m config layout i3" option.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing yabai's existing swap and warp commands and how its binary space partitioning represents window positions. Use the issue's vertical and horizontal examples to compare the current behavior with the requested move behavior and consider the suggested i3 layout option. Done means an agreed, intuitive way to move windows without requiring a target window, with behavior matching the examples.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100