【问题标题】:Show GNOME "Open with" dialog显示 GNOME“打开方式”对话框
【发布时间】:2016-04-10 14:08:03
【问题描述】:

有没有办法以编程方式为给定文件打开“打开方式”对话框?我的意思是当您在 Nautilus 中右键单击文件并选择“打开方式”时出现的对话框。

我最好寻找一个简单的 shell 命令来使用,但 API 或 DBUS 接口也可以工作。我在这台 PC 上坚持使用 GNOME 2.28.2,但也对最近的 GNOME 的解决方案感兴趣。也许甚至有针对多个 Linux 式桌面的标准化解决方案(例如 xdg-open-as)?

我试过gnome-openxdg-open,但都只是使用标准关联,不让我选择应用。

【问题讨论】:

    标签: gnome nautilus xdgutils


    【解决方案1】:

    我不确定我是否理解您的问题。

    如果您希望特定应用程序出现在“打开方式”菜单中,则必须使用 xdg-mime 为该应用程序注册 MIME 类型,然后 Nautilus 将显示它。

    如果您想要一个类似于“打开方式”的菜单,只为特定文件打开,那么您应该编写一个 Nautilus 扩展(例如,在 Python 或 C 中)。在扩展程序的代码中,您可以检查 MIME 类型、是否选择多个等内容。Nautilus 提供对该信息的访问。见How to create nautilus C extensions

    如果您的意思不同,请重新表述您的问题:-)

    【讨论】:

    • 如果您右键单击文件并选择“使用/其他应用程序打开...”,则会打开一个对话框。我不想更改该对话框,但我想从命令行(或其他程序)打开完全相同的对话框。
    【解决方案2】:

    我也找不到这样的命令行工具,所以我做了一个。令人惊讶的是它真的很微不足道。

    https://github.com/timgott/gtk-open-with

    如果您想在 Gtk 中以编程方式执行此操作,只需要几行代码(使用 C++ 绑定的示例):

    auto dialog = Gtk::AppChooserDialog(file);
    int response = dialog.run();
    if (response == Gtk::RESPONSE_OK)
        dialog.get_app_info()->launch(file);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-12
      相关资源
      最近更新 更多