diff options
author | Will Song <incertia9474@gmail.com> | 2016-07-16 16:15:33 -0500 |
---|---|---|
committer | jao <jao@gnu.org> | 2016-07-27 01:00:06 +0200 |
commit | a93755b2d1e9efbd63723f5302ca7c8f43521aa8 (patch) | |
tree | fd6478184be41063af8c618e2bb0932179ba18a5 /src/Plugins/PipeReader.hs | |
parent | c98752cad2343932d42d2fef2229581f0c266800 (diff) | |
download | xmobar-a93755b2d1e9efbd63723f5302ca7c8f43521aa8.tar.gz xmobar-a93755b2d1e9efbd63723f5302ca7c8f43521aa8.tar.bz2 |
Add expandEnv function and use it in PipeReader family of monitors
expandEnv takes a string and expands the environment variables it can
find. variable substringing (e.g. ${VAR:1} to lop off the first
character) is not supported, but $VAR and ${VAR} formats are, with the
former being delimited by punctuation, but not underscores.
Diffstat (limited to 'src/Plugins/PipeReader.hs')
-rw-r--r-- | src/Plugins/PipeReader.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/Plugins/PipeReader.hs b/src/Plugins/PipeReader.hs index c3e491a..653a72d 100644 --- a/src/Plugins/PipeReader.hs +++ b/src/Plugins/PipeReader.hs @@ -16,6 +16,7 @@ module Plugins.PipeReader where import System.IO import Plugins +import Environment import System.Posix.Files import Control.Concurrent(threadDelay) import Control.Exception @@ -27,7 +28,7 @@ data PipeReader = PipeReader String String instance Exec PipeReader where alias (PipeReader _ a) = a start (PipeReader p _) cb = do - let (def, pipe) = split ':' p + (def, pipe) <- split ':' <$> expandEnv p unless (null def) (cb def) checkPipe pipe h <- openFile pipe ReadWriteMode |