aboutsummaryrefslogtreecommitdiff
path: root/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
diff options
context:
space:
mode:
authorJosh Rahm <joshuarahm@gmail.com>2022-11-22 00:20:28 -0700
committerJosh Rahm <joshuarahm@gmail.com>2022-11-22 00:20:28 -0700
commit43a880fbbcbd76ad103cf0633bd7bb8a74077556 (patch)
tree2ff333f0e55901dc24542683e8499f6637e8b6a5 /src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
parentb6afd40aad39f2a05fbefae0fe2b080190623023 (diff)
downloadrde-43a880fbbcbd76ad103cf0633bd7bb8a74077556.tar.gz
rde-43a880fbbcbd76ad103cf0633bd7bb8a74077556.tar.bz2
rde-43a880fbbcbd76ad103cf0633bd7bb8a74077556.zip
Better implementation of the pending buffer. Still need to iron out some bugs.
Diffstat (limited to 'src/Rahm/Desktop/XMobarLog/PendingBuffer.hs')
-rw-r--r--src/Rahm/Desktop/XMobarLog/PendingBuffer.hs7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
index 0c00649..1ae298b 100644
--- a/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
+++ b/src/Rahm/Desktop/XMobarLog/PendingBuffer.hs
@@ -46,8 +46,7 @@ clearPendingBuffer = do
getPendingBuffer :: X [Char]
getPendingBuffer = unPendingBuffer <$> XS.get
-withPendingBuffer :: X () -> X ()
+withPendingBuffer :: X a -> X a
withPendingBuffer fn = do
- clearPendingBuffer
- fn
- clearPendingBuffer
+ saved <- getPendingBuffer
+ fn <* setPendingBuffer saved