Im just curious to try anyway so I started with that config changes import XMonad.Layout.IndependentScreens cfg = def { -- [..] workspaces = mainWs ++ secondaryWs, -- not sure how to concat the ws lists here } -- workspaces for main monitor (not sure of the index) mainWs = withScreen 0 ["1", "2", "3", "4"] mainWsKeys = "&é\"a" -- workspaces for secondary monitor (not sure of the index) secondaryWs = withScreen 1 ["1"] in Xmobar I can see the intended ws are created, 0_1 0_2 .. 1_1 but for some reason the secondary screen is still using "0_*" workspaces and is note assigned to "1_1" as I expected it