%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/ |
Current File : //usr/local/share/emacs/27.2/lisp/frame.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. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301\302\301\303\304#\305#\210\306\307\310\311#\210\312\301\304\313\304\314%\207" [defalias frame-creation-function cl-generic-define (params) nil "Method for window-system dependent functions to create a new frame.\nThe window system startup file should add its frame creation\nfunction to this method, which should take an alist of parameters\nas its argument.\n\n(fn PARAMS)" put window-system cl-generic--context-rewriter #[257 "\300:\203\n \202 \301DD\207" [window-system eql] 4 "\n\n(fn VALUE)"] cl-generic-define-method (params &context (window-system nil)) #[257 "\300!\207" [tty-create-frame-with-faces] 3 "\n\n(fn PARAMS)"]] 6) #@398 Window-system dependent default frame parameters. The value should be an alist of elements (WINDOW-SYSTEM . ALIST), where WINDOW-SYSTEM is a window system symbol (as returned by `framep') and ALIST is a frame parameter alist like `default-frame-alist'. Then, for frames on WINDOW-SYSTEM, any parameters specified in ALIST supersede the corresponding parameters specified in `default-frame-alist'. (defvar window-system-default-frame-alist nil (#$ . 1068)) #@216 Alist of patterns to decode display names. The car of each entry is a regular expression matching a display name string. The cdr is a symbol giving the window-system that handles the corresponding kind of display. (defvar display-format-alist nil (#$ . 1531)) (byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315\310\311&\207" [custom-declare-variable initial-frame-alist funcall function #[0 "\300\207" [nil] 1] "Alist of parameters for the initial X window frame.\nYou can set this in your init file; for example,\n\n (setq initial-frame-alist\n \\='((top . 1) (left . 1) (width . 80) (height . 55)))\n\nParameters specified here supersede the values given in\n`default-frame-alist'.\n\nIf the value calls for a frame without a minibuffer, and you have\nnot created a minibuffer frame on your own, a minibuffer frame is\ncreated according to `minibuffer-frame-alist'.\n\nYou can specify geometry-related options for just the initial\nframe by setting this variable in your init file; however, they\nwon't take effect until Emacs reads your init file, which happens\nafter creating the initial frame. If you want the initial frame\nto have the proper geometry as soon as it appears, you need to\nuse this three-step process:\n* Specify X resources to give the geometry you want.\n* Set `default-frame-alist' to override these options so that they\n don't affect subsequent frames.\n* Set `initial-frame-alist' in a way that matches the X resources,\n to override what you put in `default-frame-alist'." :type (repeat (cons :format "%v" (symbol :tag "Parameter") (sexp :tag "Value"))) :group frames minibuffer-frame-alist #[0 "\300\207" [((width . 80) (height . 2))] 1] "Alist of parameters for the initial minibuffer frame.\nThis is the minibuffer frame created if `initial-frame-alist'\ncalls for a frame without a minibuffer. The parameters specified\nhere supersede those given in `default-frame-alist', for the\ninitial minibuffer frame.\n\nYou can set this in your init file; for example,\n\n (setq minibuffer-frame-alist\n \\='((top . 1) (left . 1) (width . 80) (height . 2)))\n\nIt is not necessary to include (minibuffer . only); that is\nappended when the minibuffer frame is created." (repeat (cons :format "%v" (symbol :tag "Parameter") (sexp :tag "Value")))] 8) #@59 Handle delete-frame events from the X server. (fn EVENT) (defalias 'handle-delete-frame #[257 "\300!\211@\262\3012; \302 \211\2058 \211@\211=\2041 \303!\2031 \304!\2041 \305\306\"\2041 \307\301\310\"\210A\266\202\202 \2620\203E \311\310\"\202G \312 \207" [event-start other-frame frame-list frame-visible-p frame-parent frame-parameter delete-before throw t delete-frame save-buffers-kill-emacs] 7 (#$ . 3872) "e"]) #@251 Return FRAME's last known focus state. If nil or omitted, FRAME defaults to the selected frame. Return nil if the frame is definitely known not be focused, t if the frame is known to be focused, and `unknown' if we don't know. (fn &optional FRAME) (defalias 'frame-focus-state #[256 "\211\206 \300 \301!\211\204 \302\303\"\202= \211=\204 \304\202= \305!\204( \304\202= \306\307\"\211\310\267\202: \311\202; \304\202; \312\262\207" [selected-frame tty-top-frame frame-parameter last-focus-update nil frame-visible-p terminal-parameter tty-focus-state #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (focused 50 defocused 54)) t unknown] 6 (#$ . 4306)]) #@1255 Function called after frame focus may have changed. This function is called with no arguments when Emacs notices that the set of focused frames may have changed. Code wanting to do something when frame focus changes should use `add-function' to add a function to this one, and in this added function, re-scan the set of focused frames, calling `frame-focus-state' to retrieve the last known focus state of each frame. Focus events are delivered asynchronously, and frame input focus according to an external system may not correspond to the notion of the Emacs selected frame. Multiple frames may appear to have input focus simultaneously due to focus event delivery differences, the presence of multiple Emacs terminals, and other factors, and code should be robust in the face of this situation. Depending on window system, focus events may also be delivered repeatedly and with different focus states before settling to the expected values. Code relying on focus notifications should "debounce" any user-visible updates arising from focus changes, perhaps by deferring work until redisplay. This function may be called in arbitrary contexts, including from inside `read-event', so take the same care as you might when writing a process filter. (defvar after-focus-change-function 'ignore (#$ . 5014)) #@476 Normal hook run when a frame gains focus. The frame gaining focus is selected at the time this hook is run. This hook is obsolete. Despite its name, this hook may be run in situations other than when a frame obtains input focus: for example, we also run this hook when switching the selected frame internally to handle certain input events (like mouse wheel scrolling) even when the user's notion of input focus hasn't changed. Prefer using `after-focus-change-function'. (defvar focus-in-hook nil (#$ . 6332)) (make-obsolete-variable 'focus-in-hook "after-focus-change-function" "27.1" 'set) #@221 Normal hook run when all frames lost input focus. This hook is obsolete; see `focus-in-hook'. Depending on timing, this hook may be delivered when a frame does in fact have focus. Prefer `after-focus-change-function'. (defvar focus-out-hook nil (#$ . 6935)) (make-obsolete-variable 'focus-out-hook "after-focus-change-function" "27.1" 'set) #@185 Handle a focus-in event. Focus-in events are bound to this function; do not change this binding. Focus-in events occur when a frame receives focus from the window system. (fn EVENT) (defalias 'handle-focus-in #[257 "\211\242\301=\204 \302\303!\210\211A@\304!\203$ \305!\210\211\306\307\310#\266\311\312!\210\210 \207" [after-focus-change-function focus-in error "handle-focus-in should handle focus-in events" frame-live-p internal-handle-focus-in set-frame-parameter last-focus-update t run-hooks focus-in-hook] 7 (#$ . 7285) "e"]) #@229 Handle a focus-out event. Focus-out events are bound to this function; do not change this binding. Focus-out events occur when a frame loses focus, but that's not the whole story: see `after-focus-change-function'. (fn EVENT) (defalias 'handle-focus-out #[257 "\211@\301=\204 \302\303!\210\211A@\304!\203 \211\305\306\307#\266\310\311!\210\210 \207" [after-focus-change-function focus-out error "handle-focus-out should handle focus-out events" frame-live-p set-frame-parameter last-focus-update nil run-hooks focus-out-hook] 7 (#$ . 7833) "e"]) #@101 Handle a move-frame event. This function runs the abnormal hook `move-frame-functions'. (fn EVENT) (defalias 'handle-move-frame #[257 "\300!\211@\262\301\302\"\207" [event-start run-hook-with-args move-frame-functions] 5 (#$ . 8394) "e"]) (defvar frame-initial-frame nil) (defvar frame-initial-geometry-arguments nil) #@39 Create an initial frame if necessary. (defalias 'frame-initialize #[0 "\205A ?\205A \306=?\205A \307\n\310 \"\2040 \311\f\312#\313B B\314 !\211\315!\316\317\320\n\317\"#\210\321\n!\210\312\211\207" [initial-window-system noninteractive terminal-frame initial-frame-alist default-frame-alist frame-initial-frame-alist pc delq minibuffer-frame-list append nil window-system make-frame frame-remove-geometry-params set-frame-parameter environment frame-parameter delete-frame frame-initial-frame default-minibuffer-frame] 6 (#$ . 8722)]) #@69 Non-nil means function `frame-notice-user-settings' wasn't run yet. (defvar frame-notice-user-settings t (#$ . 9279)) (defalias 'tool-bar-lines-needed 'tool-bar-height) #@202 Act on user's init file settings of frame parameters. React to settings of `initial-frame-alist', `window-system-default-frame-alist' and `default-frame-alist' there (in decreasing order of priority). (defalias 'frame-notice-user-settings #[0 "p \236A\306\n\236\206 \306\236\206 \306\236\206 \307A\f\203w \204w \310 \311\312\236\"\262\311\306\236\"\262\313\314\203= \202F \315\n\314%\"\210\204v \310 \316 \317\"\210\310 \262\320\236\203t \321\n\236\204o \321\236\204o \322!\210\323\"\210\266\210\324 !\203\216\325 \203\326\n\236\326\236\206\216 \326\236\206\223 \211\327 \330\"\211\331V\203\203\255 A\203\262 A\331=\204\262 \204\332>\236A\333 \332\":\203\377 @\334=\203\377 \211:\203\335 \211@\335=\203\335 \335A@\\D\202\366 \211:\203\363 \211@\334=\203\363 \334A@ZD\202\366 \211\\\313 \332BC\"\266\266\203\203A\203A\331=\203\336\337!\210\266\325 \203\273\340\n\236\340\236\206-\340\236\2062\211\341 \330\"\211\331V\203\271\203LA\203QA\331=\204Q\"\204\271\332>\236A\333 \332\":\203\236@\334=\203\236\211:\203|\211@\335=\203|\335A@\\D\202\225\211:\203\222\211@\334=\203\222\334A@ZD\202\225\211\\\313 \332BC\"\266\266\"\203\271\203\271A\203\265A\331=\203\271\342\337!\210\266\211\330=\204\323\314\211?\343=\203\317\344\331\330\"\210\345\310 !\236A\204\337\346\347!\210\202\317\310 !\262\312@\236\204\363\311\312\236\"\262\350@\236\204\311\350\236\"\262\315\n\314%\262\351=\203\352\311\306\236\"B\262\353\311\354\236\"B\262\355>\236\2032\356\355\"\262\357>\236\203?\356\357\"\262\360>\236\203L\356\360\"\262\332>\236\203Y\356\332\"\262\361\315>\362#!\262\311 \363 \"\204\210\351=\203\204\364BABA\365\314!\210\366!)\204\210\365\314!\210\367\370!\211\204\226B =\203\304\367\371!\206\236\363 @\372!B =\203\254B\211\203\302\211@\313\306BC\"\210A\266\202\202\255\266\210\373 \"\210\374 \330\"\266\202\216\314\211\211\315\n\314$\262\355>\236\203\354\356\355\"\262\357>\236\203\371\356\357\"\262\360>\236\203\356\360\"\262\332>\236\203\356\332\"\262\262\314\211\211\203I\211@\211@@\236\262\211@\236A\262\2039A=\204B\211@BB\262A\266\202\202\266\237\262\320\236\211\203p\313 C\"\210\321\236\204f\322 !\210\323 !\210\311\"\262C@\247\203\210C@S \375\314FCABBC\313 \"\266q\210\314\211\211\207" [initial-window-system window-system-default-frame-alist initial-frame-alist default-frame-alist frame-notice-user-settings frame-initial-frame minibuffer (minibuffer . t) frame-parameters delq name modify-frame-parameters nil append selected-frame tty-handle-reverse-video background-color background-mode frame-set-background-mode face-set-after-frame-default frame-live-p display-graphic-p tab-bar-lines tab-bar-height t 0 top frame-parameter - + tab-bar-mode -1 tool-bar-lines tool-bar-height tool-bar-mode windows-nt sit-for visibility sleep-for 1 parent-id child-frame (minibuffer) (reverse) reverse height assq-delete-all width left make-frame ((user-size . t) (user-position . t)) minibuffer-frame-list parent-frame make-initial-minibuffer-frame select-frame filtered-frame-list #[257 "\211=?\205 \301\302!!=\207" [frame-initial-frame window-frame minibuffer-window] 4 "\n\n(fn FRAME)"] #[257 "\300\301!\236A\302=\207" [minibuffer frame-parameters only] 4 "\n\n(fn FRAME)"] minibuffer-window redirect-frame-focus delete-frame "FRAME-NOTICE-USER" frame-initial-geometry-arguments system-type frame-initial-frame-alist minibuffer-frame-alist default-minibuffer-frame frame-size-history] 15 (#$ . 9455)]) #@16 (fn DISPLAY) (defalias 'make-initial-minibuffer-frame #[257 "\301\302\"\203 \303\"\202 \304!\207" [minibuffer-frame-alist append ((minibuffer . only)) make-frame-on-display make-frame] 5 (#$ . 13110)]) #@314 Modify all current and future frames' parameters according to ALIST. This changes `default-frame-alist' and possibly `initial-frame-alist'. Furthermore, this function removes all parameters in ALIST from `window-system-default-frame-alist'. See help of `modify-frame-parameters' for more information. (fn ALIST) (defalias 'modify-all-frames-parameters #[257 "\304 \211\203 \211@\305\"\210A\266\202\202 \210\211\211\203K \211@\203&