asmvik / asmvik/yabai

Suggest options to move the window position more intuitively

Open
#1,452 8 comments 11 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.