-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | A Minimalistic Text Based Status Bar
--   
--   Xmobar is a minimalistic text based status bar.
--   
--   Inspired by the Ion3 status bar, it supports similar features, like
--   dynamic color management, output templates, and extensibility through
--   plugins.
@package xmobar
@version 0.33


-- | A monitor reporting SSID and signal level for wireless interfaces
module Xmobar.Plugins.Monitors.Wireless
wirelessConfig :: IO MConfig
runWireless :: String -> [String] -> Monitor String


-- | A weather monitor for Xmobar
module Xmobar.Plugins.Monitors.Weather

-- | Options the user may specify.
data WeatherOpts
WeatherOpts :: String -> Bool -> WeatherOpts
[weatherString] :: WeatherOpts -> String
[useManager] :: WeatherOpts -> Bool

-- | Default values for options.
defaultOpts :: WeatherOpts

-- | Apply options.
options :: [OptDescr (WeatherOpts -> WeatherOpts)]
weatherConfig :: IO MConfig
data WindInfo
WindInfo :: String -> String -> String -> String -> String -> String -> WindInfo
[windCardinal] :: WindInfo -> String
[windAzimuth] :: WindInfo -> String
[windMph] :: WindInfo -> String
[windKnots] :: WindInfo -> String
[windKmh] :: WindInfo -> String
[windMs] :: WindInfo -> String
data WeatherInfo
WI :: String -> String -> String -> String -> String -> String -> WindInfo -> String -> String -> String -> Int -> Int -> Int -> Int -> Int -> Int -> WeatherInfo
[stationPlace] :: WeatherInfo -> String
[stationState] :: WeatherInfo -> String
[year] :: WeatherInfo -> String
[month] :: WeatherInfo -> String
[day] :: WeatherInfo -> String
[hour] :: WeatherInfo -> String
[windInfo] :: WeatherInfo -> WindInfo
[visibility] :: WeatherInfo -> String
[skyCondition] :: WeatherInfo -> String
[weather] :: WeatherInfo -> String
[tempC] :: WeatherInfo -> Int
[tempF] :: WeatherInfo -> Int
[dewPointC] :: WeatherInfo -> Int
[dewPointF] :: WeatherInfo -> Int
[humidity] :: WeatherInfo -> Int
[pressure] :: WeatherInfo -> Int
pTime :: Parser (String, String, String, String)
noWind :: WindInfo
pWind :: Parser WindInfo
pTemp :: Parser (Int, Int)
pRh :: Parser Int
pPressure :: Parser Int
parseData :: Parser [WeatherInfo]
defUrl :: String
stationUrl :: String -> String

-- | Get the decoded weather data from the given station.
getData :: Maybe Manager -> String -> IO String
formatSk :: Eq p => [(p, p)] -> p -> p
formatWeather :: WeatherOpts -> [(String, String)] -> [WeatherInfo] -> Monitor String

-- | Show the <a>weather</a> field with a default string in case it was
--   empty.
showWeather :: String -> String -> String

-- | Start a weather monitor, create a new 'Maybe Manager', should the user
--   have chosen to use one.
startWeather' :: [(String, String)] -> String -> [String] -> Int -> (String -> IO ()) -> IO ()

-- | Same as <a>startWeather'</a>, only for <tt>Weather</tt> instead of
--   <tt>WeatherX</tt>, meaning no <tt>SkyConditionS</tt>.
startWeather :: String -> [String] -> Int -> (String -> IO ()) -> IO ()

-- | Run a weather monitor.
runWeather :: [(String, String)] -> Maybe Manager -> WeatherOpts -> [String] -> Monitor String
weatherReady :: [String] -> Monitor Bool

-- | Possibly create a new <a>Manager</a>, based upon the users preference.
--   If one is created, this <a>Manager</a> will be used throughout the
--   monitor.
tryMakeManager :: WeatherOpts -> IO (Maybe Manager)

-- | Create a new <a>Manager</a> for managing network connections.
mkManager :: IO Manager
instance GHC.Show.Show Xmobar.Plugins.Monitors.Weather.WindInfo
instance GHC.Show.Show Xmobar.Plugins.Monitors.Weather.WeatherInfo


module Xmobar.Plugins.Monitors.Mpris
mprisConfig :: IO MConfig
runMPRIS1 :: String -> [String] -> Monitor String
runMPRIS2 :: String -> [String] -> Monitor String
instance Xmobar.Plugins.Monitors.Mpris.MprisVersion Xmobar.Plugins.Monitors.Mpris.MprisVersion2
instance Xmobar.Plugins.Monitors.Mpris.MprisVersion Xmobar.Plugins.Monitors.Mpris.MprisVersion1


