aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus <[email protected]>2010-09-13 06:39:36 +0200
committerMichael Albinus <[email protected]>2010-09-13 06:39:36 +0200
commit7ea2d3835ed57c781f46b734f8c70605b2681aba (patch)
tree89081aa2cd05b3d824db0b735898ea65e1f75a80
parent21fa8e37fd4df7d0f23ddbc7ec99c63578b23617 (diff)
* notifications.el (notifications-notify): Add support for
image-path and sound-name. (notifications-specification-version): Add this variable.
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/notifications.el20
2 files changed, 26 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 081d9a5373..dec338e36d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,9 @@
+2010-09-13 Julien Danjou <[email protected]>
+
+ * notifications.el (notifications-notify): Add support for
+ image-path and sound-name.
+ (notifications-specification-version): Add this variable.
+
2010-09-12 Stefan Monnier <[email protected]>
* subr.el (y-or-n-p): New function, moved from src/fns.c. Use read-key.
diff --git a/lisp/notifications.el b/lisp/notifications.el
index beb63a6311..68db58e54f 100644
--- a/lisp/notifications.el
+++ b/lisp/notifications.el
@@ -42,6 +42,9 @@
(require 'dbus)
+(defconst notifications-specification-version "1.1"
+ "The version of the Desktop Notifications Specification implemented.")
+
(defconst notifications-application-name "Emacs"
"Default application name.")
@@ -151,7 +154,14 @@ Various PARAMS can be set:
: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.
+ :image-path This is represented either as a URI (file:// is the
+ only URI schema supported right now) or a name
+ in a freedesktop.org-compliant icon theme.
:sound-file The path to a sound file to play when the notification pops up.
+ :sound-name A themeable named sound from the freedesktop.org sound naming
+ specification to play when the notification pops up.
+ Similar to icon-name,only for sounds. An example would
+ be \"message-new-instant\".
: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
@@ -186,7 +196,9 @@ used to manipulate the notification item with
(category (plist-get params :category))
(desktop-entry (plist-get params :desktop-entry))
(image-data (plist-get params :image-data))
+ (image-path (plist-get params :image-path))
(sound-file (plist-get params :sound-file))
+ (sound-name (plist-get params :sound-name))
(suppress-sound (plist-get params :suppress-sound))
(x (plist-get params :x))
(y (plist-get params :y))
@@ -211,10 +223,18 @@ used to manipulate the notification item with
(add-to-list 'hints `(:dict-entry
"image_data"
(:variant :struct ,image-data)) t))
+ (when image-path
+ (add-to-list 'hints `(:dict-entry
+ "image_path"
+ (:variant :string ,image-path)) t))
(when sound-file
(add-to-list 'hints `(:dict-entry
"sound-file"
(:variant :string ,sound-file)) t))
+ (when sound-name
+ (add-to-list 'hints `(:dict-entry
+ "sound-name"
+ (:variant :string ,sound-name)) t))
(when suppress-sound
(add-to-list 'hints `(:dict-entry
"suppress-sound"