From: Tassilo Horn <tassilo@member.fsf.org>
To: Julien Danjou <julien@danjou.info>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] Add notifications.el
Date: Wed, 9 Jun 2010 21:16:45 +0200 [thread overview]
Message-ID: <201006092116.46374.tassilo@member.fsf.org> (raw)
In-Reply-To: <87ocfkkpgg.fsf@keller.adm.naquadah.org>
Hi!
> > How do I get the id of the closed notification? Wouldn't it be
> > better to pass the id to that function, too?
>
> It'd be possible sure, but I did not think it was worth it nor it
> would have a use case. You can passe a lambda/closure to :on-close,
> can't you?
Not really, cause the ID I need is the return value of the
`notifications-notify', so I cannot use it as parameter to that
function. And elisp doesn't have closures anyway.
> If you have an problematic example maybe we can figure out.
Here's my code:
--8<---------------cut here---------------start------------->8---
(defvar th-notify-body-to-id-map (make-hash-table :test 'string=)
"Maps BODY values of notifications to the last notification ID.
If ID is -1, then any further notifications with that body will
be skipped.")
(defun th-notify (&rest args)
"Create a notification popup.
For ARGS, see `notifications-notify'.
If there was a notification with the same BODY before, that one
will be replaced by the current notification."
(require 'notifications)
(let* ((body (plist-get args :body))
(replace-id (or (gethash body th-notify-body-to-id-map)
(plist-get args :replaces-id))))
(unless (eql replace-id -1)
(puthash
body
(apply 'notifications-notify
(plist-put (plist-put args :replaces-id replace-id)
:timeout 0))
th-notify-body-to-id-map))))
--8<---------------cut here---------------end--------------->8---
So what I want, is that if I delete a notification, there should be a
mapping from :body value to -1 in th-notify-body-to-id-map, so that no
new notifications are performed for that entry.
Bye,
Tassilo
next prev parent reply other threads:[~2010-06-09 19:16 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-05 17:07 [PATCH] Add notifications.el Julien Danjou
2010-06-07 12:12 ` Michael Albinus
2010-06-07 13:31 ` Stefan Monnier
2010-06-07 15:17 ` Julien Danjou
2010-06-07 15:18 ` Julien Danjou
2010-06-07 15:36 ` Michael Albinus
2010-06-07 15:59 ` Julien Danjou
2010-06-07 22:28 ` Davis Herring
2010-06-08 8:08 ` Julien Danjou
2010-06-08 8:45 ` Julien Danjou
2010-06-08 12:42 ` Michael Albinus
2010-06-08 13:07 ` Julien Danjou
2010-06-10 23:16 ` Jan Moringen
2010-06-11 6:46 ` Julien Danjou
[not found] ` <3277_1276238795_o5B6kZER023748_87aar22hj1.fsf@keller.adm.naquadah.org>
2010-06-11 7:30 ` Jan Moringen
2010-06-11 9:15 ` Julien Danjou
2010-06-11 9:27 ` Jan Moringen
2010-06-11 10:25 ` Michael Albinus
2010-06-09 0:37 ` Stefan Monnier
2010-06-09 7:44 ` Michael Albinus
2010-06-09 18:18 ` Tassilo Horn
2010-06-09 18:53 ` Julien Danjou
2010-06-09 19:16 ` Tassilo Horn [this message]
2010-06-09 19:47 ` Julien Danjou
2010-06-09 20:10 ` Tassilo Horn
2010-06-09 20:39 ` Stefan Monnier
2010-06-09 20:58 ` Julien Danjou
2010-06-10 0:26 ` Stefan Monnier
2010-06-10 6:33 ` Tassilo Horn
2010-06-10 7:55 ` Julien Danjou
2010-06-10 8:26 ` Michael Albinus
2010-06-10 8:43 ` [PATCH] Passes notification id as argument of on-action and on-close functions Julien Danjou
2010-06-10 13:00 ` Michael Albinus
2010-06-10 13:08 ` Julien Danjou
2010-06-10 13:25 ` Michael Albinus
2010-06-10 15:20 ` Juri Linkov
2010-06-10 15:45 ` Michael Albinus
2010-06-10 16:56 ` Juri Linkov
2010-06-10 18:41 ` Michael Albinus
2010-06-10 18:53 ` Stefan Monnier
2010-06-10 20:23 ` Juri Linkov
2010-06-11 0:43 ` Stefan Monnier
2010-06-11 6:35 ` Daniel Pittman
2010-06-11 8:07 ` Juri Linkov
2010-06-11 13:20 ` Stefan Monnier
2010-06-11 8:06 ` Juri Linkov
2010-06-11 13:21 ` Stefan Monnier
2010-06-11 14:54 ` Chong Yidong
2010-06-11 15:51 ` Stefan Monnier
2010-06-11 19:14 ` Juri Linkov
2010-06-12 6:20 ` Dan Nicolaescu
2010-06-12 20:10 ` Juri Linkov
2010-06-12 20:49 ` Stefan Monnier
2010-06-14 15:51 ` Juri Linkov
2010-06-14 19:09 ` Stefan Monnier
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=201006092116.46374.tassilo@member.fsf.org \
--to=tassilo@member.fsf.org \
--cc=emacs-devel@gnu.org \
--cc=julien@danjou.info \
/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.