shell icon indicating copy to clipboard operation
shell copied to clipboard

How can I make three windows vertically with equal spacing?

Open IndianBoy42 opened this issue 3 years ago • 8 comments

I can of course do this manually, although it is a bit annoying and counterintuitive to do so with just the keyboard. But can I distribute the space evenly automatically? maybe even have the splits be like this by default

IndianBoy42 avatar Sep 14 '21 10:09 IndianBoy42

Not automatically

mmstick avatar Sep 14 '21 10:09 mmstick

I find myself wanting this all the time when using a 21:9 monitor. Since the first split gets you two 10.5:9 windows, the second split occurs in the same direction as the first leaving you with two thin (and not very useful) 5.25:9 windows. image

It would be awesome if pop shell automatically sized windows equally in the direction they were twice splitted at, like so: image

pesader avatar Sep 15 '21 16:09 pesader

Even more generally after getting my new ultrawide monitor, I've found myself wanting to script and more precisely design window layouts.

One pattern i like (apart from 3 equals) is a fairly wide central window 16:9 or 3:2 with my primary task, with 2 flanking auxiliary windows with side info/music player etc. Currently AFAICT windows are organized as binary trees, but i think ultrawides show they should really be arbitrary trees (or at least be able to be ternary.

Another one is inspired by https://github.com/beauwilliams/focus.nvim. which splits neovim into golden ratio sized windows, and also increases the size of the focused window as it changes

Is there any plan for allowing scripting of the pop shell TWM in a way that i3, etc have? Or maybe just implementing the mentioned layout strategies

IndianBoy42 avatar Sep 15 '21 16:09 IndianBoy42

I tried using lwsm ("linux window session manager") to save and restore layouts, but it only worked partially. As you can see, it correctly restores this bizarre layout I made just for demonstration IF TILING IS TURNED OFF:

https://user-images.githubusercontent.com/65264536/133474963-c318eb89-c9a0-4d09-86e1-4cc55ab88b32.mp4

However, as soon as I turn tiling on again (at 00:13 timestamp of the video, it is a bit hard to spot since all windows look the same) it dismantles the restored layout.

https://user-images.githubusercontent.com/65264536/133475182-019302b0-7993-4e6b-84bb-e76e97ff0d26.mp4

Still, considering how well lwsm restored the layout maybe it is worth investigating some way to make it play nicely with pop shell (perhaps even integrated session management, like Material Shell does). In any case, pop shell is already a great utility and I'm thankful for all the work that has been put into it!

pesader avatar Sep 15 '21 16:09 pesader

Are there actually any plans or will to implement saving/restoring layouts, custom sizing, scripting, etc that would allow us to do better than splitting in half every time then manually finagling the layout to how we want (never getting exactly one thirds because we can't)

IndianBoy42 avatar Dec 01 '21 04:12 IndianBoy42

https://material-shell.com/ can already split into thirds, and auto-save and restore layout.

wojpawlik avatar Dec 01 '21 19:12 wojpawlik

@mmstick Any plans to make this work automatically? 3 Columns with same size :eyes:

Gu7z avatar Apr 27 '22 20:04 Gu7z

@mmstick, any news?

Gu7z avatar Jul 04 '22 23:07 Gu7z

More generally speaking, the way other tiling window managers such as i3 or sway do it is that they have the concept of "direction" that user sets. It's "vertical" or "horizontal". And the window manager adjusts all windows when a new one is created depending on the direction. It would nice if this was implemented in Pop shell as well.

jtheoof avatar Aug 14 '22 01:08 jtheoof