diff options
author | Aylur <[email protected]> | 2024-07-15 14:51:48 +0200 |
---|---|---|
committer | Aylur <[email protected]> | 2024-07-15 14:51:48 +0200 |
commit | 1a3b14def2b72e03e3b336937113c6410cce0acd (patch) | |
tree | 44adddbcabbf0d3d0502422eeea7462cb28cd615 /src/cli.vala | |
parent | dba97278ae324a0d0707b135682d98746fe1d7a0 (diff) |
add: cli options
* list
* toggle-window
* quit
* inspector
Diffstat (limited to 'src/cli.vala')
-rw-r--r-- | src/cli.vala | 41 |
1 files changed, 38 insertions, 3 deletions
diff --git a/src/cli.vala b/src/cli.vala index 82a99a4..3da4586 100644 --- a/src/cli.vala +++ b/src/cli.vala @@ -1,11 +1,20 @@ private static bool version; private static bool help; +private static bool list; +private static bool quit; +private static bool inspector; +private static string? toggle_window; private static string? instance_name; private const GLib.OptionEntry[] options = { { "version", 'v', OptionFlags.NONE, OptionArg.NONE, ref version, null, null }, { "help", 'h', OptionFlags.NONE, OptionArg.NONE, ref help, null, null }, - { "instance-name", 'i', OptionFlags.NONE, OptionArg.STRING, ref instance_name, null, null }, + { "list", 'l', OptionFlags.NONE, OptionArg.NONE, ref list, null, null }, + { "quit", 'q', OptionFlags.NONE, OptionArg.NONE, ref quit, null, null }, + { "quit", 'q', OptionFlags.NONE, OptionArg.NONE, ref quit, null, null }, + { "inspector", 'I', OptionFlags.NONE, OptionArg.NONE, ref inspector, null, null }, + { "toggle-window", 't', OptionFlags.NONE, OptionArg.STRING, ref toggle_window, null, null }, + { "instance", 'i', OptionFlags.NONE, OptionArg.STRING, ref instance_name, null, null }, { null }, }; @@ -22,13 +31,17 @@ async int main(string[] argv) { } if (help) { - print("Client for the socket of an Astal.Application instance\n\n"); + print("Client for Astal.Application instances\n\n"); print("Usage:\n"); print(" %s [flags] message\n\n", argv[0]); print("Flags:\n"); print(" -h, --help Print this help and exit\n"); print(" -v, --version Print version number and exit\n"); - print(" -i, --instance-name Instance name of the Astal instance\n"); + print(" -l, --list List running Astal instances and exit\n"); + print(" -q, --quit Quit an Astal.Application instance\n"); + print(" -i, --instance Instance name of the Astal instance\n"); + print(" -I, --inspector Open up Gtk debug tool\n"); + print(" -t, --toggle-window Show or hide a window\n"); return 0; } @@ -40,6 +53,28 @@ async int main(string[] argv) { if (instance_name == null) instance_name = "astal"; + if (list) { + foreach (var name in Astal.Application.get_instances()) + stdout.printf("%s\n", name); + + return 0; + } + + if (quit) { + Astal.Application.quit_instance(instance_name); + return 0; + } + + if (inspector) { + Astal.Application.open_inspector(instance_name); + return 0; + } + + if (toggle_window != null) { + Astal.Application.toggle_window_by_name(instance_name, toggle_window); + return 0; + } + var request = ""; for (var i = 1; i < argv.length; ++i) { request = request.concat(" ", argv[i]); |