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 with Cinnamon 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, it 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.

  • enviousCardinal@lemmy.world
    link
    fedilink
    arrow-up
    2
    arrow-down
    1
    ·
    edit-2
    9 months ago

    same boat. was on GNOME and used gTile over there; once the (cumbersome) setup was done, worked as expected, especially the cycle function (cycle between 1/3, 1/2, and 2/3 on repeated keypresses).

    now I’m on Plasma and there isn’t anything worthwhile; tried a couple of solutions but most of those are of the auto-tile kind where the WM “guesses” what you want and then you adjust it, which is beyond asinine to me. I have a huge screen and I want to send this window do this quarter and this to this sixth and this to half and so on.

    anyhow, none have what I need, so I learned to live without it.

      • enviousCardinal@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        thanks for reaching out. I think I tried it (tried a number of KWin scripts, including the one called Rectangle) but I’ll look at it again. can I tile my workspace in six areas (top/bot + left/mid/right) and hotkey-send windows to each of those and then cycle widths on repeat keypresses?

        • davidosomething@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          1
          ·
          9 months ago

          it only does left, center, and right, and cycles between sizes on repeat keypresses e.g. i press meta-ctrl-a once and my window goes left to 50% of screen, press it again and it shrinks to 33%, 25, back to 50; meta-ctrl-s to do the same in the center of the screen, etc.

          you can combine it with some other plugin that gives you top-half/bottom-half to achieve the effect you want (so you’d keypress one to go top or bottom, then use yanjing to cycle x-placement and widths)