Often, when working on my Linux laptop I want to get as much from my screen-estate as possible. This means working on windows as large as possible, but not overlapping each other too much.
The typical use case for me is to have a single window maximized in height (1), then opening another window (2). I then want the second window to take all the remaining space, in width and height.
Another use case is to have a third window (3) that I don't really want to see - it's there, together with my height-maximized window (1) when I open (2) and (2) partly can overlap my (3). I then want to make (2) again as much as possible but without overlapping (1) (see pic below).

Has anyone happened to find a simple solution for this, except for manually resizing windows?
