diff --git a/src/QBar/Blocks.hs b/src/QBar/Blocks.hs index c35892b11b3bd570c76cf153c75f922e3bbb6320..b1c15ff8c487a7a5a4f0c1366b3e29edb0107320 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 b9d8f14641cce736e71bbaeed5a77445cebfb296..4a7a04aa12533b9a9054c1f45435284ddf381ac7 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.")) <>