ubuntu / ubuntu/Tiling-Assistant
Enhancement: Enable adaptive tiling behavior across all move modes
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 1.3k
- Forks
- 78
- PR merge metrics
- No merged PRs in 30d
Description
Current Behavior
Adaptive Tiling mode and Favorite Layout mode operate independently with strict boundaries:
- When default mode is Favorite Layout: Cannot drop a window to half of a favorite layout tile (adaptive splitting is unavailable)
- When default mode is Adaptive: Cannot drop a window into empty favorite tile areas - adaptive mode falls back to edge tiling when no windows are tiled
Proposed Enhancement
Enable adaptive tiling behavior to work regardless of tile state (full or empty), allowing seamless interaction between modes:
- When default mode is Favorite Layout: Allow dropping windows to half of favorite layout tiles by hovering edges (adaptive behavior)
- When default mode is Adaptive: Allow dropping windows into empty favorite tile spaces using the free screen rects
Benefits
- More intuitive workflow: Users don't need to switch modes to access adaptive splitting on favorite layouts
- Consistent behavior: Adaptive tiling works everywhere, not just on already-tiled windows
- Backward compatible: Doesn't break existing usage patterns - only adds functionality
- Better UX: Reduces mode-switching friction for advanced tiling scenarios
Implementation Details
The changes modify moveHandler.js:
_adaptiveTilingPreview(): Remove early return when no windows are tiled; use_freeScreenRectsfor empty spaces_favoriteLayoutTilingPreview(): Add adaptive splitting logic (25% edge zones) to allow half-tiling within favorite rects
Testing
Tested on GNOME 48 with both default move modes. The enhancement works as expected without breaking existing functionality.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in moveHandler.js with _adaptiveTilingPreview() and _favoriteLayoutTilingPreview(). Trace how tiled and empty spaces are selected, then verify both default move modes on GNOME 48. Done means adaptive splitting works over favorite layout tiles and empty favorite spaces without breaking existing tiling behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 65/100