diff options
Diffstat (limited to 'src/Xmobar/Config')
| -rw-r--r-- | src/Xmobar/Config/Template.hs | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/src/Xmobar/Config/Template.hs b/src/Xmobar/Config/Template.hs index ad30c3d..6ea1898 100644 --- a/src/Xmobar/Config/Template.hs +++ b/src/Xmobar/Config/Template.hs @@ -1,7 +1,7 @@  ------------------------------------------------------------------------------  -- |  -- Module: Xmobar.Config.Template --- Copyright: (c) 2022 jao +-- Copyright: (c) 2022, 2025 jao  -- License: BSD3-style (see LICENSE)  --  -- Maintainer: mail@jao.io @@ -15,7 +15,7 @@  ------------------------------------------------------------------------------ -module Xmobar.Config.Template (parseString) where +module Xmobar.Config.Template (parseString, withEmptyAction) where  import Data.Maybe (fromMaybe)  import qualified Control.Monad as CM @@ -101,11 +101,14 @@ hspaceParser c = do    pVal <- C.manyTill P.digit (P.try (P.string "/>"))    retSegment c (T.Hspace (fromMaybe 0 $ readMaybe pVal)) +withEmptyAction :: String -> String +withEmptyAction str = "<action=>" ++ str ++ "</action>" +  actionParser :: Context -> Parser [T.Segment]  actionParser (ti, fi, act) = do    P.string "<action="    command <- C.between (P.char '`') (P.char '`') (C.many1 (P.noneOf "`")) -             <|> C.many1 (P.noneOf ">") +             <|> C.many1 (P.noneOf ">") <|> P.string ""    buttons <- (P.char '>' >> return "1") <|> (P.space >> P.spaces >>      C.between (P.string "button=") (P.string ">") (C.many1 (P.oneOf "12345")))    let a = T.Spawn (toButtons buttons) command | 