-- | A date plugin with localization and location support for Xmobar
--   
--   Based on Plugins.Date
--   
--   Usage example: in template put
--   
--   <pre>
--   Run DateZone "%a %H:%M:%S" "de_DE.UTF-8" "UTC" "utcDate" 10
--   </pre>
module Xmobar.Plugins.DateZone
data DateZone
DateZone :: String -> String -> String -> String -> Int -> DateZone
instance GHC.Show.Show Xmobar.Plugins.DateZone.DateZone
instance GHC.Read.Read Xmobar.Plugins.DateZone.DateZone
instance Xmobar.Run.Exec.Exec Xmobar.Plugins.DateZone.DateZone


-- | A plugin for checking mail.
module Xmobar.Plugins.Mail

-- | A list of mail box names and paths to maildirs.
data Mail
Mail :: [(String, FilePath)] -> String -> Mail

-- | A list of mail box names, paths to maildirs and display colors.
data MailX
MailX :: [(String, FilePath, String)] -> [String] -> String -> MailX
instance GHC.Show.Show Xmobar.Plugins.Mail.Mail
instance GHC.Read.Read Xmobar.Plugins.Mail.Mail
instance GHC.Show.Show Xmobar.Plugins.Mail.MailX
instance GHC.Read.Read Xmobar.Plugins.Mail.MailX
instance Xmobar.Run.Exec.Exec Xmobar.Plugins.Mail.Mail
instance Xmobar.Run.Exec.Exec Xmobar.Plugins.Mail.MailX


-- | A plugin for checking mail in mbox files.
module Xmobar.Plugins.MBox

-- | A list of display names, paths to mbox files and display colours,
--   followed by a list of options.
data MBox
MBox :: [(String, FilePath, String)] -> [String] -> String -> MBox
instance GHC.Show.Show Xmobar.Plugins.MBox.MBox
instance GHC.Read.Read Xmobar.Plugins.MBox.MBox
instance Xmobar.Run.Exec.Exec Xmobar.Plugins.MBox.MBox


-- | Public interface of the xmobar library
module Xmobar
xmobar :: Config -> IO ()
xmobarMain :: IO ()

-- | The default configuration values
defaultConfig :: Config
configFromArgs :: Config -> IO Config

-- | Sleep for a given amount of tenths of a second.
--   
--   (Work around the Int max bound: since threadDelay takes an Int, it is
--   not possible to set a thread delay grater than about 45 minutes. With
--   a little recursion we solve the problem.)
tenthSeconds :: Int -> IO ()
data Runnable
Run :: r -> Runnable
class Show e => Exec e
alias :: Exec e => e -> String
rate :: Exec e => e -> Int
run :: Exec e => e -> IO String
start :: Exec e => e -> (String -> IO ()) -> IO ()
trigger :: Exec e => e -> (Maybe SignalType -> IO ()) -> IO ()
data Command
Com :: Program -> Args -> Alias -> Rate -> Command
ComX :: Program -> Args -> String -> Alias -> Rate -> Command

-- | The configuration data type
data Config
Config :: String -> [String] -> String -> String -> String -> String -> XPosition -> Int -> [Int] -> Int -> Border -> String -> Int -> Int -> Bool -> Bool -> Bool -> Bool -> Bool -> Bool -> FilePath -> [Runnable] -> String -> String -> String -> Bool -> Config

-- | Font
[font] :: Config -> String

-- | List of alternative fonts
[additionalFonts] :: Config -> [String]

-- | X11 WM_CLASS property value
[wmClass] :: Config -> String

-- | X11 WM_NAME property value
[wmName] :: Config -> String

-- | Backgroud color
[bgColor] :: Config -> String

-- | Default font color
[fgColor] :: Config -> String

-- | Top Bottom or Static
[position] :: Config -> XPosition

-- | Offset from top of window for text
[textOffset] :: Config -> Int

-- | List of offsets for additionalFonts
[textOffsets] :: Config -> [Int]

-- | Offset from top of window for icons
[iconOffset] :: Config -> Int

-- | NoBorder TopB BottomB or FullB
[border] :: Config -> Border

-- | Border color
[borderColor] :: Config -> String

-- | Border width
[borderWidth] :: Config -> Int

-- | Transparency from 0 (transparent) to 255 (opaque)
[alpha] :: Config -> Int

-- | Hide (Unmap) the window on initialization
[hideOnStart] :: Config -> Bool

-- | Tell the WM to map to all desktops
[allDesktops] :: Config -> Bool

-- | Needed for dock behaviour in some non-tiling WMs
[overrideRedirect] :: Config -> Bool

-- | Use the broadest display instead of the first one by default
[pickBroadest] :: Config -> Bool

