From 2865d49d47164bcea4257f00d4a56110ac1550bd Mon Sep 17 00:00:00 2001 From: Benjamin Koch <snowball@c3pb.de> Date: Wed, 16 Dec 2020 01:57:47 +0100 Subject: [PATCH] Add qubesProperty block to CLI --- src/QBar/Blocks.hs | 1 + src/QBar/Cli.hs | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/QBar/Blocks.hs b/src/QBar/Blocks.hs index c35892b..b1c15ff 100644 --- a/src/QBar/Blocks.hs +++ b/src/QBar/Blocks.hs @@ -5,6 +5,7 @@ module QBar.Blocks QBar.Blocks.DiskUsage.diskUsageBlock, QBar.Blocks.NetworkManager.networkManagerBlock, QBar.Blocks.Qubes.diskUsageQubesBlock, + QBar.Blocks.Qubes.qubesMonitorPropertyBlock, QBar.Blocks.Script.scriptBlock, QBar.Blocks.Script.pollScriptBlock, ) diff --git a/src/QBar/Cli.hs b/src/QBar/Cli.hs index b9d8f14..4a7a04a 100644 --- a/src/QBar/Cli.hs +++ b/src/QBar/Cli.hs @@ -94,7 +94,8 @@ blockParser = command "disk" (info diskUsageBlockParser (progDesc "Load the disk usage block.")) <> command "networkmanager" (info (pure $ addBlock networkManagerBlock) (progDesc "Load the network-manager block.")) <> command "script" (info scriptBlockParser (progDesc "Display the output of an external script as a block.")) <> - command "diskQubesPool" (info (pure $ addBlock diskUsageQubesBlock) (progDesc "Load a block that shows free space in Qubes' default pool.")) + command "diskQubesPool" (info (pure $ addBlock diskUsageQubesBlock) (progDesc "Load a block that shows free space in Qubes' default pool.")) <> + command "qubesProperty" (info qubesPropertyBlockParser (progDesc "Display the current value of a Qubes property.")) ) diskUsageBlockParser :: Parser (BarIO ()) @@ -118,6 +119,11 @@ scriptBlockParser = helper <*> do script <- strArgument (metavar "SCRIPT" <> help "The script that will be executed with a shell.") return $ (if poll then addBlock . pollScriptBlock pollInterval else addBlock . scriptBlock clickEvents) script +qubesPropertyBlockParser :: Parser (BarIO ()) +qubesPropertyBlockParser = do + name <- strArgument (metavar "NAME" <> help "The NAME of the property.") + return $ addBlock $ qubesMonitorPropertyBlock name + qubesCommandParser :: Parser (MainOptions -> IO ()) qubesCommandParser = hsubparser ( command "stats" (info (pure $ const $ printEvents qubesVMStats) (progDesc "Subscribe to VM stats and print them to stdout.")) <> -- GitLab