From a0c280975e46eb65c6872ccb65deb77ced8a31f0 Mon Sep 17 00:00:00 2001
From: Jens Nolte <jens@nightmarestudio.de>
Date: Fri, 28 Feb 2020 17:59:38 +0100
Subject: [PATCH] Add 'updateBlockEmpty' to clear block output

---
 src/QBar/Blocks/Battery.hs | 3 +--
 src/QBar/Core.hs           | 4 ++++
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/QBar/Blocks/Battery.hs b/src/QBar/Blocks/Battery.hs
index cddb65a..f30bc30 100644
--- a/src/QBar/Blocks/Battery.hs
+++ b/src/QBar/Blocks/Battery.hs
@@ -7,7 +7,6 @@ module QBar.Blocks.Battery where
 import QBar.Core
 import QBar.Blocks.Utils
 import QBar.BlockOutput
-import Pipes
 
 import qualified Data.Text.Lazy as T
 import qualified Data.Text.Lazy.IO as TIO
@@ -75,7 +74,7 @@ batteryBlock = forever $ do
 
 
 updateBatteryBlock :: Bool -> [BatteryState] -> Block ()
-updateBatteryBlock _ [] = yield Nothing
+updateBatteryBlock _ [] = updateBlockEmpty
 updateBatteryBlock isPlugged bs = updateBlock $ (shortText.~shortText') $ mkBlockOutput fullText'
   where
     fullText' :: BlockText
diff --git a/src/QBar/Core.hs b/src/QBar/Core.hs
index d318a7f..df61448 100644
--- a/src/QBar/Core.hs
+++ b/src/QBar/Core.hs
@@ -138,6 +138,10 @@ updateBlock blockOutput = liftBlock . yield $ Just (blockOutput, Nothing)
 updateBlock' :: MonadBlock m => BlockEventHandler -> BlockOutput -> m ()
 updateBlock' blockEventHandler blockOutput = liftBlock . yield $ Just (blockOutput, Just blockEventHandler)
 
+-- |Update a block by removing the current output
+updateBlockEmpty :: MonadBlock m => m ()
+updateBlockEmpty = liftBlock . yield $ Nothing
+
 
 mkBlockState :: BlockOutput -> BlockState
 mkBlockState blockOutput = Just (blockOutput, Nothing)
-- 
GitLab