【发布时间】:2015-12-30 13:22:00
【问题描述】:
我正在尝试在 Synapse 项目中使用 GLib.Notification api https://code.launchpad.net/~jeremy-munsch/synapse-project/fix-notification/+merge/273323
它正在一些 DE 上工作,除了 gnome-shell。
我的实现基本上是这样的:
var notification = new GLib.Notification (_("Synapse - Pastebin"));
notification.set_body (msg);
var gicon = GLib.Icon.new_for_string ("synapse");
notification.set_icon (gicon);
GLib.Application.get_default ().send_notification (null, notification);
我看到了一些其他相关信息 https://bugzilla.gnome.org/show_bug.cgi?id=710913 https://wiki.gnome.org/HowDoI/GNotification
在最后一个链接:
警告:gnome-shell 使用桌面文件来查找有关通知发件人的额外信息(应用程序图标、名称)。如果您没有基本名称与应用程序 ID 匹配的桌面文件,那么您的通知将不会显示。
我真的不明白这具体意味着/暗示什么。
应用名称为org.gnome.Synapse
.desktop 文件包含:
数据/synapse.desktop.in http://paste.ubuntu.com/13287809/
数据/synapse.desktop http://paste.ubuntu.com/13287846/
那么,使用 GLib.Notification 的先决条件到底是什么? (奖励) .in 的两个桌面文件有什么区别?
【问题讨论】:
-
basename 通常表示没有扩展名和路径的文件名:en.wikipedia.org/wiki/Basename
-
.in文件通常用作 autoconf 的模板(例如 Makefile.in 在运行配置脚本后获取 Makefile)
标签: notifications vala