diff --git a/dserial-cli/src/commands/InteractiveCommand.vala b/dserial-cli/src/commands/InteractiveCommand.vala index b3d1ef396516ed32a7e9538c383649317232c4c3..872080f99cff31d6412c705244308f042bb0da2b 100644 --- a/dserial-cli/src/commands/InteractiveCommand.vala +++ b/dserial-cli/src/commands/InteractiveCommand.vala @@ -75,7 +75,7 @@ public class InteractiveCommand : Object, Command state.interactive = true; stdout.printf("dserial: Serial communication program\n"); stdout.printf("License: GPL3+\n"); - stdout.printf("Version: 0.5\n"); + stdout.printf("Version: 0.5.1\t\t\tServer version: %s\n",Serial.get_server_version()); stdout.printf("Write help for help\n"); Readline.History.read(Environment.get_variable("HOME")+"/.dserial-history"); Readline.attempted_completion_function = readline_completion; @@ -87,6 +87,8 @@ public class InteractiveCommand : Object, Command if (line == null) { stdout.printf("\n"); run_func(state,{"exit"}); + Readline.History.write(Environment.get_variable("HOME")+"/.dserial-history"); + Readline.History.truncate_file(Environment.get_variable("HOME")+"/.dserial-history",256); return 0; } Readline.History.add(line); diff --git a/dserial-cli/src/dbus-serial-client.vala b/dserial-cli/src/dbus-serial-client.vala index 8be8bb934d862a2f75b67514767e7e5b21141846..68995d8223475b66cf5965dc1ff4f9e8a36dfbe7 100644 --- a/dserial-cli/src/dbus-serial-client.vala +++ b/dserial-cli/src/dbus-serial-client.vala @@ -112,6 +112,25 @@ public string[] get_ports() { return {}; } +/*===================================== + * Get server version + *=====================================*/ +public string get_server_version() { + if(DEBUG_OUTPUT) stdout.printf("get_server_version\n"); + try { + return GLib.Bus.get_sync(BusType.SESSION).call_sync( + "info.skorepa.DSerial1", + "/controller", + "org.freedesktop.DBus.Properties", + "Get", + new Variant("(ss)","info.skorepa.DSerial1.controller", "ServerVersion"), + null, + DBusCallFlags.NONE, + 1000).get_child_value(0).get_variant().get_string(); + }catch(Error e) {} + return "UNKNOWN"; +} + /*===================================== * Return object name for file name *=====================================*/