XMonad устанавливает макет в зависимости от того, какой монитор он отображает

Возможно ли каким-либо образом изменить макет рабочего пространства в зависимости от того, какой физический экран он отображает?

Я хочу использовать reflectHoriz (из XMonad.Layout.PerWorkspace) в макетах на моем левом мониторе, чтобы мастер-панель всегда была ближе всего к центру из 2 экранов.

Я попробовал XMonad.Layout.IndependentScreens, но это просто создает рабочие области с двойным монитором, и это не то, на что я нацелен. В идеале я хочу, чтобы одно и то же рабочее пространство имело разные настройки макета в зависимости от монитора, на котором он отображается.

Ответ 1

Я думаю, что возможно сделать обертку Layout (например Mirror или Choose), которая делает то, что вы хотите, Метод runLayout LayoutClass получает WorkspaceId, который вы можете найти на карте от Screen до Workspace с.