all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Michael Albinus <michael.albinus@gmx.de>
To: Julien Danjou <julien@danjou.info>
Cc: emacs-devel@gnu.org
Subject: Re: [PATCH] Add notifications.el
Date: Mon, 07 Jun 2010 14:12:07 +0200	[thread overview]
Message-ID: <87ljar3uug.fsf@gmx.de> (raw)
In-Reply-To: 1275757657-15244-1-git-send-email-julien@danjou.info

Julien Danjou <julien@danjou.info> writes:

Hi,

> FYI I've signed the copyright assignment papers.

Looks nice. I have some comments, 'tho.

You should require 'cl when byte-compiling, due to the `case' macro.

> +(defun notifications-notify (&rest params)
> +  "Send notification via D-Bus using the Freedesktop notification protocol.
> +Various PARAMS can be set:
> +
> + :title          The notification title.
> + :body           The notification body text.

You might mention, that these are mandatory parameters. Check the effect of

(notifications-notify :urgency "low")

> + :app-icon       The notification icon.

If not given, you could apply a default value. A good value might be

(expand-file-name "images/icons/hicolor/scalable/apps/emacs.svg" data-directory)

> + :action         A list of actions.

I would call this parameter :actions, because you allow several actions
in that list. Or you allow multiple :action parameters, and concat them.

I would also be more descriptive, with examples.

And I would explain, that the action identifier "default" has a special
meaning. Try for effect

(notifications-notify :title "title" :body "body" :urgency "low" :action '("default" ""))

> + :timeout        The timeout time in milliseconds since the display
> +                 of the notification at which the notification should
> +                 automatically close.
> +                 If -1, the notification's expiration time is dependent
> +                 on the notification server's settings, and may vary for
> +                 the type of notification (default).
> +                 If 0, the notification never expires.

You might mention, that -1 is the default value.

> + :urgency        The urgency level.
> +                 Either `low', `normal' or `critical'.
> + :category       The type of notification this is.
> + :desktop-entry  This specifies the name of the desktop filename representing
> +                 the calling program.
> + :image-data     This is a raw data image format which describes the width,
> +                 height, rowstride, has alpha, bits per sample, channels and
> +                 image data respectively.
> + :sound-file     The path to a sound file to play when the notification pops up.
> + :suppress-sound Causes the server to suppress playing any sounds, if it has
> +                 that ability.
> + :x              Specifies the X location on the screen that the notification
> +                 should point to. The \"y\" hint must also be specified.
> + :y              Specifies the Y location on the screen that the notification
> +                 should point to. The \"x\" hint must also be specified.

All of them are hints. If none of them is given, you get a D-Bus error, try

(notifications-notify)

This is because you initialize your `hints' variable as '(:array). If no
hint is given, you cannot pass it to `dbus-call-method' as such. You
must pass '(:array :signature "{sv}") as empty hint.

I also propose to add the handling of the "NotificationClosed" and
"ActionInvoked" signals. This could be done by adding a callback
function to `notifications-notify'.

Best regards, Michael.



  reply	other threads:[~2010-06-07 12:12 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 [this message]
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
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=87ljar3uug.fsf@gmx.de \
    --to=michael.albinus@gmx.de \
    --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.