Copyright | (C) -- Brent Yorgey 2018 Yclept Nemo |
---|---|
License | BSD-style (see LICENSE) |
Maintainer | <byorgey@gmail.com> |
Stability | unstable |
Portability | unportable |
Safe Haskell | None |
Language | Haskell98 |
Add a configurable amount of space around windows.
Note: For space/gaps along edges of the screen see XMonad.Layout.Gaps.
Synopsis
- data Border = Border {}
- data Spacing a = Spacing {}
- data SpacingModifier
- = ModifySmartBorder (Bool -> Bool)
- | ModifyScreenBorder (Border -> Border)
- | ModifyScreenBorderEnabled (Bool -> Bool)
- | ModifyWindowBorder (Border -> Border)
- | ModifyWindowBorderEnabled (Bool -> Bool)
- spacingRaw :: Bool -> Border -> Bool -> Border -> Bool -> l a -> ModifiedLayout Spacing l a
- setSmartSpacing :: Bool -> X ()
- setScreenSpacing :: Border -> X ()
- setScreenSpacingEnabled :: Bool -> X ()
- setWindowSpacing :: Border -> X ()
- setWindowSpacingEnabled :: Bool -> X ()
- toggleSmartSpacing :: X ()
- toggleScreenSpacingEnabled :: X ()
- toggleWindowSpacingEnabled :: X ()
- setScreenWindowSpacing :: Integer -> X ()
- incWindowSpacing :: Integer -> X ()
- incScreenSpacing :: Integer -> X ()
- decWindowSpacing :: Integer -> X ()
- decScreenSpacing :: Integer -> X ()
- incScreenWindowSpacing :: Integer -> X ()
- decScreenWindowSpacing :: Integer -> X ()
- borderMap :: (Integer -> Integer) -> Border -> Border
- borderIncrementBy :: Integer -> Border -> Border
- type SpacingWithEdge = Spacing
- type SmartSpacing = Spacing
- type SmartSpacingWithEdge = Spacing
- data ModifySpacing = ModifySpacing (Int -> Int)
- spacing :: Int -> l a -> ModifiedLayout Spacing l a
- spacingWithEdge :: Int -> l a -> ModifiedLayout Spacing l a
- smartSpacing :: Int -> l a -> ModifiedLayout Spacing l a
- smartSpacingWithEdge :: Int -> l a -> ModifiedLayout Spacing l a
- setSpacing :: Int -> X ()
- incSpacing :: Int -> X ()
Usage
You can use this module by importing it into your ~/.xmonad/xmonad.hs
file:
import XMonad.Layout.Spacing
and modifying your layoutHook as follows (for example):
layoutHook = spacingRaw True (Border 0 10 10 10) True (Border 10 10 10 10) True $ layoutHook def
A LayoutModifier
providing customizable screen and window borders.
Borders are clamped to [0,Infinity]
before being applied.
Spacing | |
|
Instances
data SpacingModifier Source #
Messages to alter the state of Spacing
using the endomorphic function
arguments.
ModifySmartBorder (Bool -> Bool) | |
ModifyScreenBorder (Border -> Border) | |
ModifyScreenBorderEnabled (Bool -> Bool) | |
ModifyWindowBorder (Border -> Border) | |
ModifyWindowBorderEnabled (Bool -> Bool) |
Instances
Message SpacingModifier Source # | |
Defined in XMonad.Layout.Spacing |
:: Bool | The |
-> Border | The |
-> Bool | The |
-> Border | The |
-> Bool | The |
-> l a | |
-> ModifiedLayout Spacing l a |
Generate the ModifiedLayout
, exposing all initial state of Spacing
.
setSmartSpacing :: Bool -> X () Source #
Set smartBorder
to the given Bool
.
setScreenSpacing :: Border -> X () Source #
Set screenBorder
to the given Border
.
setScreenSpacingEnabled :: Bool -> X () Source #
Set screenBorderEnabled
to the given Bool
.
setWindowSpacing :: Border -> X () Source #
Set windowBorder
to the given Border
.
setWindowSpacingEnabled :: Bool -> X () Source #
Set windowBorderEnabled
to the given Bool
.
toggleSmartSpacing :: X () Source #
Toggle smartBorder
.
toggleScreenSpacingEnabled :: X () Source #
Toggle screenBorderEnabled
.
toggleWindowSpacingEnabled :: X () Source #
Toggle windowBorderEnabled
.
setScreenWindowSpacing :: Integer -> X () Source #
Set all borders to a uniform size; see setWindowSpacing
and
setScreenSpacing
.
incWindowSpacing :: Integer -> X () Source #
Increment the borders of windowBorder
using borderIncrementBy
, which
preserves border ratios during clamping.
incScreenSpacing :: Integer -> X () Source #
Increment the borders of screenBorder
using borderIncrementBy
.
decWindowSpacing :: Integer -> X () Source #
Inverse of incWindowSpacing
, equivalent to applying negate
.
decScreenSpacing :: Integer -> X () Source #
Inverse of incScreenSpacing
.
incScreenWindowSpacing :: Integer -> X () Source #
Increment both screen and window borders; see incWindowSpacing
and
incScreenSpacing
.
decScreenWindowSpacing :: Integer -> X () Source #
Inverse of incScreenWindowSpacing
.
borderMap :: (Integer -> Integer) -> Border -> Border Source #
Map a function over a Border
. That is, over the four individual borders.
borderIncrementBy :: Integer -> Border -> Border Source #
Change the border spacing by the provided amount, adjusted so that at
least one border field is >=0
.
Backwards Compatibility
The following functions and types exist solely for compatibility with pre-0.14 releases.
type SpacingWithEdge = Spacing Source #
Deprecated: Use Spacing instead.
A type synonym for the Spacing
LayoutModifier
.
type SmartSpacing = Spacing Source #
Deprecated: Use Spacing instead.
A type synonym for the Spacing
LayoutModifier
.
type SmartSpacingWithEdge = Spacing Source #
Deprecated: Use Spacing instead.
A type synonym for the Spacing
LayoutModifier
.
data ModifySpacing Source #
Deprecated: Use SpacingModifier instead, perhaps with sendMessages.
Message to dynamically modify (e.g. increase/decrease/set) the size of
the screen spacing and window spacing. See SpacingModifier
.
ModifySpacing (Int -> Int) | Deprecated: Use SpacingModifier instead, perhaps with sendMessages. |
Instances
Message ModifySpacing Source # | |
Defined in XMonad.Layout.Spacing |
spacing :: Int -> l a -> ModifiedLayout Spacing l a Source #
Deprecated: Use spacingRaw instead.
Surround all windows by a certain number of pixels of blank space. See
spacingRaw
.
spacingWithEdge :: Int -> l a -> ModifiedLayout Spacing l a Source #
Deprecated: Use spacingRaw instead.
Surround all windows by a certain number of pixels of blank space, and
additionally adds the same amount of spacing around the edge of the screen.
See spacingRaw
.
smartSpacing :: Int -> l a -> ModifiedLayout Spacing l a Source #
Deprecated: Use spacingRaw instead.
Surrounds all windows with blank space, except when the window is the only
visible window on the current workspace. See spacingRaw
.
smartSpacingWithEdge :: Int -> l a -> ModifiedLayout Spacing l a Source #
Deprecated: Use spacingRaw instead.
Surrounds all windows with blank space, and adds the same amount of
spacing around the edge of the screen, except when the window is the only
visible window on the current workspace. See spacingRaw
.
setSpacing :: Int -> X () Source #
Deprecated: Use setScreenWindowSpacing instead.
incSpacing :: Int -> X () Source #
Deprecated: Use incScreenWindowSpacing instead.