summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAylur <[email protected]>2025-03-17 14:45:06 +0100
committernoname <[email protected]>2025-04-25 01:19:20 +1000
commit9d65907924ea2d4161f72c45bce5cf5b144ad0a4 (patch)
tree0109c1cbbaefec654950fbce8cafa395c547aba4
parent8679d4d3e80010ea2f7beadf2db86a9a35330b1a (diff)
fix: battery cli flush output
-rw-r--r--lib/battery/cli.vala14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/battery/cli.vala b/lib/battery/cli.vala
index c51264b..96b198a 100644
--- a/lib/battery/cli.vala
+++ b/lib/battery/cli.vala
@@ -1,11 +1,13 @@
static bool help;
static bool version;
static bool monitor;
+static bool pretty;
const OptionEntry[] options = {
{ "version", 'v', OptionFlags.NONE, OptionArg.NONE, ref version, null, null },
{ "help", 'h', OptionFlags.NONE, OptionArg.NONE, ref help, null, null },
{ "monitor", 'm', OptionFlags.NONE, OptionArg.NONE, ref monitor, null, null },
+ { "pretty", 'p', OptionFlags.NONE, OptionArg.NONE, ref pretty, null, null },
{ null },
};
@@ -28,6 +30,7 @@ int main(string[] argv) {
print(" -h, --help Print this help and exit\n");
print(" -v, --version Print version number and exit\n");
print(" -m, --monitor Monitor property changes\n");
+ print(" -p, --pretty Pretty print json output\n");
return 0;
}
@@ -37,14 +40,17 @@ int main(string[] argv) {
}
var battery = AstalBattery.get_default();
- print("%s\n", Json.gobject_to_data(battery, null));
+ print_state(battery);
if (monitor) {
- battery.notify.connect(() => {
- print("%s\n", Json.gobject_to_data(battery, null));
- });
+ battery.notify.connect(() => { print_state(battery); });
new GLib.MainLoop(null, false).run();
}
return 0;
}
+
+void print_state(AstalBattery.Device battery) {
+ stdout.printf("%s\n", Json.to_string(Json.gobject_serialize(battery), pretty));
+ stdout.flush();
+}