To preface this, I’ve used Linux from the CLI for the better part of 15 years. I’m a software engineer and my personal projects are almost always something that runs in a Linux VM or a Docker container somewhere, but I’ve always used a Mac to work on personal and professional projects. I have a Windows desktop that I use exclusively for gaming and my personal Macbook is finally giving out after about 10 years, so I’m trying out Linux Mint on my desktop.
So far, it works shockingly well and I absolutely love being able to reach for a real Linux shell anytime I want, with no weird quirks from MacOS or WSL. The fact that Steam works at all on a Linux environment is still a little magical to me.
There are a couple things I really miss from MacOS and Rectangle is one of them. I’ve spent a couple hours searching and trying out various solutions, but none of them do the specific thing Rectangle did for me. You input something like ctrl+cmd+right
and Rectangle fits your current window to the top right quadrant of your screen.
Before I dive into the weeds and make my own Cinnamon Spice, I figured I should just ask: is there an app/extension that functions like Rectangle for Linux? Here’s the things I can say do not work:
- Muffin hotkeys: Muffin only supports moving tiles, not absolutely positioning them. You can kind of mimic Rectangle behavior, but only with multiple keystrokes to move the windows around on the grid.
- gTile: This is a Cinnamon Spice that I’m pretty sure has the bones of what I want in it, but the UI is the opposite of what I want.
- gSnap: Very similar to gTile, but for Gnome. The UI for it is actually quite a bit worse, IMO; you are expected to use a mouse to drag windows.
- zentile: On top of this only working for XFCE, and doesn’t actually let me position windows with a keystroke
To be super clear: Rectangle is explicitly not a tiling window manager. It lets you set hotkeys to move/resize windows, it does not reflow your entire screen to a grid. There are a dozen tiling tools/window manager out there I’ve found and I’ve begun to think the Linux community has a weird preoccupation with them. Like, they’re cool and all, but all I want is to move the current window to specific areas of my screen with a single keystroke. I don’t need every window squished into frame at once or some weird artsy layout.
It seems you’ve chosen a DE that is not particularly well-suited to this task. Cinnamon is meant to be simplistic, and offer an easy transition from Windows with its Windows-like layout. It is purposefully less customizable than many other DEs. I second the recommendation of KDE Plasma, as this is actually available as a shortcut without any extensions, but if you wish to customize your DE deeply like this, KDE is incredibly customizable. You can do essentially anything you want in it and get it to look however you want.
Since you said that you’re trying out Mint, now would be a good time to switch distro so you don’t get attached to something that doesn’t suit your needs. Switching desktop environments can cause lots of issues, so it’s often best to just pick a distro with the DE you want. My personal recommendation is Fedora’s KDE spin (though there are discussions of Fedora’s default workstation switching to KDE in the future). If you’re invested into Debian, then I don’t really have any experience with Debian-based KDE distros, but I’m sure someone else could recommend you something. To be clear, the benefit of recommending Mint as a starter distro has gradually diminished as other distros have become more user-friendly. Fedora is a perfectly fine distro for someone new to desktop Linux (especially since you’re already experienced on the command line); you’ll just have to look up how to install Nvidia drivers if you have an Nvidia graphics card. AMD commits their driver to the Linux kernel, so no need to do anything if you have an AMD card. Try out some distros in a VM before you commit to anything though; it’s much less commitment than installing so it’s far easier to test distros out and see what best suits you.
I do quite like the stability of Cinnamon/Debian, and I think this problem is solvable (even if I have to solve it myself). I generally do not want to spend a lot of time futzing around with my desktop environment, but this is one thing I need to have.