Skip to content

Instantly share code, notes, and snippets.

@emptyflask
Created July 10, 2019 17:20
Show Gist options
  • Save emptyflask/896b82bdb1ea1fe1ce6500c18b3aae29 to your computer and use it in GitHub Desktop.
Save emptyflask/896b82bdb1ea1fe1ce6500c18b3aae29 to your computer and use it in GitHub Desktop.
module Layout (myLayoutHook) where
import XMonad.Layout
import XMonad.Layout.BinarySpacePartition
import XMonad.Layout.BorderResize
import XMonad.Layout.NoBorders
import XMonad.Layout.ResizableTile
import XMonad.Layout.Spacing
import XMonad.Layout.ThreeColumns
myLayoutHook = threeCol ||| bsp
where
threeCol = withBorders $ ThreeColMid 1 (2/100) (1/2)
bsp = withBorders' $ borderResize emptyBSP
withBorders = smartBorders . defaultSpacing 4
withBorders' = smartBorders . defaultSpacing 4 -- both layouts using the same withBorders function causes a type error
defaultSpacing i = spacingRaw True (uniformBorder i) True (uniformBorder i) True
uniformBorder i = Border i i i i
@emptyflask
Copy link
Author

There's more to the file, so these line numbers are off, but here's the type error:

    • Couldn't match type ‘XMonad.Layout.LayoutModifier.ModifiedLayout
                             BorderResize BinarySpacePartition’
                     with ‘ThreeCol’
      Expected type: XMonad.Layout.LayoutModifier.ModifiedLayout
                       BorderResize BinarySpacePartition Graphics.X11.Types.Window
        Actual type: ThreeCol Graphics.X11.Types.Window
    • In the second argument of ‘($)’, namely
        ‘ThreeColMid 1 (2 / 100) (1 / 2)’
      In the expression: withBorders $ ThreeColMid 1 (2 / 100) (1 / 2)
      In an equation for ‘threeCol’:
          threeCol = withBorders $ ThreeColMid 1 (2 / 100) (1 / 2)
   |
45 |     threeCol = withBorders $ ThreeColMid 1 (2/100) (1/2)
   |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment