summaryrefslogtreecommitdiffhomepage
path: root/src/Xmobar/Config
diff options
context:
space:
mode:
authorPavel Kalugin <pavel@pavelthebest.me>2022-01-31 21:48:15 +0300
committerPavel Kalugin <pavel@pavelthebest.me>2022-01-31 23:40:49 +0300
commit65f67cc86d3929802f227133c1003dc4174ee85d (patch)
treefed382a49089fdabcea9e2fa7399cb4e5a2e6acc /src/Xmobar/Config
parentdde86479be0835ae4a9fe14e14857a3460fd8e1d (diff)
downloadxmobar-65f67cc86d3929802f227133c1003dc4174ee85d.tar.gz
xmobar-65f67cc86d3929802f227133c1003dc4174ee85d.tar.bz2
Text output: support choosing between Pango and ANSI markup
Signed-off-by: Pavel Kalugin <pavel@pavelthebest.me>
Diffstat (limited to 'src/Xmobar/Config')
-rw-r--r--src/Xmobar/Config/Parse.hs7
-rw-r--r--src/Xmobar/Config/Types.hs6
2 files changed, 8 insertions, 5 deletions
diff --git a/src/Xmobar/Config/Parse.hs b/src/Xmobar/Config/Parse.hs
index 4c43e4d..fa99c59 100644
--- a/src/Xmobar/Config/Parse.hs
+++ b/src/Xmobar/Config/Parse.hs
@@ -62,7 +62,7 @@ parseConfig defaultConfig =
perms = permute $ Config
<$?> pFont <|?> pFontList <|?> pWmClass <|?> pWmName
<|?> pBgColor <|?> pFgColor <|?> pPosition
- <|?> pTextOutput <|?> pAnsiColors
+ <|?> pTextOutput <|?> pTextOutputColors
<|?> pTextOffset <|?> pTextOffsets
<|?> pIconOffset <|?> pBorder
<|?> pBdColor <|?> pBdWidth <|?> pAlpha <|?> pHideOnStart
@@ -71,17 +71,18 @@ parseConfig defaultConfig =
<|?> pCommands <|?> pSepChar <|?> pAlignSep <|?> pTemplate
<|?> pVerbose <|?> pSignal
- fields = [ "font", "additionalFonts","bgColor", "fgColor"
+ fields = [ "font", "additionalFonts", "bgColor", "fgColor"
, "wmClass", "wmName", "sepChar"
, "alignSep" , "border", "borderColor" ,"template"
, "position" , "textOffset", "textOffsets", "iconOffset"
, "allDesktops", "overrideRedirect", "pickBroadest"
, "hideOnStart", "lowerOnStart", "persistent", "iconRoot"
, "alpha", "commands", "verbose", "signal", "textOutput"
+ , "textOutputColors"
]
pTextOutput = readField textOutput "textOutput"
- pAnsiColors = readField textOutput "textAnsiColors"
+ pTextOutputColors = readField textOutputColors "textOutputColors"
pFont = strField font "font"
pFontList = strListField additionalFonts "additionalFonts"
pWmClass = strField wmClass "wmClass"
diff --git a/src/Xmobar/Config/Types.hs b/src/Xmobar/Config/Types.hs
index 6ea012f..5f19528 100644
--- a/src/Xmobar/Config/Types.hs
+++ b/src/Xmobar/Config/Types.hs
@@ -16,7 +16,7 @@ module Xmobar.Config.Types
( -- * Configuration
-- $config
Config (..)
- , XPosition (..), Align (..), Border(..)
+ , XPosition (..), Align (..), Border (..), TextColorFormat (..)
, SignalChan (..)
) where
@@ -37,7 +37,7 @@ data Config =
, fgColor :: String -- ^ Default font color
, position :: XPosition -- ^ Top Bottom or Static
, textOutput :: Bool -- ^ Write data to stdout instead of X
- , ansiColors :: Bool -- ^ Use ANSI color escapes for stdout
+ , textOutputColors :: TextColorFormat -- ^ Which color format to use for stdout: Ansi or Pango
, textOffset :: Int -- ^ Offset from top of window for text
, textOffsets :: [Int] -- ^ List of offsets for additionalFonts
, iconOffset :: Int -- ^ Offset from top of window for icons
@@ -98,6 +98,8 @@ data Border = NoBorder
| FullBM Int
deriving ( Read, Show, Eq )
+data TextColorFormat = NoColors | Ansi | Pango deriving ( Read, Show, Eq )
+
newtype SignalChan = SignalChan { unSignalChan :: Maybe (STM.TMVar SignalType) }
instance Read SignalChan where