Menu

Christian Stryczynski

Freelance software developer. Haskelling at night. Hopefully unconventional. Fan of Dvorak

Windows tiling manager 4K / large monitor friendly layout - XMonad layout

I've found windows tiling managers really useful, having used Awesome served me quite well. However as soon as I upgrade to a large 40" 4K monitor - it didn't quite work as effectively. 

I migrated 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 a huge collection of modules available for it, with all sorts of crazy layouts.

So I've created my own layout optimized for my workflow - which works wonderfully on a large monitor. It's available on github: https://github.com/chrissound/XMonadLayouts

I've used this layout extensively for the past 8 months, I'm often adding additional functionality - it's a breeze when using Haskell too (strong types, compile errors etc).


The layout creates a single main window 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 features:

  • 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.

Written by Christian Stryczynski on Saturday April 8, 2017

Permalink -

« Awesome podcasts / talks about software development - Going freelance fulltime! »