sectile-0.1.0.0: src/Data/Sectile.hs
-- |
-- Module : Data.Sectile
-- Copyright : Gautier DI FOLCO
-- License : ISC
--
-- Maintainer : Gautier DI FOLCO <foss@difolco.dev>
-- Stability : Stable
-- Portability : Portable
--
-- Composable status line builder.
--
-- @sectile@ lets you compose terminal status lines from reusable segments
-- that can be styled, padded, truncated, and combined.
--
-- Build segments with 'string', 'sh', 'time', or the system monitoring
-- functions from "Data.Sectile.System.Linux". Combine them with 'row' and 'between'.
-- Style them with 'changeStyle', 'forceStyle', and the optics from
-- "Data.Sectile.Style". Control display width with the functions from
-- "Data.Sectile.Display".
--
-- Example:
--
-- > import Data.Sectile
-- > import Data.Sectile.System.Linux
-- > import qualified Data.ByteString.Builder as B
-- > import qualified Data.Sectile.Tmux as Colour
-- >
-- > main :: IO ()
-- > main = do
-- > let status =
-- > row mapM "status" $
-- > between (string " [") (string "] ") $
-- > [ time "clock" "%H:%M",
-- > string " | ",
-- > sh "host" "hostname" Nothing
-- > ]
-- > output <- renderSegment Colour.With8Colours status
-- > B.hPutBuilder stdout output
module Data.Sectile (module X) where
import Data.Sectile.Display as X
import Data.Sectile.Runners as X
import Data.Sectile.Segments as X
import Data.Sectile.Style as X
import Data.Sectile.Themes as X
import Data.Sectile.Types as X