Компоновка аналогична вертикальной компоновке, за исключением того, что окна основной области расположены в столбцах.

Есть ли способ создать макет, похожий на высокий макет, за исключением того, что когда вы добавляете больше окон в основную панель, они упорядочиваются по столбцам, а не по строкам?


person khoomeister    schedule 11.06.2015    source источник
comment
Вы имеете в виду, добавляя в основную область, что вы нажимаете mod-,, чтобы увеличить количество основных окон?   -  person deshtop    schedule 11.06.2015
comment
@deshtop да, верно.   -  person khoomeister    schedule 11.06.2015


Ответы (1)


У меня нет однозначного ответа, но я использую что-то подобное для просмотра PDF-файлов, один или два столбца с подчиненным справа (если есть подчиненные окна).

import XMonad.Layout.ResizableTile
import XMonad.Layout.GridVariants
...
myPDFLayout = myPDFLayout1 ||| myPDFLayout2
myPDFLayout1 = ResizableTall 1 (3/100) (7/8) []
myPDFLayout2 = SplitGrid L 1 2 (7/8) (16/10) (3/100)

Не стесняйтесь добавлять больше столбцов - я думаю, SplitGrid можно использовать и для трех или более столбцов, подробности см. в документация. Если вы еще не знаете, ознакомьтесь с дополнениями xmonad, они содержат довольно много разные макеты, например два выше.

Эти макеты по умолчанию изменены с помощью mod-Space. Вы можете повторно привязать их к определенным рабочим пространствам, например

((modMask, xK_comma), bindOn [("PDF", sendMessage NextLayout)])

но, насколько я знаю, нет ничего похожего на PrevLayout, и он будет циклически переключаться между макетами, а не останавливаться.

edit: я думал, что на SO есть ветка о циклическом цикле назад, , но я ошибался (не читал и не проверял это)

person deshtop    schedule 11.06.2015
comment
Спасибо, я пока отмечу ваш ответ как правильный, так как я не смог найти макет, который мог бы выполнить эту работу сейчас. Я пошел с чем-то вроде: tiled = Tall 1 (1/16) (1/2) и grid = SplitGrid XMonad.Layout.GridVariants.L 1 2 (3/4) (16/9) (1/16), потому что я в первую очередь используйте 1 или 2 окна на главной панели (с любым количеством подчиненных). Надеюсь, кто-нибудь сделает это однажды :-). - person khoomeister; 12.06.2015