module Xmobar.Config.Types
(
Config (..)
, XPosition (..), Align (..), Border(..)
) where
import Xmobar.Run.Runnable (Runnable(..))
data Config =
Config { Config -> String
font :: String
, Config -> [String]
additionalFonts :: [String]
, Config -> String
wmClass :: String
, Config -> String
wmName :: String
, Config -> String
bgColor :: String
, Config -> String
fgColor :: String
, Config -> XPosition
position :: XPosition
, Config -> Int
textOffset :: Int
, Config -> [Int]
textOffsets :: [Int]
, Config -> Int
iconOffset :: Int
, Config -> Border
border :: Border
, Config -> String
borderColor :: String
, Config -> Int
borderWidth :: Int
, Config -> Int
alpha :: Int
, Config -> Bool
hideOnStart :: Bool
, Config -> Bool
allDesktops :: Bool
, Config -> Bool
overrideRedirect :: Bool
, Config -> Bool
pickBroadest :: Bool
, Config -> Bool
lowerOnStart :: Bool
, Config -> Bool
persistent :: Bool
, Config -> String
iconRoot :: FilePath
, Config -> [Runnable]
commands :: [Runnable]
, Config -> String
sepChar :: String
, Config -> String
alignSep :: String
, Config -> String
template :: String
, Config -> Bool
verbose :: Bool
} deriving (ReadPrec [Config]
ReadPrec Config
Int -> ReadS Config
ReadS [Config]
(Int -> ReadS Config)
-> ReadS [Config]
-> ReadPrec Config
-> ReadPrec [Config]
-> Read Config
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Config]
$creadListPrec :: ReadPrec [Config]
readPrec :: ReadPrec Config
$creadPrec :: ReadPrec Config
readList :: ReadS [Config]
$creadList :: ReadS [Config]
readsPrec :: Int -> ReadS Config
$creadsPrec :: Int -> ReadS Config
Read)
data XPosition = Top
| TopW Align Int
| TopSize Align Int Int
| TopP Int Int
| Bottom
| BottomP Int Int
| BottomW Align Int
| BottomSize Align Int Int
| Static {XPosition -> Int
xpos, XPosition -> Int
ypos, XPosition -> Int
width, XPosition -> Int
height :: Int}
| OnScreen Int XPosition
deriving ( ReadPrec [XPosition]
ReadPrec XPosition
Int -> ReadS XPosition
ReadS [XPosition]
(Int -> ReadS XPosition)
-> ReadS [XPosition]
-> ReadPrec XPosition
-> ReadPrec [XPosition]
-> Read XPosition
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [XPosition]
$creadListPrec :: ReadPrec [XPosition]
readPrec :: ReadPrec XPosition
$creadPrec :: ReadPrec XPosition
readList :: ReadS [XPosition]
$creadList :: ReadS [XPosition]
readsPrec :: Int -> ReadS XPosition
$creadsPrec :: Int -> ReadS XPosition
Read, XPosition -> XPosition -> Bool
(XPosition -> XPosition -> Bool)
-> (XPosition -> XPosition -> Bool) -> Eq XPosition
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: XPosition -> XPosition -> Bool
$c/= :: XPosition -> XPosition -> Bool
== :: XPosition -> XPosition -> Bool
$c== :: XPosition -> XPosition -> Bool
Eq )
data Align = L | R | C deriving ( ReadPrec [Align]
ReadPrec Align
Int -> ReadS Align
ReadS [Align]
(Int -> ReadS Align)
-> ReadS [Align]
-> ReadPrec Align
-> ReadPrec [Align]
-> Read Align
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Align]
$creadListPrec :: ReadPrec [Align]
readPrec :: ReadPrec Align
$creadPrec :: ReadPrec Align
readList :: ReadS [Align]
$creadList :: ReadS [Align]
readsPrec :: Int -> ReadS Align
$creadsPrec :: Int -> ReadS Align
Read, Align -> Align -> Bool
(Align -> Align -> Bool) -> (Align -> Align -> Bool) -> Eq Align
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Align -> Align -> Bool
$c/= :: Align -> Align -> Bool
== :: Align -> Align -> Bool
$c== :: Align -> Align -> Bool
Eq )
data Border = NoBorder
| TopB
| BottomB
| FullB
| TopBM Int
| BottomBM Int
| FullBM Int
deriving ( ReadPrec [Border]
ReadPrec Border
Int -> ReadS Border
ReadS [Border]
(Int -> ReadS Border)
-> ReadS [Border]
-> ReadPrec Border
-> ReadPrec [Border]
-> Read Border
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [Border]
$creadListPrec :: ReadPrec [Border]
readPrec :: ReadPrec Border
$creadPrec :: ReadPrec Border
readList :: ReadS [Border]
$creadList :: ReadS [Border]
readsPrec :: Int -> ReadS Border
$creadsPrec :: Int -> ReadS Border
Read, Border -> Border -> Bool
(Border -> Border -> Bool)
-> (Border -> Border -> Bool) -> Eq Border
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Border -> Border -> Bool
$c/= :: Border -> Border -> Bool
== :: Border -> Border -> Bool
$c== :: Border -> Border -> Bool
Eq )