-- | lower to the bottom of the window stack on initialization
[lowerOnStart] :: Config -> Bool

-- | Whether automatic hiding should be enabled or disabled
[persistent] :: Config -> Bool

-- | Root folder for icons
[iconRoot] :: Config -> FilePath

-- | For setting the command, the command arguments and refresh rate for
--   the programs to run (optional)
[commands] :: Config -> [Runnable]

-- | The character to be used for indicating commands in the output
--   template (default <tt>%</tt>)
[sepChar] :: Config -> String

-- | Separators for left, center and right text alignment
[alignSep] :: Config -> String

-- | The output template
[template] :: Config -> String

-- | Emit additional debug messages
[verbose] :: Config -> Bool
data XPosition
Top :: XPosition
TopW :: Align -> Int -> XPosition
TopSize :: Align -> Int -> Int -> XPosition
TopP :: Int -> Int -> XPosition
Bottom :: XPosition
BottomP :: Int -> Int -> XPosition
BottomW :: Align -> Int -> XPosition
BottomSize :: Align -> Int -> Int -> XPosition
Static :: Int -> XPosition
[xpos, ypos, width, height] :: XPosition -> Int
OnScreen :: Int -> XPosition -> XPosition
data Align
L :: Align
R :: Align
C :: Align
data Border
NoBorder :: Border
TopB :: Border
BottomB :: Border
FullB :: Border
TopBM :: Int -> Border
BottomBM :: Int -> Border
FullBM :: Int -> Border

-- | Reads the configuration from a file or an error if it cannot be
--   parsed.
readConfig :: Config -> FilePath -> IO (Either ParseError (Config, [String]))

-- | Parse the config, logging a list of fields that were missing and
--   replaced by the default definition.
parseConfig :: Config -> String -> Either ParseError (Config, [String])
data BufferedPipeReader
BufferedPipeReader :: String -> [(Int, Bool, String)] -> BufferedPipeReader
data CommandReader
CommandReader :: String -> String -> CommandReader
data Date
Date :: String -> String -> Int -> Date
data EWMH
EWMH :: EWMH
EWMHFMT :: Component -> EWMH
newtype Kbd
Kbd :: [(String, String)] -> Kbd
data Locks
Locks :: Locks
data Monitors
Network :: Interface -> Args -> Rate -> Monitors
DynNetwork :: Args -> Rate -> Monitors
BatteryP :: Args -> Args -> Rate -> Monitors
BatteryN :: Args -> Args -> Rate -> Alias -> Monitors
Battery :: Args -> Rate -> Monitors
DiskU :: DiskSpec -> Args -> Rate -> Monitors
DiskIO :: DiskSpec -> Args -> Rate -> Monitors
Thermal :: Zone -> Args -> Rate -> Monitors
ThermalZone :: ZoneNo -> Args -> Rate -> Monitors
Memory :: Args -> Rate -> Monitors
Swap :: Args -> Rate -> Monitors
Cpu :: Args -> Rate -> Monitors
MultiCpu :: Args -> Rate -> Monitors
Brightness :: Args -> Rate -> Monitors
CpuFreq :: Args -> Rate -> Monitors
CoreTemp :: Args -> Rate -> Monitors
MultiCoreTemp :: Args -> Rate -> Monitors
TopProc :: Args -> Rate -> Monitors
TopMem :: Args -> Rate -> Monitors
Uptime :: Args -> Rate -> Monitors
CatInt :: Int -> FilePath -> Args -> Rate -> Monitors
Weather :: Station -> Args -> Rate -> Monitors
WeatherX :: Station -> SkyConditions -> Args -> Rate -> Monitors
Wireless :: Interface -> Args -> Rate -> Monitors
Mpris1 :: String -> Args -> Rate -> Monitors
Mpris2 :: String -> Args -> Rate -> Monitors
type Args = [String]
type Program = String
type Alias = String
type Station = String
type SkyConditions = [(String, String)]
type Zone = String
type ZoneNo = Int
type Interface = String
type Rate = Int
type DiskSpec = [(String, String)]
data PipeReader
PipeReader :: String -> String -> PipeReader
data MarqueePipeReader
MarqueePipeReader :: String -> (Length, Rate, Separator) -> String -> MarqueePipeReader
data StdinReader
StdinReader :: StdinReader
UnsafeStdinReader :: StdinReader
data XMonadLog
XMonadLog :: XMonadLog
UnsafeXMonadLog :: XMonadLog
XPropertyLog :: String -> XMonadLog
UnsafeXPropertyLog :: String -> XMonadLog
NamedXPropertyLog :: String -> String -> XMonadLog
UnsafeNamedXPropertyLog :: String -> String -> XMonadLog
