I’ve found windows tiling managers incredibly useful, previously using Awesome served me quite well. However as soon as I upgraded to a large 40" 4K monitor - it didn’t quite work as effectively.
I’ve switched to XMonad as it provides unlimited functionality. In fact the configuration file is a Haskell program - you can pretty much do anything imaginable as long as you can develop it. There is also a huge collection of modules available which provides all sorts of layouts and functionality.
I’ve created my own layout optimized for my workflow - which works wonderfully on a large monitor. It’s available at: https://github.com/chrissound/XMonadLayouts
I’ve used this layout extensively for the past 8 months, and I’m still adding additional functionality - it’s a breeze when using Haskell too (strong types, compile errors etc).
On to the actual layout now, the layout creates a single main column with two side columns. The two side columns have the windows vertically stacked.
It’s similar to https://hackage.haskell.org/package/xmonad-contrib-0.13/docs/XMonad-Layout-ThreeColumns.html but it does not “collapse” the columns if there is less then 3 windows.
- Main rectangle that is centered.
- Additional rows can be added in the middle column.
- Set a specific ratio between rows in the middle column can be set when there are two or three windows in the middle column.
- Pin the left or right to have a maximum amount windows. (I usually have two left pinned windows). So for example you can pin the left column to only have a maximum of two windows, of which additional windows would accumulate on the right column.
- Swop the left or right column with the middle column.
- Swop or focus a window in the left or right column by the position in the column. For example you can focus the 3rd Window in the left column.
- Set the left or right column width individually.