我想在我的应用程序中公开 Ubuntu 的文件管理器操作(每个文件)。
在 Windows 中,您必须解析注册表(相当简单),但我对 Debian 或 Ubuntu 一无所知。我不介意编程工作,我很想知道潜在的快捷方式(shell 命令)。是否有类似 Platform-API 的东西,或者我应该开始查看 Nautilus 源代码?我猜可能某个地方有一个 mime 映射,我可以用 gnome-conf 转储它。
谢谢,欢迎任何提示。
答案1
对于open-with
Nautilus 的使用GTK和吉奥:
GTK 提供程序选择器接口及其在 GUI 中使用的实现。
在较低级别上,GIO 包括以下内容g_file_query_default_handler ()获取文件的默认应用程序,或g_app_info_get_all_for_type ()获取给定 MIME 类型的所有已注册应用程序。
一旦你有了信息网对于您可以使用的应用程序g_app_info_launch ()使用该应用程序打开文件。
根据你使用的编程语言,可能会有更好的文档,例如Python GObject 内省 API 参考
对于 shell 来说xdg-开放使用默认应用程序打开文件,然后xdg-mime使用 MIME 类型来做事。
如果你想了解有关 Linux 上 MIME 处理的所有详细信息,请参阅共享 MIME 信息数据库和MIME 类型和应用程序之间的关联
nautilus-extra-action
包含一些小程序(通常是 shell 脚本)Nautilus 动作扩展。要使用它们,您的程序也需要实现类似 Nautilus-Actions 的功能。