diff options
Diffstat (limited to 'src/Rahm/Desktop/XMobarLog')
| -rw-r--r-- | src/Rahm/Desktop/XMobarLog/PendingBuffer.hs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs index 28ba9a8..67ae6a3 100644 --- a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs +++ b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs @@ -8,6 +8,7 @@ module Rahm.Desktop.XMobarLog.PendingBuffer ) where +import Rahm.Desktop.Common import Data.Default (Default (..)) import XMonad (X) import qualified XMonad as X @@ -54,14 +55,14 @@ clearPendingBuffer = do getPendingBuffer :: X [Char] getPendingBuffer = unPendingBuffer <$> XS.get -pushPendingBuffer :: String -> X a -> X a +pushPendingBuffer :: (Xish x) => String -> x a -> x a pushPendingBuffer newPendingBuffer fn = do - saved <- getPendingBuffer - setPendingBuffer newPendingBuffer - fn <* setPendingBuffer saved + saved <- liftFromX getPendingBuffer + liftFromX $ setPendingBuffer newPendingBuffer + fn <* liftFromX (setPendingBuffer saved) -pushAddPendingBuffer :: String -> X a -> X a +pushAddPendingBuffer :: (Xish x) => String -> x a -> x a pushAddPendingBuffer toAdd fn = do - saved <- getPendingBuffer - setPendingBuffer (saved ++ toAdd) - fn <* setPendingBuffer saved + saved <- liftFromX getPendingBuffer + liftFromX $ setPendingBuffer (saved ++ toAdd) + fn <* liftFromX (setPendingBuffer saved) |