%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/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)