summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorJose Antonio Ortega Ruiz <jao@gnu.org>2011-08-21 19:09:15 +0200
committerJose Antonio Ortega Ruiz <jao@gnu.org>2011-08-21 19:09:15 +0200
commit8afb450eb104e5335f4b1b976512842f7059142c (patch)
tree949e3ec6aba45ebf366c2d31c5edc0177995c195 /src
parent5d5b4a4d7e07d20eec62b5650df5d55807741a4c (diff)
downloadxmobar-8afb450eb104e5335f4b1b976512842f7059142c.tar.gz
xmobar-8afb450eb104e5335f4b1b976512842f7059142c.tar.bz2
Show invalid input in case of parsing error in template
As a side-effect, parts without substitution vars will be displayed as-is, fixing a bug reported by RC in the mailing list.
Diffstat (limited to 'src')
-rw-r--r--src/Parsers.hs2
-rw-r--r--src/Xmobar.hs2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/Parsers.hs b/src/Parsers.hs
index 1450a0e..baaa287 100644
--- a/src/Parsers.hs
+++ b/src/Parsers.hs
@@ -87,7 +87,7 @@ templateParser = many . templateStringParser
parseTemplate :: Config -> String -> IO [(Runnable,String,String)]
parseTemplate c s =
do str <- case parse (templateParser c) "" s of
- Left _ -> return [("","","")]
+ Left _ -> return [("", s, "")]
Right x -> return x
let cl = map alias (commands c)
m = Map.fromList $ zip cl (commands c)
diff --git a/src/Xmobar.hs b/src/Xmobar.hs
index cf912b7..eb7a1dd 100644
--- a/src/Xmobar.hs
+++ b/src/Xmobar.hs
@@ -120,7 +120,7 @@ eventLoop xc@(XConf d _ w fs c) vs = block $ do
startCommand :: (Runnable,String,String) -> IO (Maybe ThreadId, TVar String)
startCommand (com,s,ss)
| alias com == "" = do var <- atomically $ newTVar is
- atomically $ writeTVar var "Could not parse the template"
+ atomically $ writeTVar var (s ++ ss)
return (Nothing,var)
| otherwise = do var <- atomically $ newTVar is
let cb str = atomically $ writeTVar var (s ++ str ++ ss)