2015-06-11 1 views
2

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

+0

ли вы имеете в виду «добавив к основной области», что вы нажимаете '' mod-, '' увеличить количество мастер-окон? – deshtop

+0

@deshtop да, это правильно. – khoomeister

ответ

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 можно использовать три или более столбцов, а также, найти детали в the documentation. Если вы еще не знаете, что вы уже знаете, xmonad contribs, они предоставляют довольно много разных макетов, например, два выше.

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

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

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

редактировать: Я думал, что нить на SO о велоспорте в обратном направлении, but i was wrong (не читали или протестированы это, хотя)

+0

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