1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-31 04:41:23 -08:00

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.
This commit is contained in:
Andrew Tropin 2023-07-27 16:43:17 +02:00 committed by Michael Albinus
parent 184fc9b020
commit 42a911c61e
3 changed files with 27 additions and 1 deletions

View file

@ -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

View file

@ -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

View file

@ -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