;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:37 2007 ;;; from file /home/cyd/emacs/lisp/dframe.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`dframe.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; #@53 The current version of the dedicated frame library. (defvar dframe-version "1.3" (#$ . 559)) #@54 Non-nil if we are running in the XEmacs environment. (defvar dframe-xemacsp (string-match "XEmacs" emacs-version) (#$ . 658)) (byte-code "\303B\304\303!\204\305\303 \205\n\306Y\"\210\307\310\311\217\210\312\313!\203,\314\315!\203,\314\316!\204J\317\320!\2046\320\321M\210\317\322!\204@\322\323M\210\317\324!\204J\324\325M\210\314\326!\203X\327\330\326\"\210\202]\327\330\331\"\210\332\333\307\334\335\336\337\333&\207" [current-load-list dframe-xemacsp emacs-major-version dframe-xemacs20p default-boundp set-default 20 nil (byte-code "\300\301!\207" [require custom] 2) ((error)) featurep custom fboundp custom-declare-variable custom-initialize-set boundp defgroup (macro . #[(&rest args) "\300\207" [nil] 1]) defface (macro . #[(var values doc &rest args) "\301\302\303DE\304DE\207" [var progn defvar quote make-face] 5]) defcustom (macro . #[(var value doc &rest args) "\303 \nF\207" [var value doc defvar] 4]) frame-parameter defalias dframe-frame-parameter #[(frame parameter) "\302\303 !\"A\207" [parameter frame assoc frame-parameters] 4 "Return FRAME's PARAMETER value."] custom-declare-group dframe "Faces used in dframe." :prefix "dframe-" :group] 8) #@57 Non-nil means that timers are available for this Emacs. (defvar dframe-have-timer-flag (byte-code "\301\302!\204\301\303!\204\304\305!\205\301\306!\203\306 \207\207" [window-system fboundp run-with-idle-timer start-itimer boundp post-command-idle-hook display-graphic-p] 2) (#$ . 1846)) #@177 *Idle time in seconds needed before dframe will update itself. Updates occur to allow dframe to display directory information relevant to the buffer you are currently editing. (custom-declare-variable 'dframe-update-speed '(if dframe-xemacsp (if dframe-xemacs20p 2 5) 1) '(#$ . -2149) :group 'dframe :type 'integer) #@190 *Non-nil means the selected frame will change based on activity. Thus, if a file is selected for edit, the buffer will appear in the selected frame and the focus will change to that frame. (custom-declare-variable 'dframe-activity-change-focus-flag 'nil '(#$ . -2472) :group 'dframe :type 'boolean) #@57 *Hook run after dframe has selected the attached frame. (custom-declare-variable 'dframe-after-select-attached-frame-hook 'nil '(#$ . -2777) :group 'dframe :type 'hook) #@128 *A function to call when the mouse is moved in the given frame. Typically used to display info about the line under the mouse. (defvar dframe-track-mouse-function nil (#$ . -2953)) (make-variable-buffer-local 'dframe-track-mouse-function) #@135 *A function to call when help-echo is used in newer versions of Emacs. Typically used to display info about the line under the mouse. (defvar dframe-help-echo-function nil (#$ . -3199)) (make-variable-buffer-local 'dframe-help-echo-function) #@94 *A function to call when the mouse is clicked. Valid clicks are mouse 2, our double mouse 1. (defvar dframe-mouse-click-function nil (#$ . -3447)) (make-variable-buffer-local 'dframe-mouse-click-function) #@65 *A function to called to position the cursor for a mouse click. (defvar dframe-mouse-position-function nil (#$ . -3658)) (make-variable-buffer-local 'dframe-mouse-position-function) #@67 Never set this by hand. Value is t when S-mouse activity occurs. (defvar dframe-power-click nil (#$ . 3846)) #@48 The dframe timer used for updating the buffer. (defvar dframe-timer nil (#$ . 3962)) (make-variable-buffer-local 'dframe-timer) #@130 The frame which started a frame mode. This is the frame from which all interesting activities will go for the mode using dframe. (defvar dframe-attached-frame nil (#$ . 4097)) (make-variable-buffer-local 'dframe-attached-frame) #@111 Is this buffer controlled by a dedicated frame. Local to those buffers, as a function called that created it. (defvar dframe-controlled nil (#$ . 4332)) (make-variable-buffer-local 'dframe-controlled) #@52 Update the keymap MAP for dframe default bindings. (defalias 'dframe-update-keymap #[(map) "\303\304\305#\210\303\306\307#\210\310\311\312 $\210\n\2030\303\313\314#\210\303\315\316#\210\317\320!?\205_\303\321\322#\207\303\323\324#\210\303\325\314#\210\303\326\316#\210\303\327\330#\210\303\331\332#\210\303\333\330#\210\303\334\335#\210\303\336\337#\207" [map global-map dframe-xemacsp define-key "q" dframe-close-frame "Q" delete-frame substitute-key-definition switch-to-buffer dframe-switch-buffer-attached-frame button2 dframe-click (shift button2) dframe-power-click featurep infodoc button3 dframe-xemacs-popup-kludge [follow-link] mouse-face [mouse-2] [S-mouse-2] [down-mouse-3] dframe-emacs-popup-kludge [mode-line mouse-2] dframe-mouse-hscroll [mode-line down-mouse-1] [C-down-mouse-1] dframe-hack-buffer-menu [mouse-movement] dframe-track-mouse] 5 (#$ . 4539)]) #@49 Return non-nil if FRAME is currently available. (defalias 'dframe-live-p #[(frame) "\205 \301!\205 \302!\207" [frame frame-live-p frame-visible-p] 2 (#$ . 5433)]) #@697 Manage a frame for an application, enabling it when ARG is positive. FRAME-VAR is a variable used to cache the frame being used. This frame is either resurrected, hidden, killed, etc based on the value. CACHE-VAR is a variable used to cache a cached frame. BUFFER-VAR is a variable used to cache the buffer being used in dframe. This buffer will have `dframe-frame-mode' run on it. FRAME-NAME is the name of the frame to create. LOCAL-MODE-FN is the function used to call this one. PARAMETERS are frame parameters to apply to this dframe. DELETE-HOOK are hooks to run when deleting a frame. POPUP-HOOK are hooks to run before showing a frame. CREATE-HOOK are hooks to run after creating a frame. (defalias 'dframe-frame-mode #[(arg frame-var cache-var buffer-var frame-name local-mode-fn &optional parameters delete-hook popup-hook create-hook) "\204\306 J!\203\307\202\310\nJq\210\247\203?\311W\203?\312\313!\210 J\203;\314 J!\203; JL\210\315 J!\210 \316L\207\317 \312\320!\210\212\nJq\210 #?\203f\321\322!\210\323\321\324!\210\325\324\326\"\210\202r@\203r\321\327!\210\330\331\332!\203\206\331\333!\203\206\321\332!\210\321\333!\210\334\325\335\336\316\337\340\341\342\316\341\343\344\345\346\n\347BBEEFEE\330\211$\210)\314 J!\203\334 JL\210\350 J!\210\351 J!\210\352\353 \316\"\210p\nJ=\204\321\354\nJ!\210\352\353 \330\"\210\355 J!\207\314 J!\203\350\355 J!\207 ?\203\356A\235\203\374\357A!\202h\357\356\360 DA\244!\202h\361\f\362\"B\363\356A\"\203A\202+\364A\356B\206%\311\365 \\BC\"C\363\366A\"\203:C\202C\364C\366\367 BC\"DE\370W\204SF\371=\204Z\357D!\202gGHIJ\357D!*+L\210\212\351 J!\210\354\nJ!\210\352\353 \330\"\210)\312\372!\210F\203\214F\373=\203\225\374\375!\203\225\376\213\210F?\205\237\351 J!\207" [arg frame-var buffer-var cache-var dframe-attached-frame local-mode-fn dframe-live-p -1 1 0 run-hooks delete-hook frame-live-p make-frame-invisible nil selected-frame popup-hook make-local-variable mouse-motion-handler dframe-track-mouse-xemacs mouse-track-click-hook add-hook #[(event count) "\302!\303U\205* \303=\203\304!\210\202) \305=\204! \306=\203)\307!\210\304!\210\310\207" [event count event-button 1 dframe-quick-mouse 2 3 dframe-click t] 2] track-mouse t boundp temp-buffer-show-hook temp-buffer-show-function dframe-temp-buffer-show-function kill-buffer-hook lambda let ((skilling (boundp 'skilling))) if skilling dframe-controlled progn (funcall dframe-controlled -1) setq (nil) make-frame-visible select-frame set-window-dedicated-p selected-window switch-to-buffer raise-frame height make-frame dframe-needed-height dframe-frame-parameter menu-bar-lines assoc append frame-height width frame-width 20 x create-hook pc fboundp set-frame-name ((byte-code "\302J!\210\303 !\207" [frame-var frame-name select-frame set-frame-name] 2)) dframe-xemacsp dframe-track-mouse-function parameters mh paramsa params emacs-major-version window-system x-pointer-top-left-arrow x-pointer-hand2 x-sensitive-text-pointer-shape x-pointer-shape] 17 (#$ . 5608)]) #@124 Move NEW-FRAME to be relative to PARENT-FRAME. LOCATION can be one of 'random, 'left, 'right, 'left-right, or 'top-bottom. (defalias 'dframe-reposition-frame #[(new-frame parent-frame location) "\203\n\304 \n #\207\305 \n #\207" [dframe-xemacsp new-frame parent-frame location dframe-reposition-frame-xemacs dframe-reposition-frame-emacs] 4 (#$ . 8683)]) #@170 Move NEW-FRAME to be relative to PARENT-FRAME. LOCATION can be one of 'random, 'left-right, 'top-bottom, or a cons cell indicationg a position of the form (LEFT . TOP). (defalias 'dframe-reposition-frame-emacs #[(new-frame parent-frame location) "\306\307\"\306\310\"\311!\312!\311 !\312 !\313\211?\206,\314=?\205o :\2049 \202N @\315=\203K\316 A@Z Z\202N A@\n:\204X\n\202m\n@\315=\203j\317 \nA@Z\fZ\202m\nA@\320=\203\202 \\\321\\\n\202c\307=\203\227 Z\322Z\n\202c\323=\203\361 Z\322Z \\\321\\ \316 ZZ\321Z! \324Y\203\311\202\350!\324Y\203\325\202\350 !V\203\341\324\202\350\316 Z\321Z,\n\202c\325=\203K \nZ\326Z\"\n\f\\\321\\#\"$\317 #ZZ\321Z%$\324Y\203&\"\202E%\324Y\2032#\202E$%V\203>\324\202E\317 Z\321Z,\202c:\203c@\206X\324A\206a\324\327 \307B\310BD\".\207" [parent-frame pfx pfy pfw pfh new-frame dframe-frame-parameter left top frame-pixel-width frame-pixel-height nil pc - x-display-pixel-width x-display-pixel-height right 5 10 left-right 0 top-bottom 15 modify-frame-parameters nfw nfh newleft newtop window-system location left-guess right-guess left-margin right-margin top-guess bottom-guess top-margin bottom-margin] 6 (#$ . 9047)]) #@109 Move NEW-FRAME to be relative to PARENT-FRAME. LOCATION can be one of 'random, 'left-right, or 'top-bottom. (defalias 'dframe-reposition-frame-xemacs #[(new-frame parent-frame location) "\300\207" ["Move NEW-FRAME to be relative to PARENT-FRAME.\nLOCATION can be one of 'random, 'left-right, or 'top-bottom."] 1 (#$ . 10342)]) #@59 The needed height for the tool bar FRAME (in characters). (defalias 'dframe-needed-height #[(&optional frame) "\204\302 \303!\304\211\305\")\245T\207" [frame f selected-frame frame-pixel-height face-height default] 5 (#$ . 10675)]) #@103 Detatch the frame in symbol FRAME-VAR. CACHE-VAR and BUFFER-VAR are symbols as in `dframe-frame-mode' (defalias 'dframe-detach #[(frame-var cache-var buffer-var) "\212Jq\210\304\305 \306\"\210 J\307L\210 \307L\210 \307L\210\310 !\210 \nL*\207" [buffer-var frame-var oldframe cache-var rename-buffer buffer-name t nil make-variable-buffer-local] 3 (#$ . 10921)]) (byte-code "\301\300!\203\302\303\304#\210\302\305\306#\210\302\307\310#\210\301\207" [special-event-map boundp define-key [make-frame-visible] dframe-handle-make-frame-visible [iconify-frame] dframe-handle-iconify-frame [delete-frame] dframe-handle-delete-frame] 4) #@96 Function used when a dframe controlled frame is de-iconified. The function must take an EVENT. (defvar dframe-make-frame-visible-function nil (#$ . 11564)) #@93 Function used when a dframe controlled frame is iconified. The function must take an EVENT. (defvar dframe-iconify-frame-function nil (#$ . 11726)) #@100 Function used when a frame attached to a dframe frame is deleted. The function must take an EVENT. (defvar dframe-delete-frame-function nil (#$ . 11881)) #@152 Handle a `make-frame-visible' event. Should enable auto-updating if the last state was also enabled. Argument E is the event making the frame visible. (defalias 'dframe-handle-make-frame-visible #[(e) "\304 !\205\n\205\n !)\207" [last-event-frame f dframe-make-frame-visible-function e dframe-attached-frame] 2 (#$ . 12042) "e"]) #@144 Handle a `iconify-frame' event. Should disable auto-updating if the last state was also enabled. Argument E is the event iconifying the frame. (defalias 'dframe-handle-iconify-frame #[(e) "\304 !\205\n\205 \205\n )\207" [last-event-frame f dframe-iconify-frame-function e dframe-attached-frame] 2 (#$ . 12385) "e"]) #@74 Handle `delete-frame' event. Argument E is the event deleting the frame. (defalias 'dframe-handle-delete-frame #[(e) "\304 \305 \211\203\306 @!\210\n\203\n !\210 A\211\204\n\307!\203(\306!\210\310 !*\207" [sf fl dframe-delete-frame-function e frame-list selected-frame select-frame frame-live-p handle-delete-frame] 3 (#$ . 12715) "e"]) #@328 Change frame focus to or from a dedicated frame. If the selected frame is not in the symbol FRAME-VAR, then FRAME-VAR frame is selected. If the FRAME-VAR is active, then select the attached frame. If FRAME-VAR is nil, ACTIVATOR is called to created it. HOOK is an optional argument of hooks to run when selecting FRAME-VAR. (defalias 'dframe-get-focus #[(frame-var activator &optional hook) "\303 J=\203\304 !\203$\305 \210\202$\304J!\204\n\306!\210\307J!\210\310\311!\210\312\313!\207" [frame-var dframe-attached-frame activator selected-frame frame-live-p dframe-select-attached-frame 1 select-frame other-frame 0 run-hooks hook] 2 (#$ . 13070) nil]) #@45 Close the current frame if it is dedicated. (defalias 'dframe-close-frame #[nil "\205p\302!\210\303 !)\207" [dframe-controlled b -1 kill-buffer] 2 (#$ . 13741) nil]) #@193 Return the existing dedicated frame to use. FRAME-VAR is the variable storing the currently active dedicated frame. If the current frame's buffer uses DESIRED-MAJOR-MODE, then use that frame. (defalias 'dframe-current-frame #[(frame-var desired-major-mode) "\302 J=\204% \303=\203\"\304p!\203\"\305\304p!!\203\"\305\304p!!\207J\207J\207" [frame-var major-mode selected-frame desired-major-mode get-buffer-window window-frame] 3 (#$ . 13919)]) #@141 Return the attached frame belonging to the dframe controlled frame FRAME. If optional arg FRAME is nil just return `dframe-attached-frame'. (defalias 'dframe-attached-frame #[(&optional frame) "\212\203 \302!\210 )\207" [frame dframe-attached-frame select-frame] 2 (#$ . 14376)]) #@242 Switch to the frame the dframe controlled frame FRAME was started from. If optional arg FRAME is nil assume the attached frame is already selected and just run the hooks `dframe-after-select-attached-frame-hook'. Return the attached frame. (defalias 'dframe-select-attached-frame #[(&optional frame) "\301!\211\203\f\302!\210\303\304!\210)\207" [frame dframe-attached-frame select-frame run-hooks dframe-after-select-attached-frame-hook] 4 (#$ . 14666)]) #@98 Execute FORMS in the attached frame's special buffer. Optionally select that frame if necessary. (defalias 'dframe-with-attached-buffer '(macro . #[(&rest forms) "\301\302\303\304\"BB\207" [forms save-selected-window (dframe-select-attached-frame) append ((dframe-maybee-jump-to-attached-frame))] 5 (#$ . 15133)])) #@64 Jump to the attached frame ONLY if this was not a mouse event. (defalias 'dframe-maybee-jump-to-attached-frame #[nil "\302!\203\n \205\303 \210\304\305!\207" [last-input-event dframe-activity-change-focus-flag dframe-mouse-event-p dframe-select-attached-frame other-frame 0] 2 (#$ . 15455)]) #@66 Non-nil means that `dframe-message' should just return a string. (defvar dframe-suppress-message-flag nil (#$ . 15757)) #@124 Like message, but for use in a dedicated frame. Argument FMT is the format string, and ARGS are the arguments for message. (defalias 'dframe-message #[(fmt &rest args) "\306 \307\310\311 \"r\312\216\n\203\313\314 \f#\202% \203 \315 !\210\313\316 \f#,\207" [save-selected-window-alist save-selected-window-window dframe-suppress-message-flag fmt args dframe-attached-frame selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) apply format select-frame message] 4 (#$ . 15884)]) #@90 Like `y-or-n-p', but for use in a dedicated frame. Argument PROMPT is the prompt to use. (defalias 'dframe-y-or-n-p #[(prompt) "\304 \305\306\307 \"r\310\216\n\203\311\n!\210\312 !,\207" [save-selected-window-alist save-selected-window-window dframe-attached-frame prompt selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-frame y-or-n-p] 4 (#$ . 16711)]) #@50 List of client functions using the dframe timer. (defvar dframe-client-functions nil (#$ . 17424)) #@382 Apply a timer with TIMEOUT, to call FN, or remove a timer if TIMEOUT is nil. TIMEOUT is the number of seconds until the dframe controled program timer is called again. When TIMEOUT is nil, turn off all timeouts. This function must be called from the buffer belonging to the program who requested the timer. If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer. (defalias 'dframe-set-timer #[(timeout fn &optional null-on-error) "\203\f\305\302 \"\210\202\306 \n\"\204\" \205&?\205&\n\205&\307\f\"\207" [timeout fn dframe-client-functions dframe-timer null-on-error add-to-list delete dframe-set-timer-internal] 3 (#$ . 17530)]) #@135 Apply a timer with TIMEOUT to call the dframe timer manager. If NULL-ON-ERROR is a symbol, set it to nil if we cannot create a timer. (defalias 'dframe-set-timer-internal #[(timeout &optional null-on-error) "\203G \203\306 !\210\307\n\205\203> \310Y\2044 \311U\203(\f\312V\2044 \313U\203>\f\314Y\203>\315\316\317\n\211\320%\211\207\315\316\317\n\307$\211\207\321\322!\203c \203W\323 !\210\307\n\205\322\n\320\317#\211\207\321\324!\203w\n\203r\325\324\317\"\207\326\324\317\"\207 9\205 \307L\207" [dframe-xemacsp dframe-timer timeout emacs-major-version emacs-minor-version null-on-error delete-itimer nil 21 20 0 19 15 start-itimer "dframe" dframe-timer-fn t fboundp run-with-idle-timer cancel-timer post-command-idle-hook add-hook remove-hook] 6 (#$ . 18197)]) #@83 Called due to the dframe timer. Evaluates all cached timer functions in sequence. (defalias 'dframe-timer-fn #[nil "\211\205\302\303!\205\304\305\306\217\210 A\211\204\307)\207" [dframe-client-functions l sit-for 0 er (byte-code "@ \207" [l] 1) ((error (message "DFRAME TIMER ERROR: %S" er))) nil] 4 (#$ . 18991)]) #@69 The EVENT arg to 'popup-mode-menu' was introduced in XEmacs 21.4.0. (defconst dframe-pass-event-to-popup-mode-menu (byte-code "\301\302\303!\205\302\304!\205\304\303!\211\205\305!?)\207" [max-args nil fboundp popup-mode-menu function-max-args zerop] 2) (#$ . 19322)) (byte-code "\300\301\302\"\210\301\207" [defalias dframe-xemacs-popup-kludge #[(event) "\212\203\f\303 !\210\202(\304 !b\210\305 \210\306\212\307\210`)\212\305 \210`)Z^u\210\303 \210\307\310\311 \211!\204:\312\n!\210\202*\312\n!*\207" [dframe-pass-event-to-popup-mode-menu event new popup-mode-menu event-closest-point beginning-of-line 5 nil misc-user-event-p next-event dispatch-event] 3 "Pop up a menu related to the clicked on item.\nMust be bound to EVENT." "e"]] 3) #@73 Pop up a menu related to the clicked on item. Must be bound to event E. (defalias 'dframe-emacs-popup-kludge #[(e) "\212\302!\210n\204\f\303u\210\304\305!\210 \306W\203\307!\202 \307\310\")\207" [e emacs-major-version mouse-set-point -1 sit-for 0 20 mouse-major-mode-menu nil] 3 (#$ . 20084) "e"]) (byte-code "\203\f\301\302\303\"\210\202\301\302\304\"\210\301\207" [dframe-xemacsp defalias dframe-mouse-event-p button-press-event-p #[(event) "<\205\301!\302\235\205\303\207" [event event-basic-type (mouse-1 mouse-2 mouse-3) t] 2 "Return t if the event is a mouse related event."]] 3) #@56 For motion EVENT, display info about the current line. (defalias 'dframe-track-mouse #[(event) "\2054 \2041\304\n\211:\203!\305\n8:\203\305\202\306\n8\202'\307 `\310\311F)\311 8)!\2054\n!\207" [dframe-track-mouse-function dframe-xemacsp event position windowp 2 1 selected-window (0 . 0) 0] 6 (#$ . 20693) "e"]) #@56 For motion EVENT, display info about the current line. (defalias 'dframe-track-mouse-xemacs #[(event) "\302\303\304!!\203\303\304!!\210 \205 !\207" [event dframe-track-mouse-function functionp default-value mouse-motion-handler] 3 (#$ . 21024)]) #@150 Display help based context. The context is in WINDOW, viewing BUFFER, at POSITION. BUFFER and POSITION are optional because XEmacs doesn't use them. (defalias 'dframe-help-echo #[(window &optional buffer position) "?\205 \305 !\205 \n\205 \306r q\210\212\f\203\fb\210\n +\207" [dframe-track-mouse-function buffer dframe-help-echo-function dframe-suppress-message-flag position bufferp t] 2 (#$ . 21283)]) #@67 Set POINT based on event E. Handles clicking on images in XEmacs. (defalias 'dframe-mouse-set-point #[(e) "\212\302\213)\203\303!\304 !\203\304 !Sb\202\305!)\207\305!\207" [e ext ((byte-code "\301!\210\302\303!\205 \303!\207" [e mouse-set-point fboundp event-over-glyph-p] 2)) event-glyph-extent extent-end-position mouse-set-point] 2 (#$ . 21701)]) #@116 Since mouse events are strange, this will keep the mouse nicely positioned. This should be bound to mouse event E. (defalias 'dframe-quick-mouse #[(e) "\302!\210 \205\n \207" [e dframe-mouse-position-function dframe-mouse-set-point] 2 (#$ . 22071) "e"]) #@193 Activate any dframe mouse click as a power click. A power click will dispose of cached data (if available) or bring a buffer up into a different window. This should be bound to mouse event E. (defalias 'dframe-power-click #[(e) "\303\304 !\210\305\n!)\207" [dframe-power-click last-event-frame e t select-frame dframe-click] 2 (#$ . 22335) "e"]) #@84 Call our clients click function on a user click. E is the event causing the click. (defalias 'dframe-click #[(e) "\302!\210 \205 !\207" [e dframe-mouse-click-function dframe-mouse-set-point] 2 (#$ . 22688) "e"]) #@135 Activate the registered click function on a double click. This must be bound to a mouse event. This should be bound to mouse event E. (defalias 'dframe-double-click #[(e) "@\301=\203 \302!\207@\303=\203\304!\207@\305=\204$@\306=\205'\307!\207" [e down-mouse-1 dframe-mouse-set-point mouse-1 dframe-quick-mouse double-down-mouse-1 triple-down-mouse-1 dframe-click] 2 (#$ . 22911) "e"]) #@197 Placed in the variable `temp-buffer-show-function' in dedicated frames. If a user requests help using \[help-command] the temp BUFFER will be redirected into a window on the attached frame. (defalias 'dframe-temp-buffer-show-function #[(buffer) "\203\304 \210\305 \306\"\210\307\310!\210\n\204\311\303!\207\312\313!\203#\313\303 \"\207\314\303!\2052 <\2052\315\316 \"\207" [dframe-attached-frame buffer dframe-xemacsp temp-buffer-show-hook dframe-select-attached-frame pop-to-buffer nil other-window -1 run-hooks fboundp run-hook-with-args boundp mapcar #[(hook) " !\207" [hook buffer] 2]] 3 (#$ . 23315)]) #@188 Control mouse 1 is buffer menu. This hack overrides it so that the right thing happens in the main Emacs frame, not in the dedicated frame. Argument E is the event causing this activity. (defalias 'dframe-hack-buffer-menu #[(e) "\306 \203\n\307\202 \310\"p\311\312\216\212\313\314 \311\"\210\315\f!\210p*\n =?\205?\314 \316\317\320 \"r\321\216\322 \210\323\n!\210\324 ,+\207" [global-map dframe-xemacsp newbuff oldbuff fn save-selected-window-alist lookup-key (control button1) [C-down-mouse-1] nil ((byte-code "\301!\210\302\303 \304\"\207" [oldbuff switch-to-buffer set-window-dedicated-p selected-window t] 3)) set-window-dedicated-p selected-window call-interactively mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) dframe-select-attached-frame switch-to-buffer dframe-maybee-jump-to-attached-frame save-selected-window-window] 4 (#$ . 23944) "e"]) #@169 Switch to BUFFER in the attached frame, and raise that frame. This overrides the default behavior of `switch-to-buffer' which is broken because of the dedicated frame. (defalias 'dframe-switch-buffer-attached-frame #[(&optional buffer) "\301\302!\210\203\f\303!\207\304\303\305\211#\207" [buffer other-frame 1 switch-to-buffer call-interactively nil] 4 (#$ . 25143) nil]) #@182 Read a mouse event E from the mode line, and horizontally scroll. If the mouse is being clicked on the far left, or far right of the mode-line. This is only useful for non-XEmacs. (defalias 'dframe-mouse-hscroll #[(e) "\304A@8@\305 \306_\307 \245 \306_\n\245T\211\310W\203\"\311\304!\2024 \312 \313ZV\2031\314\304!\2024\315\316!+\207" [e x-point pixels-per-10-col click-col 2 frame-pixel-width 10 frame-width 3 scroll-left window-width 5 scroll-right dframe-message "Click on the edge of the modeline to scroll left/right"] 4 (#$ . 25525) "e"]) (provide 'dframe)