diff --git a/src/QBar/Cli.hs b/src/QBar/Cli.hs index 1d6c7e20d8963fc086be669e16ce72a1c5295bab..779610e7f90009e863ddefcd656164e99b9e0f87 100644 --- a/src/QBar/Cli.hs +++ b/src/QBar/Cli.hs @@ -2,6 +2,7 @@ module QBar.Cli where +import QBar.Blocks import QBar.Blocks.Pipe import QBar.ControlSocket import QBar.Core @@ -55,9 +56,14 @@ pipeBlockParser = do barConfigurationParser :: Parser (BarIO ()) barConfigurationParser = do - blocks <- many $ hsubparser ( - command "default" (info (pure defaultBarConfig) (progDesc "Load default set of blocks.")) - ) + blocks <- many blockParser pure $ case blocks of + -- Load default config if no blocks are selected on the command line [] -> defaultBarConfig l -> sequence_ l + +blockParser :: Parser (BarIO ()) +blockParser = hsubparser ( + command "default" (info (pure defaultBarConfig) (progDesc "Load default set of blocks.")) <> + command "date" (info (pure $ addBlock dateBlock) (progDesc "Load the date and time block.")) + )