From 3d021e90787eed1becf95d750d5799a9746f0791 Mon Sep 17 00:00:00 2001
From: "J. Konrad Tegtmeier-Rottach" <jktr@0x16.de>
Date: Tue, 2 May 2023 23:59:45 +0200
Subject: [PATCH] Add export lists to modules

---
 qbar/app/Main.hs                       |  2 +-
 qbar/src/QBar/BlockHelper.hs           | 19 ++++++++-
 qbar/src/QBar/BlockOutput.hs           | 39 +++++++++++++++++-
 qbar/src/QBar/Blocks.hs                | 27 ++++++------
 qbar/src/QBar/Blocks/Battery.hs        |  4 +-
 qbar/src/QBar/Blocks/CpuUsage.hs       |  4 +-
 qbar/src/QBar/Blocks/Date.hs           |  4 +-
 qbar/src/QBar/Blocks/DiskUsage.hs      |  4 +-
 qbar/src/QBar/Blocks/NetworkManager.hs |  6 ++-
 qbar/src/QBar/Blocks/Pipe.hs           |  4 +-
 qbar/src/QBar/Blocks/Qubes.hs          |  6 ++-
 qbar/src/QBar/Blocks/Script.hs         |  5 ++-
 qbar/src/QBar/Blocks/Squeekboard.hs    |  4 +-
 qbar/src/QBar/Blocks/Utils.hs          |  8 +++-
 qbar/src/QBar/Cli.hs                   |  4 +-
 qbar/src/QBar/Color.hs                 |  6 ++-
 qbar/src/QBar/ControlSocket.hs         | 15 ++++++-
 qbar/src/QBar/Core.hs                  | 45 ++++++++++++++++++--
 qbar/src/QBar/DefaultConfig.hs         |  4 +-
 qbar/src/QBar/Host.hs                  | 12 +++++-
 qbar/src/QBar/Pango.hs                 |  5 ++-
 qbar/src/QBar/Prelude.hs               | 57 +++++++++++++-------------
 qbar/src/QBar/Qubes/AdminAPI.hs        | 17 +++++++-
 qbar/src/QBar/Server.hs                |  5 ++-
 qbar/src/QBar/TagParser.hs             |  7 +++-
 qbar/src/QBar/Theme.hs                 | 15 ++++++-
 qbar/src/QBar/Time.hs                  | 15 ++++++-
 qbar/src/QBar/Utils.hs                 |  7 +++-
 28 files changed, 278 insertions(+), 72 deletions(-)

diff --git a/qbar/app/Main.hs b/qbar/app/Main.hs
index c0e6c83..3631ce6 100644
--- a/qbar/app/Main.hs
+++ b/qbar/app/Main.hs
@@ -1,4 +1,4 @@
-module Main where
+module Main (main) where
 
 import QBar.Cli
 import QBar.Prelude
diff --git a/qbar/src/QBar/BlockHelper.hs b/qbar/src/QBar/BlockHelper.hs
index 6707c2a..0a3ff06 100644
--- a/qbar/src/QBar/BlockHelper.hs
+++ b/qbar/src/QBar/BlockHelper.hs
@@ -1,4 +1,21 @@
-module QBar.BlockHelper where
+module QBar.BlockHelper (
+  PollBlock',
+  PollBlock,
+  PollSignal,
+  Signal(..),
+  SignalBlock,
+  SignalBlockConfiguration(..),
+  respondBlockUpdate,
+  respondEmptyBlockUpdate,
+  runPollBlock',
+  runPollBlock,
+  runSignalBlock,
+  runSignalBlockConfiguration,
+  runSignalBlockFn',
+  runSignalBlockFn,
+  yieldBlockUpdate,
+  yieldEmptyBlockUpdate,
+) where
 
 import QBar.BlockOutput
 import QBar.Core
