【问题标题】:GTk Application primary to remote instance communicationGTk 应用程序主要与远程实例通信
【发布时间】:2016-07-13 15:03:07
【问题描述】:

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

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

通过这种方式,我们从命令行发送参数相同的 Gtk 应用程序,这非常棒。

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

我正在使用 python。

【问题讨论】:

  • 您是在问第二个应用程序是否可以在死前向第一个应用程序发送数据?
  • @oldtechaa 任何新实例都会检查主实例并将命令行参数发送到主实例。之后它就死了,任务由主实例处理。我需要一些从主实例返回到远程/正常实例的反馈消息,这样用户就不会感到困惑。

标签: gtk gtk3


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2020-01-24
    • 2022-10-15
    • 2012-12-03
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    • 2012-02-02
    • 2020-05-02
    • 2012-03-10
    相关资源
    最近更新 更多