diff options
author | Aylur <[email protected]> | 2025-03-17 14:45:06 +0100 |
---|---|---|
committer | noname <[email protected]> | 2025-04-25 01:19:20 +1000 |
commit | 9d65907924ea2d4161f72c45bce5cf5b144ad0a4 (patch) | |
tree | 0109c1cbbaefec654950fbce8cafa395c547aba4 | |
parent | 8679d4d3e80010ea2f7beadf2db86a9a35330b1a (diff) |
fix: battery cli flush output
-rw-r--r-- | lib/battery/cli.vala | 14 |
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(); +} |