GTk Application主要用于远程实例通信

时间:2016-07-12 05:15:26

标签: gtk gtk3

使用Gtk Application我们可以阻止程序的多个实例。

在创建Gtk应用程序时启用Gio.ApplicationFlags.HANDLES_COMMAND_LINE时,可以从远程实例向主实例发送命令参数。

通过这个我们从命令行发送Arguments相同的Gtk Application,这非常棒。

但是存在问题,是否有任何方法可以将信息返回到远程/正常实例,以便在从命令行执行查询时它可以显示回来。由于远程实例在找到主实例后立即退出。

我正在使用python。

1 个答案:

答案 0 :(得分:0)

是的,但可能不是你想要的方式,所以它会很棘手。这种方法应该有效,但我没有尝试过。

您应该将要从远程实例调用的方法公开为DBus方法。然后覆盖do_local_command_line() vfunc。当它从命令行启动时,它将在远程实例中被调用,并且您将在它们传递给主实例之前处理命令行参数。而不是将它们传递给主实例,而是从参数数组中删除它们。然后在主实例上调用DBus方法并等待响应,然后从do_local_command_line()函数返回。