Current File : //kunden/usr/share/emacs/27.2/lisp/notifications.elc |
;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; with all optimizations.
;;; This file uses dynamic docstrings, first added in Emacs 19.29.
;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(require 'dbus)
#@69 The version of the Desktop Notifications Specification implemented.
(defconst notifications-specification-version "1.2" (#$ . 424))
#@27 Default application name.
(defconst notifications-application-name "Emacs" (#$ . 562))
#@27 Default application icon.
(defconst notifications-application-icon (expand-file-name "images/icons/hicolor/scalable/apps/emacs.svg" data-directory) (#$ . 655))
#@35 D-Bus notifications service name.
(defconst notifications-service "org.freedesktop.Notifications" (#$ . 821))
#@35 D-Bus notifications service path.
(defconst notifications-path "/org/freedesktop/Notifications" (#$ . 937))
#@40 D-Bus notifications service interface.
(defconst notifications-interface "org.freedesktop.Notifications" (#$ . 1051))
#@36 D-Bus notifications notify method.
(defconst notifications-notify-method "Notify" (#$ . 1175))
#@48 D-Bus notifications close notification method.
(defconst notifications-close-notification-method "CloseNotification" (#$ . 1276))
#@46 D-Bus notifications get capabilities method.
(defconst notifications-get-capabilities-method "GetCapabilities" (#$ . 1412))
#@52 D-Bus notifications get server information method.
(defconst notifications-get-server-information-method "GetServerInformation" (#$ . 1542))
#@36 D-Bus notifications action signal.
(defconst notifications-action-signal "ActionInvoked" (#$ . 1689))
#@36 D-Bus notifications closed signal.
(defconst notifications-closed-signal "NotificationClosed" (#$ . 1797))
#@53 List of reasons why a notification has been closed.
(defconst notifications-closed-reason '((1 expired) (2 dismissed) (3 close-notification) (4 undefined)) (#$ . 1910))
#@61 Mapping between notification and action callback functions.
(defvar notifications-on-action-map nil (#$ . 2085))
#@41 Object for registered on-action signal.
(defvar notifications-on-action-object nil (#$ . 2204))
#@60 Mapping between notification and close callback functions.
(defvar notifications-on-close-map nil (#$ . 2306))
#@40 Object for registered on-close signal.
(defvar notifications-on-close-object nil (#$ . 2423))
#@76 Dispatch signals to callback functions from `notifications-on-action-map'.
(defalias 'notifications-on-action-signal #[(id action) "\306!\307!\310 \nE\f\"\211\2054
A@\f\"\210\311
\f\"\211?\2054
\2054 \312
!\210\313\211
+\207" [last-input-event bus unique-name id notifications-on-action-map entry dbus-event-bus-name dbus-event-service-name assoc remove dbus-unregister-object nil action notifications-on-action-object] 5 (#$ . 2523)])
#@75 Dispatch signals to callback functions from `notifications-on-close-map'.
(defalias 'notifications-on-closed-signal #[(id &optional reason) "\306!\307!\310 \nE\f\"
\206 \311
\205B
A@\310
\"A@\"\210\312
\f\"\211?\205B \205B \313!\210\314\211,\207" [last-input-event bus unique-name id notifications-on-close-map entry dbus-event-bus-name dbus-event-service-name assoc 4 remove dbus-unregister-object nil reason notifications-closed-reason notifications-on-close-object] 5 (#$ . 2979)])
#@4399 Send notification via D-Bus using the Freedesktop notification protocol.
Various PARAMS can be set:
:bus The D-Bus bus, if different from `:session'.
:title The notification title.
:body The notification body text.
:app-name The name of the application sending the notification.
Default to `notifications-application-name'.
:replaces-id The notification ID that this notification replaces.
:app-icon The notification icon.
Default is `notifications-application-icon'.
Set to nil if you do not want any icon displayed.
:actions A list of actions in the form:
(KEY TITLE KEY TITLE ...)
where KEY and TITLE are both strings.
The default action (usually invoked by clicking the
notification) should have a key named "default".
The title can be anything, though implementations are free
not to display it.
: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.
If 0, the notification never expires.
Default value is -1.
:urgency The urgency level.
Either `low', `normal' or `critical'.
:action-items Whether the TITLE of the actions is interpreted as
a named icon.
: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.
: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 themable 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.
:resident When set the server will not automatically remove the
notification when an action has been invoked.
:transient When set the server will treat the notification as transient
and by-pass the server's persistence capability, if it
should exist.
: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.
:on-action Function to call when an action is invoked.
The notification id and the key of the action are passed
as arguments to the function.
:on-close Function to call when the notification has been closed
by timeout or by the user.
The function receive the notification id and the closing
reason as arguments:
- `expired' if the notification has expired
- `dismissed' if the notification was dismissed by the user
- `close-notification' if the notification was closed
by a call to CloseNotification
- `undefined' if the notification server hasn't provided
a reason
Which parameters are accepted by the notification server can be
checked via `notifications-get-capabilities'.
This function returns a notification id, an integer, which can be
used to manipulate the notification item with
`notifications-close-notification' or the `:replaces-id' argument
of another `notifications-notify' call.
(defalias 'notifications-notify #[(&rest params) "\3061j\307\310\"\206\f \311\307\312\"\307\313\"\307\314\"\307\315\"\307\316\"\307\317\"\307\320\"\321\307\322\"\307\323\"\307\324\"\307\325\"\307\326\"\307\327\"\307\330\"\307\331\"\307\332\"\307\333\"\307\334\"\307\335\"\307\336\"\321@ABCDEFGHIJKLMNOPQH\203\273 \337\340\341\342H\343\267\202\237 \344\202\240 \345\202\240 \346EE\211RI\235\203\261 I\210\202\272 \347IRC\"I)G\203\341 \337\350\341\351GEE\211SI\235\203\327 I\210\202\340 \347ISC\"I)F\203\337\352\341\351FEE\211TI\235\203\375 I\210\202\347ITC\"I)E\203-\337\353\341\354EEE\211UI\235\203#I\210\202,\347IUC\"I)D\203S\337\355\341\351DEE\211VI\235\203II\210\202R\347IVC\"I)C\203y\337\356\341\357CEE\211WI\235\203oI\210\202x\347IWC\"I)B\203\237\337\360\341\351BEE\211XI\235\203\225I\210\202\236\347IXC\"I)A\203\305\337\361\341\351AEE\211YI\235\203\273I\210\202\304\347IYC\"I)@\203\353\337\362\341\357@EE\211ZI\235\203\341I\210\202\352\347IZC\"I)
\203\337\363\341\357
EE\211[I\235\203I\210\202\347I[C\"I)\f\2033\337\364\341\357\fEE\211\\I\235\203)I\210\2022\347I\\C\"I)\203W\337\365\341\366EE\211]I\235\203MI\210\202V\347I]C\"I)\n\203{\337\367\341\366\nEE\211^I\235\203qI\210\202z\347I^C\"I)\370Q_`ab\351N\206\216c\371M\206\225\344\351L\203\242\372L!\202\257\373\316\"\203\255\374\202\257d\351P\206\266\374\351O\206\275\374\375KBI\206\307\376\366J\206\316\377&\307\201q \"\307\201r \"\201s Q_\"ef\211g\203'Qe EgD\211hi\235\203i\210\202hiBi)j\204'\201t Q\321`ak\201u &jf\203dQe EfD\211lm\235\203Dm\210\202KlmBm)n\204d\201t Q\321`ao\201v &n+ .0\207p\201w \201x p\"\210)\321\207" [params id y x transient resident (debug error) plist-get :bus :session :title :body :app-name :replaces-id :app-icon :actions :timeout nil :urgency :category :desktop-entry :image-data :image-path :action-items :sound-file :sound-name :suppress-sound :resident :transient :x :y :dict-entry "urgency" :variant :byte #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (low 151 critical 155)) 0 2 1 append "category" :string "desktop-entry" "image-data" :struct "image-path" "action-items" :boolean "sound-file" "sound-name" "suppress-sound" "resident" "transient" "x" :int32 "y" dbus-call-method :uint32 expand-file-name plist-member "" :array (:array :signature "{sv}") -1 suppress-sound sound-name sound-file action-items image-path image-data desktop-entry category urgency hints timeout actions app-icon replaces-id app-name body title bus #1=#:x #2=#:x #3=#:x #4=#:x #5=#:x #6=#:x #7=#:x #8=#:x #9=#:x #10=#:x #11=#:x #12=#:x #13=#:x notifications-service notifications-path notifications-interface notifications-notify-method notifications-application-name notifications-application-icon unique-name on-close on-action #14=#:x notifications-on-action-map notifications-on-action-object notifications-action-signal #15=#:x notifications-on-close-map notifications-on-close-object notifications-closed-signal #16=#:err :on-action :on-close dbus-get-name-owner dbus-register-signal notifications-on-action-signal notifications-on-closed-signal message "Error: %S"] 25 (#$ . 3494)])
#@118 Close a notification with identifier ID.
BUS can be a string denoting a D-Bus connection, the default is `:session'.
(defalias 'notifications-close-notification #[(id &optional bus) "\306\206 \307 \n\f\310
&\207" [bus notifications-service notifications-path notifications-interface notifications-close-notification-method id dbus-call-method :session :uint32] 8 (#$ . 11262)])
#@1122 Return the capabilities of the notification server, a list of symbols.
BUS can be a string denoting a D-Bus connection, the default is `:session'.
The following capabilities can be expected:
:actions The server will provide the specified actions
to the user.
:action-icons Supports using icons instead of text for
displaying actions.
:body Supports body text.
:body-hyperlinks The server supports hyperlinks in the notifications.
:body-images The server supports images in the notifications.
:body-markup Supports markup in the body text.
:icon-multi The server will render an animation of all the
frames in a given image array.
:icon-static Supports display of exactly 1 frame of any
given image array. This value is mutually exclusive
with `:icon-multi'.
:persistence The server supports persistence of notifications.
:sound The server supports sounds on notifications.
Further vendor-specific caps start with `:x-vendor', like `:x-gnome-foo-cap'.
(defalias 'notifications-get-capabilities #[(&optional bus) "\3061 \307\310\311\206\f \312 \n\f%\"0\207\f\205 \313
@
A\")\207" [bus notifications-service notifications-path notifications-interface notifications-get-capabilities-method err (dbus-error) mapcar #[(x) "\301\302P!\207" [x intern ":"] 3] dbus-call-method :session signal dbus-debug] 8 (#$ . 11652)])
#@611 Return information on the notification server, a list of strings.
BUS can be a string denoting a D-Bus connection, the default is `:session'.
The returned list is (NAME VENDOR VERSION SPEC-VERSION).
NAME The product name of the server.
VENDOR The vendor name. For example, "KDE", "GNOME".
VERSION The server's version number.
SPEC-VERSION The specification version the server is compliant with.
If SPEC_VERSION is missing, the server supports a specification
prior to "1.0".
See `notifications-specification-version' for the specification
version this library is compliant with.
(defalias 'notifications-get-server-information #[(&optional bus) "\3061 \307\206\n \310 \n\f%0\207\n\205 \311
@
A\")\207" [bus notifications-service notifications-path notifications-interface notifications-get-server-information-method err (dbus-error) dbus-call-method :session signal dbus-debug] 6 (#$ . 13149)])
(provide 'notifications)