domferr / domferr/tilingshell

[Feature Request] Automatic Multi-Tile Selection on Border Hover

Open
#454 4 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
TypeScript
Stars
2k
Forks
116
PR merge metrics
No merged PRs in 30d

Description

Currently, tiling a window across multiple tiles while using the mouse requires holding a second modifier key while dragging.

It would feel more intuitive if, while dragging a window with the tiling modifier key held, hovering over the border between two adjacent tiles automatically selected the combined tile area. The simplest case is when two tiles fully share a border, but this could also handle certain partial-border cases.

I believe Fancy Zones on Windows 10 behaved similarly, where hovering over a shared border implicitly selects multiple zones, without needing an extra modifier key.

**Proposed behavior:**

- Drag a window with the tiling modifier key held.

- Hovering over a shared border previews and selects the joined tiles.

- Partial border overlaps should work where the intent is clear.

- The existing second-key method could remain as a fallback or would generally be needed for tiling multiple tiles in more complex layouts.

This could make tiling quicker and easier for new users to pick up. And you only need to remember one modifier key.

I hope I haven’t missed a similar request. Thanks for your work.

# Trivial Case (edges line up, tiles fully share borders):
```
+----------------+-----+
| A | B |
| | |
|----------------+-----+
| C | D |
| | |
+----------------+-----+
```

This is the standard case. Hovering over the border between A and B joins them; the same applies to C and D, A and C, etc. Hovering over the intersection could join all four tiles.

# Less-Trivial Cases (tiles do not fully share borders):

```
+----------------+-----+
| | |
| | B |
| A | |
| +-----+
| | C |
+----------------+-----+
```

The border between B and C behaves like the trivial case. The border that A shares with both B and C would join all three tiles.

This case is more problematic (multiple edges don't line up):
```
+----------------+-----+
| A | |
| | B |
|----------------+ |
| +-----+
| C | D |
| | |
+----------------+-----+
```
A+C and B+D are straightforward. The vertical border is ambiguous. In this situation, I would probably _not_ automatically join all four tiles, because the intent is less clear.

Maybe similar behavior to when using the second modifier key. i.e. C and D would join horizontally and expand vertically to the height of the taller tile (C). Which would actually be the same behavior as the intended in the previous cases.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.