2012-05-17 1 views
2

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

import XMonad.Layout.NoBorders 
... 
xmonad $ defaultConfig { layoutHook = noBorders $ layoutHook defaultConfig } 

, но это делает noBorder все макеты, а не только «Full».

Я знаю, что я могу просто скопировать layoutHook определение из умолчанию конфигурации и добавить noBorder перед «Full», но я хочу красивый способ, надеюсь Haskell предоставляет некоторые средства для этого.

ответ

7

Вместо использования noBorders вы можете использовать smartBorders, который скрывает границу, когда есть только одно окно (или всплывающее окно закрывает весь экран). Это не совсем то же самое, что скрывать его только с макетом Full, но это может быть достаточно близко для ваших целей.

В противном случае лучшим вариантом является, вероятно, копирование по умолчанию layoutHook. Это не очень большой, и вы, скорее всего, захотите настроить его в будущем, так или иначе. Вы могли бы написать typeclass с экземплярами для всех стандартных LayoutClass es, которые применяют noBorders к Full, но это было бы уродливее, чем просто копирование по умолчанию layoutHook.

+0

Да, большое вам спасибо! – Samat