all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andrew Tropin <andrew@trop.in>
To: emacs-devel@gnu.org
Subject: [PATCH v3] notifications: Allow to use Icon Naming Specification for app-icon
Date: Wed, 26 Jul 2023 15:59:48 +0400	[thread overview]
Message-ID: <87fs5a6fyj.fsf@trop.in> (raw)
In-Reply-To: <877cqpsnct.fsf@trop.in>

[-- Attachment #1: Type: text/plain, Size: 2984 bytes --]

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.
---
Changes since v2: updated NEWS and os.texi.
 doc/lispref/os.texi   | 3 +++
 etc/NEWS              | 7 +++++++
 lisp/notifications.el | 8 +++++++-
 3 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 4bcc9d5fea6..efa89fa387c 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -2885,6 +2885,9 @@ 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 value is a string @code{expand-file-name} will be applied, if value
+is a symbol it will be used as is (helpful when using 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..e1a5cbf0340 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -548,6 +548,13 @@ 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.
+Symbol can be used as a value for :app-icon to provide icon name
+without specifying a file.
+
 \f
 * New Modes and Packages in Emacs 30.1
 
diff --git a/lisp/notifications.el b/lisp/notifications.el
index 984ddbec5e9..13353264de3 100644
--- a/lisp/notifications.el
+++ b/lisp/notifications.el
@@ -137,6 +137,9 @@ notifications-notify
  :app-icon       The notification icon.
                  Default is `notifications-application-icon'.
                  Set to nil if you do not want any icon displayed.
+                 If value is a string expand-file-name will be
+                 applied, if value is a symbol it will be used as
+                 is (helpful when using Icon Naming Specification).
  :actions        A list of actions in the form:
                    (KEY TITLE KEY TITLE ...)
                  where KEY and TITLE are both strings.
@@ -304,7 +307,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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]

  parent reply	other threads:[~2023-07-26 11:59 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-24  8:39 [PATCH] notifications: Don't expand-file-name app-icon Andrew Tropin
2023-07-24  8:39 ` [PATCH v2] notifications: Allow to use Icon Naming Specification for app-icon Andrew Tropin
2023-07-24 12:35 ` [PATCH] notifications: Don't expand-file-name app-icon Eli Zaretskii
2023-07-25  4:39   ` Andrew Tropin
2023-07-25 12:01     ` Eli Zaretskii
2023-07-25 12:59       ` Dmitry Gutov
2023-07-25 13:41         ` Andrew Tropin
2023-07-25 14:05           ` Eli Zaretskii
2023-07-25 16:48             ` Dmitry Gutov
2023-07-25 17:40               ` Eli Zaretskii
2023-07-25 19:09                 ` Michael Albinus
2023-07-25 19:18                   ` Eli Zaretskii
2023-07-26  7:05                     ` Michael Albinus
2023-07-26 11:16                       ` Eli Zaretskii
2023-07-26 12:36                         ` Matthias Meulien
2023-07-26 13:14                           ` Michael Albinus
2023-07-26 17:46                             ` Matthias Meulien
2023-07-25 13:48         ` Eli Zaretskii
2023-07-25 10:43   ` Michael Albinus
2023-07-25 12:51     ` Eli Zaretskii
2023-07-25 13:51       ` Andrew Tropin
2023-07-25 14:47         ` Michael Albinus
2023-07-26  6:47           ` Andrew Tropin
2023-07-26  7:13             ` Michael Albinus
2023-07-26 12:05               ` Andrew Tropin
2023-07-26 11:59 ` Andrew Tropin [this message]
2023-07-26 15:23   ` [PATCH v3] notifications: Allow to use Icon Naming Specification for app-icon Eli Zaretskii
2023-07-26 17:46   ` Michael Albinus
2023-07-27  8:38     ` Andrew Tropin
2023-07-27  8:03 ` [PATCH v4] " Andrew Tropin
2023-07-27 11:49   ` Michael Albinus
2023-07-27 12:43     ` Eli Zaretskii
2023-07-27 14:59       ` Michael Albinus
2023-07-28  5:23         ` Andrew Tropin
2023-07-28  7:24           ` Michael Albinus
2023-07-28 11:07             ` Eli Zaretskii
2023-07-28 11:15               ` Michael Albinus

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87fs5a6fyj.fsf@trop.in \
    --to=andrew@trop.in \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.