Replacing the built-in edge-tiling
Introduction
In the past few months, we’ve been exploring the options to create a more extended version of the built-in edge tiling, that we have been using for so many years.
Ubuntu Budgie’s Window Shuffler already offered (a.o.) quarter & half tiling, activated by keyboard shortcuts, and controlling windows from the keyboard has been a priority since Shuffler first saw the daylight. For those who prefer "classic", visual edge tiling however, the built-in version is quite limited, and there’s a lot to win in that area.
The choice to use Shuffler daemon as a starting point was obvious, since that’s the place where most of the information to work with was already available.
Features
Built-in
The currently used built-in feature offers left/right half and full screen tiling:
Drag-snap
The goal for our new Drag-snap was to at least cover the areas below:
Quarter & half tiling is pretty much self-explaining.
Dragging a window to the top of the screen will tile the window to top half, but keeping the mouse button pressed will progress the action into full screen tiling.
Asymetric tiling
Symetric quarter & half tiling, dividing the screen in two or four equally sized areas, will do in many cases. just as often though, we don’t want our windows to be equally sized, horizontally, but for example like this:
With traditional tiling, this would not be possible.
Drag-snap however adds two modifier keys, invoking a slightly different behavior:
- Alt + drag will tile the window into 3/5 of the screen width
- Control + drag will tile the window into 2/5 of the screen width
Integration with the desktop
If we drag a window into a corner of the screen, we might unintentionally fire a hotcorner action. To prevent that, drag-snap will communicate with hotcorners during dragging, to temporarily skip corner actions.
How to get it?
Drag-snap will be the default in 23.04. If you are using 20.04, 22.04 or 22.10 and would like to try out, use Ubuntu Budgie Extra’s daily:
sudo add-apt-repository ppa:ubuntubudgie-dev/budgie-extras-daily
sudo apt upgrade
Enjoy!