diff --git a/qbar/src/QBar/BlockOutput.hs b/qbar/src/QBar/BlockOutput.hs
index 35b1016..551a2e6 100644
--- a/qbar/src/QBar/BlockOutput.hs
+++ b/qbar/src/QBar/BlockOutput.hs
@@ -1,6 +1,43 @@
 {-# LANGUAGE TemplateHaskell #-}
 
-module QBar.BlockOutput where
+module QBar.BlockOutput (
+  BlockOutput(..),
+  BlockText(..),
+  BlockTextSegment(..),
+  Importance(..),
+  activeImportantText,
+  activeText,
+  addIcon,
+  blockName,
+  criticalImportant',
+  criticalImportant,
+  emptyBlock,
+  errorImportant',
+  errorImportant,
+  fullText,
+  importantText,
+  invalid,
+  invalidateBlock,
+  isCritical,
+  isError,
+  isNormal,
+  isWarning,
+  mkBlockOutput',
+  mkBlockOutput,
+  mkErrorOutput,
+  mkStyledText,
+  mkText,
+  normalImportant',
+  normalImportant,
+  normalText,
+  printedLength,
+  rawText,
+  shortText,
+  surroundWith,
+  toImportance,
+  warnImportant',
+  warnImportant,
+) where
 
 import QBar.Color
 import QBar.Prelude
diff --git a/qbar/src/QBar/Blocks.hs b/qbar/src/QBar/Blocks.hs
index 1dccb3a..03db1c6 100644
--- a/qbar/src/QBar/Blocks.hs
+++ b/qbar/src/QBar/Blocks.hs
@@ -1,17 +1,16 @@
-module QBar.Blocks
-  ( QBar.Blocks.Battery.batteryBlock,
-    QBar.Blocks.CpuUsage.cpuUsageBlock,
-    QBar.Blocks.Date.dateBlock,
-    QBar.Blocks.DiskUsage.diskUsageBlock,
-    QBar.Blocks.NetworkManager.networkManagerBlock,
-    QBar.Blocks.Qubes.diskUsageQubesBlock,
-    QBar.Blocks.Qubes.qubesMonitorPropertyBlock,
-    QBar.Blocks.Qubes.qubesVMCountBlock,
-    QBar.Blocks.Script.scriptBlock,
-    QBar.Blocks.Script.pollScriptBlock,
-    QBar.Blocks.Squeekboard.squeekboardBlock,
-  )
-where
+module QBar.Blocks (
+  QBar.Blocks.Battery.batteryBlock,
+  QBar.Blocks.CpuUsage.cpuUsageBlock,
+  QBar.Blocks.Date.dateBlock,
+  QBar.Blocks.DiskUsage.diskUsageBlock,
+  QBar.Blocks.NetworkManager.networkManagerBlock,
+  QBar.Blocks.Qubes.diskUsageQubesBlock,
+  QBar.Blocks.Qubes.qubesMonitorPropertyBlock,
+  QBar.Blocks.Qubes.qubesVMCountBlock,
+  QBar.Blocks.Script.scriptBlock,
+  QBar.Blocks.Script.pollScriptBlock,
+  QBar.Blocks.Squeekboard.squeekboardBlock,
+) where
 
 import qualified QBar.Blocks.Battery
 import qualified QBar.Blocks.CpuUsage
diff --git a/qbar/src/QBar/Blocks/Battery.hs b/qbar/src/QBar/Blocks/Battery.hs
index a93b6f8..b9d32f9 100644
--- a/qbar/src/QBar/Blocks/Battery.hs
+++ b/qbar/src/QBar/Blocks/Battery.hs
@@ -1,4 +1,6 @@
-module QBar.Blocks.Battery where
+module QBar.Blocks.Battery (
+  batteryBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.Core
diff --git a/qbar/src/QBar/Blocks/CpuUsage.hs b/qbar/src/QBar/Blocks/CpuUsage.hs
index f74b05b..a3ffb0a 100644
--- a/qbar/src/QBar/Blocks/CpuUsage.hs
+++ b/qbar/src/QBar/Blocks/CpuUsage.hs
@@ -1,6 +1,8 @@
 {-# LANGUAGE TemplateHaskell #-}
 
-module QBar.Blocks.CpuUsage where
+module QBar.Blocks.CpuUsage (
+  cpuUsageBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.BlockOutput
diff --git a/qbar/src/QBar/Blocks/Date.hs b/qbar/src/QBar/Blocks/Date.hs
index b60119e..9194dac 100644
--- a/qbar/src/QBar/Blocks/Date.hs
+++ b/qbar/src/QBar/Blocks/Date.hs
@@ -1,4 +1,6 @@
-module QBar.Blocks.Date where
+module QBar.Blocks.Date (
+  dateBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.BlockOutput
diff --git a/qbar/src/QBar/Blocks/DiskUsage.hs b/qbar/src/QBar/Blocks/DiskUsage.hs
index e93adc8..ebdf1c7 100644
--- a/qbar/src/QBar/Blocks/DiskUsage.hs
+++ b/qbar/src/QBar/Blocks/DiskUsage.hs
@@ -1,4 +1,6 @@
-module QBar.Blocks.DiskUsage where
+module QBar.Blocks.DiskUsage (
+  diskUsageBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.BlockOutput
diff --git a/qbar/src/QBar/Blocks/NetworkManager.hs b/qbar/src/QBar/Blocks/NetworkManager.hs
index 7aca6e6..6c84053 100644
--- a/qbar/src/QBar/Blocks/NetworkManager.hs
+++ b/qbar/src/QBar/Blocks/NetworkManager.hs
@@ -1,4 +1,8 @@
-module QBar.Blocks.NetworkManager where
+module QBar.Blocks.NetworkManager (
+  getDBusProperty,
+  networkManagerBlock,
+  runExceptT_,
+) where
 
 import Control.Monad.Except (ExceptT, MonadError, runExceptT, throwError)
 import qualified DBus
diff --git a/qbar/src/QBar/Blocks/Pipe.hs b/qbar/src/QBar/Blocks/Pipe.hs
index 05b26a9..57183a9 100644
--- a/qbar/src/QBar/Blocks/Pipe.hs
+++ b/qbar/src/QBar/Blocks/Pipe.hs
@@ -1,4 +1,6 @@
-module QBar.Blocks.Pipe where
+module QBar.Blocks.Pipe (
+  runPipeClient,
+) where
 
 import QBar.ControlSocket
 import QBar.Core
diff --git a/qbar/src/QBar/Blocks/Qubes.hs b/qbar/src/QBar/Blocks/Qubes.hs
index 092907a..52b4c33 100644
--- a/qbar/src/QBar/Blocks/Qubes.hs
+++ b/qbar/src/QBar/Blocks/Qubes.hs
@@ -1,4 +1,8 @@
-module QBar.Blocks.Qubes where
+module QBar.Blocks.Qubes (
+  diskUsageQubesBlock,
+  qubesMonitorPropertyBlock,
+  qubesVMCountBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.BlockOutput
diff --git a/qbar/src/QBar/Blocks/Script.hs b/qbar/src/QBar/Blocks/Script.hs
index 3d1ffbd..0f3bae9 100644
--- a/qbar/src/QBar/Blocks/Script.hs
+++ b/qbar/src/QBar/Blocks/Script.hs
@@ -1,4 +1,7 @@
-module QBar.Blocks.Script where
+module QBar.Blocks.Script (
+  pollScriptBlock,
+  scriptBlock,
+) where
 
 import QBar.BlockHelper
 import QBar.BlockOutput
diff --git a/qbar/src/QBar/Blocks/Squeekboard.hs b/qbar/src/QBar/Blocks/Squeekboard.hs
index 9b6b896..3b8262e 100644
--- a/qbar/src/QBar/Blocks/Squeekboard.hs
+++ b/qbar/src/QBar/Blocks/Squeekboard.hs
@@ -1,4 +1,6 @@
-module QBar.Blocks.Squeekboard where
+module QBar.Blocks.Squeekboard (
+  squeekboardBlock,
+) where
 
 import Control.Monad.Except (MonadError)
 import Data.Either (isRight)
diff --git a/qbar/src/QBar/Blocks/Utils.hs b/qbar/src/QBar/Blocks/Utils.hs
index c894acc..2a3b3be 100644
--- a/qbar/src/QBar/Blocks/Utils.hs
+++ b/qbar/src/QBar/Blocks/Utils.hs
@@ -1,4 +1,10 @@
-module QBar.Blocks.Utils where
+module QBar.Blocks.Utils (
+  ensure,
+  formatFloatN,
+  parseFile,
+  tryMaybe',
+  tryMaybe,
+) where
 
 import QBar.Prelude
 
diff --git a/qbar/src/QBar/Cli.hs b/qbar/src/QBar/Cli.hs
index 4689340..d4e6d64 100644
--- a/qbar/src/QBar/Cli.hs
+++ b/qbar/src/QBar/Cli.hs
@@ -1,7 +1,9 @@
 {-# LANGUAGE ApplicativeDo #-}
 {-# LANGUAGE TemplateHaskell #-}
 
-module QBar.Cli where
+module QBar.Cli (
+  runQBar,
+) where
 
 import QBar.Blocks
 import QBar.Blocks.Pipe
diff --git a/qbar/src/QBar/Color.hs b/qbar/src/QBar/Color.hs
index 1b79b23..b39faf5 100644
--- a/qbar/src/QBar/Color.hs
+++ b/qbar/src/QBar/Color.hs
@@ -1,4 +1,8 @@
-module QBar.Color where
+module QBar.Color (
+  Color(..),
+  colorParser,
+  hexColorText,
+) where
 
 import QBar.Prelude
 
diff --git a/qbar/src/QBar/ControlSocket.hs b/qbar/src/QBar/ControlSocket.hs
index 4986dec..ce2665f 100644
--- a/qbar/src/QBar/ControlSocket.hs
+++ b/qbar/src/QBar/ControlSocket.hs
@@ -1,7 +1,18 @@
 {-# LANGUAGE CPP #-}
 {-# LANGUAGE TemplateHaskell #-}
-
-module QBar.ControlSocket where
+{-# LANGUAGE TypeFamilies #-}
+
+module QBar.ControlSocket (
+  Command(..),
+  CommandResult(..),
+  Down,
+  Up,
+  addServerMirrorStream,
+  listenUnixSocketAsync,
+  sendBlockStream,
+  sendBlockStreamStdio,
+  sendIpc,
+) where
 
 import QBar.BlockOutput
 import QBar.Core
diff --git a/qbar/src/QBar/Core.hs b/qbar/src/QBar/Core.hs
index 945c479..6e35ca8 100644
--- a/qbar/src/QBar/Core.hs
+++ b/qbar/src/QBar/Core.hs
@@ -1,6 +1,45 @@
-{-# LANGUAGE TemplateHaskell #-}
-
-module QBar.Core where
+module QBar.Core (
+  Bar(..),
+  BarIO,
+  BarUpdateChannel(..),
+  BarUpdateEvent,
+  Block',
+  Block,
+  BlockCache,
+  BlockEvent(..),
+  BlockEventHandler,
+  BlockState,
+  BlockUpdate,
+  BlockUpdateReason(..),
+  ExitBlock(..),
+  IsCachable(..),
+  MainOptions(..),
+  MonadBarIO(..),
+  addBlock,
+  addBlockCache,
+  askBar,
+  autoPadding,
+  barAsync,
+  defaultInterval,
+  exitBlock,
+  hasEventHandler,
+  invalidateBlockState,
+  mkBlockState',
+  mkBlockState,
+  modify,
+  newCache',
+  newCache,
+  newCacheIO,
+  pushBlockUpdate',
+  pushBlockUpdate,
+  pushEmptyBlockUpdate,
+  runBarIO,
+  updateBar',
+  updateBar,
+  updateBarDefault',
+  updateBarDefault,
+  updateEventHandler,
+) where
 
 import QBar.BlockOutput
 import QBar.Prelude
diff --git a/qbar/src/QBar/DefaultConfig.hs b/qbar/src/QBar/DefaultConfig.hs
index 8743526..0193190 100644
--- a/qbar/src/QBar/DefaultConfig.hs
+++ b/qbar/src/QBar/DefaultConfig.hs
@@ -1,4 +1,6 @@
-module QBar.DefaultConfig where
+module QBar.DefaultConfig (
+  defaultBarConfig
+) where
 
 import QBar.Blocks
 import QBar.Core
diff --git a/qbar/src/QBar/Host.hs b/qbar/src/QBar/Host.hs
index db47100..1696562 100644
--- a/qbar/src/QBar/Host.hs
+++ b/qbar/src/QBar/Host.hs
@@ -1,4 +1,14 @@
-module QBar.Host where
+module QBar.Host (
+  HostHandle(..),
+  attachBarOutput,
+  eventDispatcher,
+  filterDuplicates,
+  installSignalHandlers,
+  requestBarUpdateHandler,
+  runBarHost',
+  runBarHost,
+  runBlocks,
+) where
 
 import QBar.BlockOutput
 import QBar.Core
diff --git a/qbar/src/QBar/Pango.hs b/qbar/src/QBar/Pango.hs
index bbfa830..4be97b7 100644
--- a/qbar/src/QBar/Pango.hs
+++ b/qbar/src/QBar/Pango.hs
@@ -1,4 +1,7 @@
-module QBar.Pango (PangoText, renderPango) where
+module QBar.Pango (
+  PangoText,
+  renderPango,
+) where
 
 import QBar.Color
 import QBar.Prelude
diff --git a/qbar/src/QBar/Prelude.hs b/qbar/src/QBar/Prelude.hs
index efa8046..5fcd403 100644
--- a/qbar/src/QBar/Prelude.hs
+++ b/qbar/src/QBar/Prelude.hs
@@ -1,32 +1,31 @@
-module QBar.Prelude
-  ( module Prelude,
-    ByteString.ByteString,
-    (>=>),
-    (<=<),
-    Control.Monad.forever,
-    Control.Monad.unless,
-    Control.Monad.void,
-    Control.Monad.when,
-    Control.Monad.IO.Class.MonadIO,
-    Control.Monad.IO.Class.liftIO,
-    Text.Text,
-    Maybe.listToMaybe,
-    error,
-    errorWithoutStackTrace,
-    head,
-    intercalate,
-    trace,
-    traceId,
-    traceShow,
-    traceShowId,
-    traceM,
-    traceShowM,
-    traceIO,
-    traceShowIO,
-    traceShowIdIO,
-    undefined,
-  )
-where
+module QBar.Prelude (
+  module Prelude,
+  (<=<),
+  (>=>),
+  ByteString.ByteString,
+  Control.Monad.IO.Class.MonadIO,
+  Control.Monad.IO.Class.liftIO,
+  Control.Monad.forever,
+  Control.Monad.unless,
+  Control.Monad.void,
+  Control.Monad.when,
+  Maybe.listToMaybe,
+  Text.Text,
+  error,
+  errorWithoutStackTrace,
+  head,
+  intercalate,
+  trace,
+  traceIO,
+  traceId,
+  traceM,
+  traceShow,
+  traceShowIO,
+  traceShowId,
+  traceShowIdIO,
+  traceShowM,
+  undefined,
+) where
 
 import Prelude hiding
   ( error,
diff --git a/qbar/src/QBar/Qubes/AdminAPI.hs b/qbar/src/QBar/Qubes/AdminAPI.hs
index ae8b088..fe6866c 100644
--- a/qbar/src/QBar/Qubes/AdminAPI.hs
+++ b/qbar/src/QBar/Qubes/AdminAPI.hs
@@ -1,4 +1,19 @@
-module QBar.Qubes.AdminAPI where
+module QBar.Qubes.AdminAPI (
+  QubesPropertyInfo(..),
+  QubesVMInfo(..),
+  QubesVMState(..),
+  printEvents,
+  qubesEvents,
+  qubesGetProperty,
+  qubesListLabelNames,
+  qubesListLabels,
+  qubesListProperties,
+  qubesListVMs,
+  qubesListVMsP,
+  qubesMonitorProperty,
+  qubesUsageOfDefaultPool,
+  qubesVMStats,
+) where
 
 import QBar.Prelude
 
diff --git a/qbar/src/QBar/Server.hs b/qbar/src/QBar/Server.hs
index ff8d4d8..d31a7d3 100644
--- a/qbar/src/QBar/Server.hs
+++ b/qbar/src/QBar/Server.hs
@@ -1,4 +1,7 @@
-module QBar.Server where
+module QBar.Server (
+  runBarServer,
+  runBarServerMirror,
+) where
 
 import QBar.BlockOutput
 import QBar.Core
diff --git a/qbar/src/QBar/TagParser.hs b/qbar/src/QBar/TagParser.hs
index a81c59c..1eb6051 100644
--- a/qbar/src/QBar/TagParser.hs
+++ b/qbar/src/QBar/TagParser.hs
@@ -1,4 +1,9 @@
-module QBar.TagParser where
+module QBar.TagParser (
+  TagState,
+  parseTags,
+  parseTags',
+  parseTags'',
+) where
 
 import QBar.BlockOutput
 import QBar.Color
diff --git a/qbar/src/QBar/Theme.hs b/qbar/src/QBar/Theme.hs
index cb51850..feb9ef5 100644
--- a/qbar/src/QBar/Theme.hs
+++ b/qbar/src/QBar/Theme.hs
@@ -1,4 +1,17 @@
-module QBar.Theme where
+module QBar.Theme (
+  Theme(..),
+  ThemedBlockOutput(..),
+  ThemedBlockText(..),
+  ThemedBlockTextSegment(..),
+  defaultTheme,
+  findTheme,
+  isAnimated,
+  mkTheme,
+  mkThemedBlockOutput,
+  themeNames,
+  themes,
+  whiteThemedBlockOutput,
+) where
 
 import QBar.BlockOutput
 import QBar.Color
diff --git a/qbar/src/QBar/Time.hs b/qbar/src/QBar/Time.hs
index c57d297..b205165 100644
--- a/qbar/src/QBar/Time.hs
+++ b/qbar/src/QBar/Time.hs
@@ -1,6 +1,19 @@
 {-# LANGUAGE OverloadedLists #-}
 
-module QBar.Time (SleepScheduler, HasSleepScheduler(..), Interval(..), createSleepScheduler, sleepUntil, sleepUntil', sleepUntilInterval, sleepUntilInterval', everyMinute, everyNSeconds, nextIntervalTime, humanReadableInterval) where
+module QBar.Time (
+  HasSleepScheduler(..),
+  Interval(..),
+  SleepScheduler,
+  createSleepScheduler,
+  everyMinute,
+  everyNSeconds,
+  humanReadableInterval,
+  nextIntervalTime,
+  sleepUntil',
+  sleepUntil,
+  sleepUntilInterval',
+  sleepUntilInterval,
+) where
 
 import QBar.Prelude
 
diff --git a/qbar/src/QBar/Utils.hs b/qbar/src/QBar/Utils.hs
index ca0c2fc..b5442e6 100644
--- a/qbar/src/QBar/Utils.hs
+++ b/qbar/src/QBar/Utils.hs
@@ -1,4 +1,9 @@
-module QBar.Utils where
+module QBar.Utils (
+  mkBroadcastCacheP,
+  mkBroadcastP,
+  randomIdentifier,
+  signalEventPipe,
+) where
 
 import QBar.Prelude
 
-- 
GitLab