[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4] notifications: Allow to use Icon Naming Specification for app
From: |
Andrew Tropin |
Subject: |
[PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon |
Date: |
Thu, 27 Jul 2023 12:03:22 +0400 |
Icon is not always a file name, but can be just an icon name.
https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html
* lisp/notifications.el (notifications-notify): Allow to use Icon
Naming Specification for app-icon.
---
doc/lispref/os.texi | 7 +++++++
etc/NEWS | 10 ++++++++++
lisp/notifications.el | 11 ++++++++++-
3 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 4bcc9d5fea6..ebedfe82087 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -2885,6 +2885,13 @@ Desktop Notifications
@item :app-icon @var{icon-file}
The file name of the notification icon. If set to @code{nil}, no icon
is displayed. The default is @code{notifications-application-icon}.
+If the value is a string, the function interprets it as a file name
+and converts to absolute by using @code{expand-file-name}; if it is a
+symbol, the function will use its name (which is useful when using the
+Icon Naming Specification @footnote{For more information about icon
+naming convention see
+@uref{https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html,
+Icon Naming Specification}}).
@item :actions (@var{key} @var{title} @var{key} @var{title} ...)
A list of actions to be applied. @var{key} and @var{title} are both
diff --git a/etc/NEWS b/etc/NEWS
index 5883b4df2a7..51c7fe6a363 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -548,6 +548,16 @@ Similarly to buffer restoration by Desktop, 'recentf-mode'
checking
of the accessibility of remote files can now time out if
'remote-file-name-access-timeout' is set to a positive number.
+** Notifications
+
++++
+*** Allow to use Icon Naming Specification for app-icon
+You can use a symbol as the value for ':app-icon' to provide icon name
+without specifying a file, like this:
+
+ (notifications-notify
+ :title "I am playing music" :app-icon 'multimedia-player)
+
* New Modes and Packages in Emacs 30.1
diff --git a/lisp/notifications.el b/lisp/notifications.el
index 984ddbec5e9..a694b38e52e 100644
--- a/lisp/notifications.el
+++ b/lisp/notifications.el
@@ -137,6 +137,12 @@ notifications-notify
:app-icon The notification icon.
Default is `notifications-application-icon'.
Set to nil if you do not want any icon displayed.
+ If the value is a string, the function
+ interprets it as a file name and converts to
+ absolute by using `expand-file-name'; if it is a
+ symbol, the function will use its name (which is
+ useful when using the Icon Naming
+ Specification).
:actions A list of actions in the form:
(KEY TITLE KEY TITLE ...)
where KEY and TITLE are both strings.
@@ -304,7 +310,10 @@ notifications-notify
notifications-application-name)
:uint32 (or replaces-id 0)
:string (if app-icon
- (expand-file-name app-icon)
+ (if (stringp app-icon)
+ (expand-file-name app-icon)
+ ;; Convert symbol to string
+ (symbol-name app-icon))
;; If app-icon is nil because user
;; requested it to be so, send the
;; empty string
--
2.41.0
- Re: [PATCH] notifications: Don't expand-file-name app-icon., (continued)
- Re: [PATCH] notifications: Don't expand-file-name app-icon., Michael Albinus, 2023/07/26
- Re: [PATCH] notifications: Don't expand-file-name app-icon., Eli Zaretskii, 2023/07/26
- Re: [PATCH] notifications: Don't expand-file-name app-icon., Matthias Meulien, 2023/07/26
- Re: [PATCH] notifications: Don't expand-file-name app-icon., Michael Albinus, 2023/07/26
- Re: [PATCH] notifications: Don't expand-file-name app-icon., Matthias Meulien, 2023/07/26
[PATCH v2] notifications: Allow to use Icon Naming Specification for app-icon, Andrew Tropin, 2023/07/26
[PATCH v3] notifications: Allow to use Icon Naming Specification for app-icon, Andrew Tropin, 2023/07/26
[PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon,
Andrew Tropin <=
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Michael Albinus, 2023/07/27
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Eli Zaretskii, 2023/07/27
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Michael Albinus, 2023/07/27
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Andrew Tropin, 2023/07/28
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Michael Albinus, 2023/07/28
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Eli Zaretskii, 2023/07/28
- Re: [PATCH v4] notifications: Allow to use Icon Naming Specification for app-icon, Michael Albinus, 2023/07/28