diff options
author | Andrew Tropin <andrew@trop.in> | 2023-07-27 16:43:17 +0200 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2023-07-27 16:43:17 +0200 |
commit | 42a911c61e67caa807750cd40887b729f09aaf52 (patch) | |
tree | b3af85c6de4cf3665e81ec700a8669890e70ce8c | |
parent | 184fc9b0200cf991c250bb3d6b158eaea2ee7806 (diff) | |
download | emacs-42a911c61e67caa807750cd40887b729f09aaf52.tar.gz emacs-42a911c61e67caa807750cd40887b729f09aaf52.tar.bz2 emacs-42a911c61e67caa807750cd40887b729f09aaf52.zip |
notifications: Allow to use Icon Naming Specification for app-icon
* doc/lispref/os.texi (Desktop Notifications): Extend meaning of
:app-icon.
* etc/NEWS: Allow to use Icon Naming Specification for app-icon in
notifications-notify.
* lisp/notifications.el (notifications-notify): Allow to use Icon
Naming Specification for app-icon.
-rw-r--r-- | doc/lispref/os.texi | 7 | ||||
-rw-r--r-- | etc/NEWS | 10 | ||||
-rw-r--r-- | lisp/notifications.el | 11 |
3 files changed, 27 insertions, 1 deletions
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 @@ must be the result of a previous @code{notifications-notify} call. @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 @@ -567,6 +567,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 @@ Various PARAMS can be set: :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 @@ of another `notifications-notify' call." 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 |