elementary / gala

Gala Window Manager for elementary OS and Pantheon
https://elementary.io
GNU General Public License v3.0
272 stars 77 forks source link

Tile Top/Bottom on Portrait Displays. #380

Open Nine-H opened 5 years ago

Nine-H commented 5 years ago

Portrait mode is becoming common. Weirdo hipsters like to run vertical monitors for coding and document editing, and convertible laptops like the lenovo yoga series, ASUS transformer, and Microsoft Surface have no fixed orientation when in tablet mode.

Currently gala only supports Left/Right Aero Snap style tiling, which is great on a widescreen, but consider the following:

screenshot from 2018-10-22 13 25 55

screenshot from 2018-10-22 13 27 21

I think the most intuitive way to handle screen rotation and portrait displays with snapped windows is to split the screen on its longest axis: Top/Bottom tiling is certainly the only scheme that makes sense on 9:16.

marbetschar commented 4 years ago

+1 for a Top\Bottom tiling feature.

But I don't think this necessarily needs to be bound to display orientation, because its also very useful on smaller, landscape oriented displays:

For example I would love to quickly align a Terminal and a Browser in top/bottom tiles, or even Code and the Terminal because the Code's Terminal plugin does not have the same behaviour and features as the elementary Terminal app. These use cases arise mainly, because the width of the content from these views is more important than their height (mostly because reading wider content is easier, than a lot of inter-content-line-breaks messing up formatting).

Also I think adding the keyboard shortcuts Super + Ctrl + Arrow Up/Down for this tiling does match the existing Super + Ctrl + Arrow Left/Right beautifully. In terms of mouse gestures, I don't have an idea how this should be added - or if it should be accessible via mouse at all.

In addition, vertical tiling might as well make the people happy seeking a drop-down like terminal such as: https://github.com/elementary/terminal/issues/252, https://github.com/elementary/terminal/issues/162

FWIW: https://github.com/elementary/gala/pull/595 looks very promising and may provide already everything needed.

Terminal/Browser Vertically Tiled

Screenshot from 2020-04-07 20-05-26

Terminal/Code Vertically Tiled

Screenshot from 2020-04-07 20-08-18