There is the Tiling Assistant extension (see this post for how to install GNOME Shell extensions: How to install GNOME Shell extensions in Ubuntu 22.04 LTS?). It's an awesome extension that greatly expands the default GNOME tiling experience and is extremely customizable. The extension offers basic quarter tiling, as well as Windows-like tiling, both by dragging a window with the mouse and using customizable keyboard shortcuts. By default the options menu of the extension has only two tabs: General and Keybindings, shown in the following screenshots:


However, the real power of the extension and what is of more interest to you lies in a hidden tab. This tab can be found if you click the lamp icon on the top left of the extension window, select Advanced..., and toggle Advanced / Experimental Settings on:

Then you'll also have access to the Layouts tab:

The Layouts tab has a list of predefined custom layouts that you can use and also lets you add your own custom layouts. To tile a window to a custom layout, you drag the window with your mouse while holding the Alt key. Then a preview of the layout comes up and you drop the window where you want.
To change the layout you can use the Ctrl+Alt+O shortcut, which opens a pop-up window that lets you select another layout.
To add a custom layout:
You define a layout's rectangles by entering their x
and y
coordinate as well as their width
and height
into a text entry separated by --. They are floating point values and can range from 0 to 1. The point (0,0) represents the top-left of your workspace and (1,1) the bottom-right. A loopType is set by appending --h
or --v
to the text entry for a horizontal and a vertical loop respectively. You can attach an app by using the Add Button
to the right of a text entry. It acts like a toggle. If you already attached an app to it, clicking it again, will remove the app.
For example, to add a 3 columns layout, you click the + button at the bottom of the Layouts tab and add the following (screenshot from the project's User Guide linked below):

You can find more in the extension's User Guide.
Here is how three windows look on my desktop using a customized 3-Columns layout with:
- Rect 0:
0--0--0.25--1
- Rect 1:
0.25--0--0.5--1
- Rect 2:
0.75--0--0.25--1
