2016-05-10 4 views
2

Как я могу сгенерировать такой вид черепицы с помощью xmonad?Как сгенерировать такой вид плитки xmonad

http://xmonad.org/images/screen-ejt-spiral-dzen.png

Я знаю, что вы можете увеличить/уменьшить количество окон в главной панели с мод-запятой и использовать мод-пространствомод-ч и мод-л к измените макет. Но похоже, что только тот набор команд не может воспроизвести вид плитки в приведенной выше ссылке.

В частности, есть две вещи, которые я просто не знаю, как это сделать, что ссылка выше делает:

  1. Чем больше плитка на право не разделяется горизонтально в середине, но на самом деле больше , Я могу только увеличить/уменьшить мастер-панель с помощью mod-h и mod-l
  2. Меньшая плитка справа разделена на две части. Я понятия не имею, как бы вы даже идти об этом с xmonad

ответ

1

Вам нужно создать новый макет в вашем .xmonad/xmonad.hs Для этого вам нужно иметь небольшой опыт работы с Haskell.

Я создал полноэкранный макет, который можно использовать, нажав комбинацию кнопок здесь пример:

импорта следующего:

import XMonad.Layout.Spacing 
import XMonad.Layout.LayoutCombinators hiding ((|||)) 
import XMonad.Layout.Fullscreen 
import XMonad.Layout.NoBorders 
import XMonad.Layout.Reflect 
import XMonad.Layout.Combo 
import XMonad.Layout.TwoPane 
import XMonad.Layout.Tabbed 
import XMonad.Layout.PerWorkspace 
import XMonad.Layout.IM 
import XMonad.Layout.ThreeColumns 

И тогда вы могли бы сделать что-то вроде этого:

sPx = 1 

verticalLayout = spacing sPx $ avoidStruts $ reflectHoriz $ Tall 1 0.03 0.5 
verticalLayoutLargeScreen = spacing sPx $ avoidStruts $ ThreeCol 1 0.03 0.5 
horizontalLayout = spacing sPx $ avoidStruts $ Mirror $ Tall 1 0.03 0.5 
webdevLayout = spacing sPx $ avoidStruts $ Tall 1 0.03 0.63 
fullscreenLayout = noBorders $ fullscreenFull $ Full 

myLayout = 
    onWorkspace "2:web" (webdevLayout ||| fullscreenLayout) $ 
        (verticalLayout ||| horizontalLayout ||| fullscreenLayout) 

После этого определим отображение для ключа комбо:

myAdditionalKeys = [ 
    -- Switch to next layout: 
    ((mod4Mask .|. shiftMask, xK_m), sendMessage NextLayout), 
] 

, а затем не забудьте добавить свой макет и ваш ключ Mapping в конфигурации, может выглядеть следующим образом:

main = do 
    xmonad $ defaultConfig 
      { manageHook = manageSpawn <+> myManageHook <+> manageDocks, 
       layoutHook = myLayout, 
       logHook = dynamicLogWithPP xmobarPP { 
         ppOutput = hPutStrLn xmproc, 
         ppLayout = (\ x -> ""), 
         ppTitle = xmobarColor "#b2ed00" "" 
        } >> updatePointer (Relative 0.99 0.99), 
       modMask = mod4Mask, 
       borderWidth = 4, 
       normalBorderColor = "#777777", 
       focusedBorderColor = "#ccff00", 
       workspaces = myWorkspaces, 
       focusFollowsMouse = True, 
       terminal = "x-terminal-emulator" 
      } 
      `removeKeys` myRemoveKeys 
      `additionalKeys` myAdditionalKeys 
+0

Спасибо, да, я предполагаю, что документы не сделать его достаточно ясно, что данный конкретный макет не может выполняться с помощью клавиш, но для них требуется индивидуальный макет. – antimatter

Смежные вопросы