%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
;ELC ;;; Compiled ;;; in Emacs version 25.2.1 ;;; 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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313\312\314\315\316& \210\317\320\321\322\312\307\323\324&\210\317\325\326\327\312\307\323\330&\210\331\332\333\334\312\307%\210\331\335\336\337\312\307%\207" [require dbus widget wid-edit timer url custom-declare-group xesam nil "Xesam compatible interface to search engines." :group extensions comm :version "23.1" custom-declare-variable xesam-query-type 'user-query "Xesam query language type." :type (choice (const :tag "Xesam user query" user-query) (const :tag "Xesam fulltext query" fulltext-query)) xesam-hits-per-page 20 "Number of search hits to be displayed in the result buffer." integer custom-declare-face xesam-mode-line ((t :inherit mode-line-emphasis)) "Face to highlight mode line." xesam-highlight ((t :inherit match)) "Face to highlight query entries.\nIt will be overlaid by `widget-documentation-face', so it shall\nbe different at least in one face property not set in that face."] 10) #@44 Insert debug information in the help echo. (defvar xesam-debug nil (#$ . 1420)) #@39 The D-Bus name used to talk to Xesam. (defconst xesam-service-search "org.freedesktop.xesam.searcher" (#$ . 1506)) #@46 The D-Bus object path used to talk to Xesam. (defconst xesam-path-search "/org/freedesktop/xesam/searcher/main" (#$ . 1627)) #@35 The D-Bus Xesam search interface. (defconst xesam-interface-search "org.freedesktop.xesam.Search" (#$ . 1758)) #@130 All fields from the Xesam Core Ontology. This defconst can be used to check for a new search engine, which fields are supported. (defconst xesam-all-fields '("xesam:35mmEquivalent" "xesam:aimContactMedium" "xesam:aperture" "xesam:aspectRatio" "xesam:attachmentEncoding" "xesam:attendee" "xesam:audioBitrate" "xesam:audioChannels" "xesam:audioCodec" "xesam:audioCodecType" "xesam:audioSampleFormat" "xesam:audioSampleRate" "xesam:author" "xesam:bcc" "xesam:birthDate" "xesam:blogContactURL" "xesam:cameraManufacturer" "xesam:cameraModel" "xesam:cc" "xesam:ccdWidth" "xesam:cellPhoneNumber" "xesam:characterCount" "xesam:charset" "xesam:colorCount" "xesam:colorSpace" "xesam:columnCount" "xesam:comment" "xesam:commentCharacterCount" "xesam:conflicts" "xesam:contactMedium" "xesam:contactName" "xesam:contactNick" "xesam:contactPhoto" "xesam:contactURL" "xesam:contains" "xesam:contentKeyword" "xesam:contentComment" "xesam:contentCreated" "xesam:contentModified" "xesam:contentType" "xesam:contributor" "xesam:copyright" "xesam:creator" "xesam:definesClass" "xesam:definesFunction" "xesam:definesGlobalVariable" "xesam:deletionTime" "xesam:depends" "xesam:description" "xesam:device" "xesam:disclaimer" "xesam:documentCategory" "xesam:duration" "xesam:emailAddress" "xesam:eventEnd" "xesam:eventLocation" "xesam:eventStart" "xesam:exposureBias" "xesam:exposureProgram" "xesam:exposureTime" "xesam:faxPhoneNumber" "xesam:fileExtension" "xesam:fileSystemType" "xesam:flashUsed" "xesam:focalLength" "xesam:focusDistance" "xesam:formatSubtype" "xesam:frameCount" "xesam:frameRate" "xesam:freeSpace" "xesam:gender" "xesam:generator" "xesam:generatorOptions" "xesam:group" "xesam:hash" "xesam:hash" "xesam:height" "xesam:homeEmailAddress" "xesam:homePhoneNumber" "xesam:homePostalAddress" "xesam:homepageContactURL" "xesam:horizontalResolution" "xesam:icqContactMedium" "xesam:id" "xesam:imContactMedium" "xesam:interests" "xesam:interlaceMode" "xesam:isEncrypted" "xesam:isImportant" "xesam:isInProgress" "xesam:isPasswordProtected" "xesam:isRead" "xesam:isoEquivalent" "xesam:jabberContactMedium" "xesam:keyword" "xesam:language" "xesam:legal" "xesam:license" "xesam:licenseType" "xesam:lineCount" "xesam:links" "xesam:mailingPostalAddress" "xesam:maintainer" "xesam:md5Hash" "xesam:mediaCodec" "xesam:mediaCodecBitrate" "xesam:mediaCodecType" "xesam:meteringMode" "xesam:mimeType" "xesam:mountPoint" "xesam:msnContactMedium" "xesam:name" "xesam:occupiedSpace" "xesam:orientation" "xesam:originalLocation" "xesam:owner" "xesam:pageCount" "xesam:permissions" "xesam:phoneNumber" "xesam:physicalAddress" "xesam:pixelFormat" "xesam:primaryRecipient" "xesam:programmingLanguage" "xesam:rating" "xesam:receptionTime" "xesam:recipient" "xesam:related" "xesam:remoteUser" "xesam:rowCount" "xesam:sampleBitDepth" "xesam:sampleFormat" "xesam:secondaryRecipient" "xesam:sha1Hash" "xesam:size" "xesam:skypeContactMedium" "xesam:sourceCreated" "xesam:sourceModified" "xesam:storageSize" "xesam:subject" "xesam:supercedes" "xesam:title" "xesam:to" "xesam:totalSpace" "xesam:totalUncompressedSize" "xesam:url" "xesam:usageIntensity" "xesam:userComment" "xesam:userKeyword" "xesam:uuid" "xesam:version" "xesam:verticalResolution" "xesam:videoBitrate" "xesam:videoCodec" "xesam:videoCodecType" "xesam:whiteBalance" "xesam:width" "xesam:wordCount" "xesam:workEmailAddress" "xesam:workPhoneNumber" "xesam:workPostalAddress" "xesam:yahooContactMedium") (#$ . 1876)) #@27 The Xesam user query XML. (defconst xesam-user-query "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">\n <userQuery>\n %s\n </userQuery>\n</request>" (#$ . 5324)) #@31 The Xesam fulltext query XML. (defconst xesam-fulltext-query "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<request xmlns=\"http://freedesktop.org/standards/xesam/1.0/query\">\n <query content=\"xesam:Document\" source=\"xesam:File\">\n <fullText>\n <string>%s</string>\n </fullText>\n </query>\n</request>" (#$ . 5562)) #@61 The unique names, under which Emacs is registered at D-Bus. (defvar xesam-dbus-unique-names (byte-code "\3001 \301\302\301!B\303\302\303!BD0\207\210\304\207" [(error) :system dbus-get-unique-name :session nil] 4) (#$ . 5901)) #@278 Apply a D-Bus method call. `dbus-call-method' is preferred, because it performs better. If the target D-Bus service is owned by Emacs, this is not applicable, and `dbus-call-method-non-blocking' must be used instead. ARGS are identical to the argument list of both functions. (defalias 'xesam-dbus-call-method #[(&rest args) "\302\303@ \"AA@\230\203 \304\202 \305\"\207" [args xesam-dbus-unique-names apply assoc dbus-call-method-non-blocking dbus-call-method] 4 (#$ . 6135)]) #@38 Return the PROPERTY value of ENGINE. (defalias 'xesam-get-property #[(engine property) "\304\305@ \n\306\307\310\"&@\207" [engine xesam-path-search xesam-interface-search property xesam-dbus-call-method :session "GetProperty" xesam-get-cached-property "session"] 9 (#$ . 6624)]) #@282 Set the PROPERTY of ENGINE to VALUE. VALUE can be a string, a non-negative integer, a boolean value (nil or t), or a list of them. It returns the new value of PROPERTY in the search engine. This new value can be different from VALUE, depending on what the search engine accepts. (defalias 'xesam-set-property #[(engine property value) "\305\306@ \n\307\310\311\"\312\fD&@\207" [engine xesam-path-search xesam-interface-search property value xesam-dbus-call-method :session "SetProperty" xesam-get-cached-property "session" :variant] 10 (#$ . 6914)]) #@29 Interactive vendor history. (defvar xesam-minibuffer-vendor-history nil (#$ . 7476)) #@28 Interactive query history. (defvar xesam-minibuffer-query-history nil (#$ . 7567)) (defvar xesam-vendor nil) (byte-code "\300\301!\210\302\301\303\304#\207" [make-variable-buffer-local xesam-vendor put permanent-local t] 4) (defvar xesam-engine nil) (defvar xesam-search nil) (defvar xesam-type nil) (defvar xesam-query nil) (defvar xesam-xml-string nil) (defvar xesam-objects nil) (defvar xesam-current nil) (defvar xesam-count nil) (defvar xesam-to nil) (defvar xesam-notify-function nil) (defvar xesam-refreshing nil) #@631 List of available Xesam search engines. Every entry is an association list, with a car denoting the unique D-Bus service name of the engine. The rest of the entry are cached associations of engine attributes, like the session identifier, and the display name. Example: ((":1.59" ("session" . "0t1214948020ut358230u0p2698r3912347765k3213849828") ("vendor.display" . "Tracker Xesam Service")) (":1.27" ("session" . "strigisession1369133069") ("vendor.display" . "Strigi Desktop Search"))) A Xesam-compatible search engine is identified as a queued D-Bus service of the known service `xesam-service-search'. (defvar xesam-search-engines nil (#$ . 8095)) #@113 Return the PROPERTY value of ENGINE from the cache. If PROPERTY is not existing, retrieve it from ENGINE first. (defalias 'xesam-get-cached-property #[(engine property) "\302 \"\204 \303 \304 \"#\210\302 \"A\207" [property engine assoc xesam-set-cached-property xesam-get-property] 6 (#$ . 8778)]) #@51 Set the PROPERTY of ENGINE to VALUE in the cache. (defalias 'xesam-set-cached-property #[(engine property value) "\303A \nBC\"\241\207" [engine property value append] 5 (#$ . 9087)]) #@45 Remove service from `xesam-search-engines'. (defalias 'xesam-delete-search-engine #[(&rest args) "\302\303@ \" \"\211\207" [args xesam-search-engines delete assoc] 4 (#$ . 9278)]) #@207 Return Xesam search engines, stored in `xesam-search-engines'. The first search engine is the name owner of `xesam-service-search'. If there is no registered search engine at all, the function returns nil. (defalias 'xesam-search-engines #[nil "\3061\f \307\310\"0\202 \n\205 \311 @ A\")\312\211\211\211&\312'\211(\203\313 (@'\313')\"\204\302 'C\211*)\235\204M \314)*C\"))\315')\"\316 \317\320\310'+,\321%#\210\322 \323\312#\210\324 \325\"\324 \326\"\327\f!\211-\330=\203\203 \331\202\245 -\332=\203\216 \333\202\245 -\334=\203\231 \335\202\245 -\336=\203\244 \337\202\245 \340)\322 \326#\210\322 \341\342#\210\343\310./0\344\345'&\210(A\211(\204* .)\207" [xesam-service-search err dbus-debug hit-fields vendor-id engine (dbus-error) dbus-list-queued-owners :session signal nil assoc-string append assoc xesam-set-cached-property "session" xesam-dbus-call-method "NewSession" xesam-set-property "search.live" xesam-get-property "vendor.id" "hit.fields" intern Beagle ("xesam:mimeType" "xesam:url") Strigi ("xesam:author" "xesam:cc" "xesam:charset" "xesam:contentType" "xesam:fileExtension" "xesam:id" "xesam:lineCount" "xesam:links" "xesam:mimeType" "xesam:name" "xesam:size" "xesam:sourceModified" "xesam:subject" "xesam:to" "xesam:url") TrackerXesamSession ("xesam:relevancyRating" "xesam:url") Debbugs ("xesam:keyword" "xesam:owner" "xesam:title" "xesam:url" "xesam:sourceModified" "xesam:mimeType" "debbugs:key") ("xesam:contentModified" "xesam:mimeType" "xesam:summary" "xesam:title" "xesam:url" "yahoo:displayUrl") "hit.fields.extended" ("xesam:snippet") dbus-register-signal "NameOwnerChanged" xesam-delete-search-engine services service --dolist-tail-- xesam-search-engines #1=#:x xesam-path-search xesam-interface-search #2=#:val dbus-service-dbus dbus-path-dbus dbus-interface-dbus] 10 (#$ . 9467)]) (defvar xesam-mode-map (byte-code "\303!\304 \n\"\210 )\207" [special-mode-map map widget-keymap copy-keymap set-keymap-parent] 3)) #@162 Hook run after entering Xesam mode. No problems result if this variable is not bound. `add-hook' automatically binds it. (This is true for all hook variables.) (defvar xesam-mode-hook nil (#$ . 11461)) (byte-code "\300\301!\204\f \302\301\303\304#\210\300\207" [boundp xesam-mode-map put definition-name xesam-mode] 4) (defvar xesam-mode-map (make-sparse-keymap)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\305\306!\204 \302\306\307\310#\210\300\207" [xesam-mode-map variable-documentation put purecopy "Keymap for `xesam-mode'." boundp xesam-mode-syntax-table definition-name xesam-mode] 5) (defvar xesam-mode-syntax-table (make-syntax-table)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [xesam-mode-syntax-table variable-documentation put purecopy "Syntax table for `xesam-mode'." xesam-mode-abbrev-table definition-name xesam-mode] 5) (defvar xesam-mode-abbrev-table (progn (define-abbrev-table 'xesam-mode-abbrev-table nil) xesam-mode-abbrev-table)) (byte-code "\300\301N\204 \302\300\301\303\304!#\210\302\305\306\307#\207" [xesam-mode-abbrev-table variable-documentation put purecopy "Abbrev table for `xesam-mode'." xesam-mode derived-mode-parent special-mode] 5) #@327 Major mode for presenting search results of a Xesam search. In this mode, widgets represent the search results. \{xesam-mode-map} Turning on Xesam mode runs the normal hook `xesam-mode-hook'. It can be used to set `xesam-notify-function', which must a search engine specific, widget :notify function to visualize xesam:url. (defalias 'xesam-mode #[nil "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2036 \321 =\203<