How to delete borders in "Full" layout from xmonad default config?

2.5k Views Asked by At

Currently I use

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

but this makes noBorder all the layouts, not just "Full".

I know, that I can simply copy layoutHook definition from default config and add noBorder before "Full", but I want the beautiful way, hope Haskell provides some means for it.

1

There are 1 best solutions below

0
On BEST ANSWER

Instead of using noBorders, you could use smartBorders, which hides the border when there's only one window (or a floated window covers the entire screen). That isn't quite the same thing as only hiding it with the Full layout, but it might be close enough for your purposes.

Failing that, the best option is probably to copy the default layoutHook. It's not very big, and you're quite likely to want to customise it in the future, anyway. You might be able to write a typeclass with instances for all the standard LayoutClasses that applies noBorders to Full, but it'd be uglier than simply copying the default layoutHook.