;ELC   
;;; Compiled
;;; in Emacs version 29.3
;;; with all optimizations.



(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\306\303\320\321&\210\312\322\314\315\323DD\324\320\315%\210\312\325\314\315\326DD\327\306\303\320\315&\207" [require cl-lib custom-declare-group posframe nil "Pop a posframe (just a frame) at point." :group lisp :prefix "posframe-" custom-declare-variable posframe-inhibit-double-buffering funcall function #[0 "\300\207" [nil] 1 #1=""] "Set the posframe's frame-parameter: inhibit-double-buffering." :type boolean posframe-mouse-banish-function #[0 "\300\207" [posframe-mouse-banish-default] 1 #1#] "The function used to banish mouse.\n\nFunction `posframe-mouse-banish-default' will work well in most\ncase, but suggest use function `posframe-mouse-banish-simple' or\ncustom function for EXWM users." posframe-text-scale-factor-function #[0 "\300\207" [posframe-text-scale-factor-default] 1 #1#] "The function to adjust value of text-scale of posframe buffer.\n\nAccepts single argument which is the value of parent buffer\n`text-scale-mode-amount' or nil if the `text-scale-mode' is disabled in\nthe parent buffer."] 8)#@26 Record posframe's frame.
(defvar posframe--frame nil (#$ . 1198))
(make-variable-buffer-local 'posframe--frame)#@53 Record the last pixel position of posframe's frame.
(defvar posframe--last-posframe-pixel-position nil (#$ . 1315))
(make-variable-buffer-local 'posframe--last-posframe-pixel-position)#@43 Record the last size of posframe's frame.
(defvar posframe--last-posframe-size nil (#$ . 1505))
(make-variable-buffer-local 'posframe--last-posframe-size)#@53 Record the last displayed size of posframe's frame.
(defvar posframe--last-posframe-displayed-size nil (#$ . 1665))
(make-variable-buffer-local 'posframe--last-posframe-displayed-size)#@50 Record the last size of posframe's parent-frame.
(defvar posframe--last-parent-frame-size nil (#$ . 1855))
(make-variable-buffer-local 'posframe--last-parent-frame-size)#@34 Record the last poshandler info.
(defvar posframe--last-poshandler-info nil (#$ . 2030))
(make-variable-buffer-local 'posframe--last-poshandler-info)#@35 Record the last font height info.
(defvar posframe--last-font-height-info nil (#$ . 2185))
(make-variable-buffer-local 'posframe--last-font-height-info)#@122 Record the last arguments of `posframe--create-posframe'.

If these args have changed, posframe will recreate its
frame.
(defvar posframe--last-args nil (#$ . 2344))
(make-variable-buffer-local 'posframe--last-args)#@68 Record the timer to deal with timeout argument of `posframe-show'.
(defvar posframe--timeout-timer nil (#$ . 2565))
(make-variable-buffer-local 'posframe--timeout-timer)#@68 Record the timer to deal with refresh argument of `posframe-show'.
(defvar posframe--refresh-timer nil (#$ . 2740))
(make-variable-buffer-local 'posframe--refresh-timer)#@46 Record initialize status of `posframe-show'.
(defvar posframe--initialized-p nil (#$ . 2915))
(make-variable-buffer-local 'posframe--initialized-p)#@48 Record accept focus status of `posframe-show'.
(defvar posframe--accept-focus nil (#$ . 3068))
(make-variable-buffer-local 'posframe--accept-focus)#@37 Timer used by hidehandler function.
(defvar posframe-hidehandler-timer nil (#$ . 3221))#@180 Value to bind `x-gtk-resize-child-frames' to.

The value `resize-mode' only has effect on new child frames, so
if you change it, call `posframe-delete-all' for it to take
effect.
(defvar posframe-gtk-resize-child-frames (byte-code "\302W\2053 \303	\304\305\306$\266\203\2053 \307\310!\206 \307\311!\211;\205- \312\304\305\306$\266\203\262\2053 \313\207" [emacs-major-version system-configuration-features 29 "GTK3" nil string-match t getenv "XDG_CURRENT_DESKTOP" "DESKTOP_SESSION" "GNOME" resize-mode] 9) (#$ . 3315))#@32 Test posframe workable status.
(defalias 'posframe-workable-p #[0 "\303Y\205# 	?\205# \n?\205# \304 \204 \305\306!\205# \307\310 \311\"\312=?\207" [emacs-major-version noninteractive emacs-basic-display 26 display-graphic-p featurep tty-child-frames frame-parameter selected-frame minibuffer only] 3 (#$ . 3848)])#@7009 Pop up a posframe to show STRING at POSITION.

 (1) POSITION

POSITION can be:
1. An integer, meaning point position.
2. A cons of two integers, meaning absolute X and Y coordinates.
3. Other type, in which case the corresponding POSHANDLER should be
   provided.

 (2) POSHANDLER

POSHANDLER is a function of one argument returning an actual
position.  Its argument is a plist of the following form:

  (:position xxx
   :poshandler xxx
   :font-height xxx
   :font-width xxx
   :posframe xxx
   :posframe-width xxx
   :posframe-height xxx
   :posframe-buffer xxx
   :parent-frame xxx
   :parent-window-start xxx
   :parent-window-end xxx
   :parent-window-left xxx
   :parent-window-top xxx
   :parent-frame-width xxx
   :parent-frame-height xxx
   :parent-window xxx
   :parent-window-width  xxx
   :parent-window-height xxx
   :mouse-x xxx
   :mouse-y xxx
   :minibuffer-height xxx
   :mode-line-height  xxx
   :header-line-height xxx
   :tab-line-height xxx
   :x-pixel-offset xxx
   :y-pixel-offset xxx
   :parent-text-scale-mode-amount xxx)

By default, poshandler is auto-selected based on the type of POSITION,
but the selection can be overridden using the POSHANDLER argument.

The builtin poshandler functions are listed below:

1.  `posframe-poshandler-frame-center'
2.  `posframe-poshandler-frame-top-center'
3.  `posframe-poshandler-frame-top-left-corner'
4.  `posframe-poshandler-frame-top-right-corner'
5.  `posframe-poshandler-frame-top-left-or-right-other-corner'
6.  `posframe-poshandler-frame-bottom-center'
7.  `posframe-poshandler-frame-bottom-left-corner'
8.  `posframe-poshandler-frame-bottom-right-corner'
9.  `posframe-poshandler-window-center'
10. `posframe-poshandler-window-top-center'
11. `posframe-poshandler-window-top-left-corner'
12. `posframe-poshandler-window-top-right-corner'
13. `posframe-poshandler-window-bottom-center'
14. `posframe-poshandler-window-bottom-left-corner'
15. `posframe-poshandler-window-bottom-right-corner'
16. `posframe-poshandler-point-top-left-corner'
17. `posframe-poshandler-point-bottom-left-corner'
18. `posframe-poshandler-point-bottom-left-corner-upward'
19. `posframe-poshandler-point-window-center'
20. `posframe-poshandler-point-frame-center'

 (3) POSHANDLER-EXTRA-INFO

POSHANDLER-EXTRA-INFO is a plist, which will prepend to the
argument of poshandler function: `info', it will *OVERRIDE* the
exist key in `info'.

 (4) BUFFER-OR-NAME

This posframe's buffer is BUFFER-OR-NAME, which can be a buffer
or a name of a (possibly nonexistent) buffer.

buffer name can prefix with space, for example " *mybuffer*", so
the buffer name will hide for ibuffer and `list-buffers'.

 (5) NO-PROPERTIES

If NO-PROPERTIES is non-nil, The STRING's properties will
be removed before being shown in posframe.

 (6) HEIGHT, MAX-HEIGHT, MIN-HEIGHT, WIDTH, MAX-WIDTH and MIN-WIDTH

These arguments are specified in the canonical character width
and height of posframe, more details can be found in docstring of
function `fit-frame-to-buffer',

 (7) LEFT-FRINGE and RIGHT-FRINGE

If LEFT-FRINGE or RIGHT-FRINGE is a number, left fringe or
right fringe with be shown with the specified width.

 (8) BORDER-WIDTH, BORDER-COLOR, INTERNAL-BORDER-WIDTH and INTERNAL-BORDER-COLOR

By default, posframe shows no borders, but users can specify
borders by setting BORDER-WIDTH to a positive number.  Border
color can be specified by BORDER-COLOR.

INTERNAL-BORDER-WIDTH and INTERNAL-BORDER-COLOR are same as
BORDER-WIDTH and BORDER-COLOR, but do not suggest to use for the
reason:

   Add distinct controls for child frames' borders (Bug#45620)
   http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=ff7b1a133bfa7f2614650f8551824ffaef13fadc

 (9) FONT, FOREGROUND-COLOR and BACKGROUND-COLOR

Posframe's font as well as foreground and background colors are
derived from the current frame by default, but can be overridden
using the FONT, FOREGROUND-COLOR and BACKGROUND-COLOR arguments,
respectively.

 (10) CURSOR, TTY-NON-SELECTED-CURSOR and WINDOW-POINT

By default, cursor is not showed in posframe, user can let cursor
showed with this argument help by set its value to a `cursor-type'.

TTY-NON-SELECTED-CURSOR will let redisplay put the terminal
cursor in a non-selected frame, which is useful when use
vertico-posframe like package in tty.

When cursor need to be showed in posframe, user may need to set
WINDOW-POINT to the point of BUFFER, which can let cursor showed
at this point.

 (11) RESPECT-HEADER-LINE and RESPECT-MODE-LINE

By default, posframe will display no header-line, mode-line and
tab-line.  In case a header-line, mode-line or tab-line is
desired, users can set RESPECT-HEADER-LINE and RESPECT-MODE-LINE
to t.

 (12) INITIALIZE

INITIALIZE is a function with no argument.  It will run when
posframe buffer is first selected with `with-current-buffer'
in `posframe-show', and only run once (for performance reasons).

 (13) LINES-TRUNCATE

If LINES-TRUNCATE is non-nil, then lines will truncate in the
posframe instead of wrap.

 (14) OVERRIDE-PARAMETERS

OVERRIDE-PARAMETERS is very powful, *all* the valid frame parameters
used by posframe's frame can be overridden by it.

NOTE: some `posframe-show' arguments are not frame parameters, so they
can not be overrided by this argument.

 (15) TIMEOUT

TIMEOUT can specify the number of seconds after which the posframe
will auto-hide.

 (15) REFRESH

If REFRESH is a number, posframe's frame-size will be re-adjusted
every REFRESH seconds.

 (17) ACCEPT-FOCUS

When ACCEPT-FOCUS is non-nil, posframe will accept focus.
be careful, you may face some bugs when set it to non-nil.

 (18) HIDEHANDLER

HIDEHANDLER is a function, when it return t, posframe will be
hide, this function has a plist argument:

  (:posframe-buffer xxx
   :posframe-parent-buffer xxx)

The builtin hidehandler functions are listed below:

1. `posframe-hidehandler-when-buffer-switch'

 (19) REFPOSHANDLER

REFPOSHANDLER is a function, a reference position (most is
top-left of current frame) will be returned when call this
function.

when it is nil or it return nil, child-frame feature will be used
and reference position will be deal with in Emacs.

The user case I know at the moment is let ivy-posframe work well
in EXWM environment (let posframe show on the other application
window).

         DO NOT USE UNLESS NECESSARY!!!

An example parent frame poshandler function is:

1. `posframe-refposhandler-xwininfo'

 (19) Others

You can use `posframe-delete-all' to delete all posframes.

(fn BUFFER-OR-NAME &key STRING POSITION POSHANDLER POSHANDLER-EXTRA-INFO WIDTH HEIGHT MAX-WIDTH MAX-HEIGHT MIN-WIDTH MIN-HEIGHT X-PIXEL-OFFSET Y-PIXEL-OFFSET LEFT-FRINGE RIGHT-FRINGE BORDER-WIDTH BORDER-COLOR INTERNAL-BORDER-WIDTH INTERNAL-BORDER-COLOR FONT CURSOR TTY-NON-SELECTED-CURSOR WINDOW-POINT FOREGROUND-COLOR BACKGROUND-COLOR RESPECT-HEADER-LINE RESPECT-MODE-LINE INITIALIZE NO-PROPERTIES KEEP-RATIO LINES-TRUNCATE OVERRIDE-PARAMETERS TIMEOUT REFRESH ACCEPT-FOCUS HIDEHANDLER REFPOSHANDLER &allow-other-keys)
(defalias 'posframe-show #[385 "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306	\317\"A@\306\n\320\"A@\306\321\"A@\306\f\322\"A@\306\323\"A@\306\324\"A@\306\325\"A@\306\326\"A@\306\327\"A@\306\330\"A@\306\331\"A@\306\332\"A@\306\333\"A@\306\334\"A@\306\335\"A@\306\336\"A@\306\337\"A@\306\340\"A@\306\341\"A@\306\342\"A@\306\343\"A@\306\344\"A@\306\345\"A@\306 \346\"A@\306!\347\"A@\306\"\350\"A@\306#\351\"A@\306$\352\"A@\"\206\375 `\247\203\353 ^\202\353 \247\203\354 ^\202\354 \206#\355^\206+\355^$\2058$]^$\205C$]^ \206I\356 \206O\356\206U\356\3570!\360 \361!\362!\363!\364!\365!\366!\367!\370!\371!\372!\205\215\3731\213!0\202\215\210\374\375 r\376\f!q\210\377!)r\376!q\210\201A \300!\205\267\205\267\201A \301!\205\267	)\201B \201C  \205\325\201D 1\323\201E \201F !0\202\325\210\374!\366\201G  !\201H !\372\201I !\203\361\201I  \202\362\356\201J  A\201K \374\211rq\210\204\372*!\203) \210\201K \201L \310\"\3316\3327\3338\201M ?\2051\323D\324E\325F\326G\327H\330I\335F\336G\343D\344E\337L\340M\345J\350I\201N 0&)\262\201O D*\"\210\201P \313\314\315%\316&\317'\320(\257\310!\311E\201Q \201R \201P \n\201S !\201M \201T \201U \201V \201W *\201X +\201Y ,\201Z -\201[ .\201\\ /\201] 0\201^ &@\201_ (A\201` .\201a /\201b 0\201c 1\321H\322I\201N ;\2574\205+\205+\201d \201e D\201f \375 \"_\201g \201h  #_F#!\262\203]\203]\201i \201j !\203]\201k !\203]\f\232\204]\201l $\210\202\216\201m !\210\204\203\201d \201e D\201f \370!\201g \371\n!F#!\262\201n $\210\201o &\"\266\201p &\"\210\201q !\201r !\203\264\201s \"\210\210\376!\201t !\201u \201v &#\210\201u \201w B#\266@\201M \201^ @\205\361@\206\355\356@\\\201_ A\205A\206\356	A\\\201x 	@\356Y\203	@\202\370!\370\n!Z\201y A\356Y\2030A\2029\371!\371\f!Z\201f \370!\201g \371!\201T \201U \257!*\210\207" [text-scale-mode text-scale-mode-amount frame-resize-pixelwise posframe--initialized-p posframe--last-posframe-pixel-position posframe--frame plist-member :string :position :poshandler :poshandler-extra-info :width :height :max-width :max-height :min-width :min-height :x-pixel-offset :y-pixel-offset :left-fringe :right-fringe :border-width :border-color :internal-border-width :internal-border-color :font :cursor :tty-non-selected-cursor :window-point :foreground-color :background-color :respect-header-line :respect-mode-line :initialize :no-properties :keep-ratio :lines-truncate :override-parameters :timeout :refresh :accept-focus :hidehandler :refposhandler frame-width frame-height 1 0 get-buffer-create selected-window window-start window-end window-pixel-top window-pixel-left window-pixel-width window-pixel-height window-frame frame-pixel-width frame-pixel-height functionp (error) nil default-font-width window-buffer posframe--get-font-height posframe-mouse-banish-function boundp window-mode-line-height window-minibuffer-p (error) window-in-direction above minibuffer-window window-header-line-height window-tab-line-height mouse-pixel-position t posframe--create-posframe :parent-frame :parent-text-scale-mode-amount posframe--insert-string :posframe :font-height :font-width :posframe-buffer :parent-frame-width :parent-frame-height :ref-position :parent-window :parent-window-start :parent-window-end :parent-window-top :parent-window-left :parent-window-width :parent-window-height :mouse-x :mouse-y :mode-line-height :minibuffer-height :header-line-height :tab-line-height posframe-run-poshandler append :posframe-width :posframe-height default-line-height fboundp set-frame-size-and-position-pixelwise frame-visible-p posframe--set-frame-size-and-position posframe--set-frame-size posframe--set-frame-position posframe--run-refresh-timer posframe--run-timeout-timer frame-root-window window-live-p set-window-point buffer-name set-frame-parameter posframe-hidehandler posframe-parent-buffer :posframe-x :posframe-y] 123 (#$ . 4171)])#@51 Get the font's height at POSITION.

(fn POSITION)
(defalias 'posframe--get-font-height #[257 "\211@=\203\n A\207\211\250\205$ \211\301U?\205$ \302dY\203\" dS\202# !\250\205? \301U\2045 \303!\204: \304 \202? \305!\306HB\207" [posframe--last-font-height-info 1 font-at fontp default-line-height font-info 3] 5 (#$ . 15375)])#@749 Create and return a posframe child frame.
This posframe's buffer is BUFFER-OR-NAME.

The below optional arguments are similar to `posframe-show''s:
PARENT-FRAME, FOREGROUND-COLOR, BACKGROUND-COLOR, LEFT-FRINGE,
RIGHT-FRINGE, BORDER-WIDTH, BORDER-COLOR, INTERNAL-BORDER-WIDTH,
INTERNAL-BORDER-COLOR, FONT, KEEP-RATIO, LINES-TRUNCATE,
OVERRIDE-PARAMETERS, RESPECT-HEADER-LINE, RESPECT-MODE-LINE,
ACCEPT-FOCUS.

(fn BUFFER-OR-NAME &key POSITION PARENT-FRAME FOREGROUND-COLOR BACKGROUND-COLOR LEFT-FRINGE RIGHT-FRINGE BORDER-WIDTH BORDER-COLOR INTERNAL-BORDER-WIDTH INTERNAL-BORDER-COLOR FONT CURSOR TTY-NON-SELECTED-CURSOR KEEP-RATIO LINES-TRUNCATE OVERRIDE-PARAMETERS RESPECT-HEADER-LINE RESPECT-MODE-LINE ACCEPT-FOCUS PARENT-TEXT-SCALE-MODE-AMOUNT)
(defalias 'posframe--create-posframe #[385 "\306\307\"A@\306\310\"A@\306\311\"A@\306\312\"A@\306\313\"A@\306\314\"A@\306\315\"A@\306\316\"A@\306	\317\"A@\306\n\320\"A@\306\321\"A@\306\f\322\"A@\306\323\"A@\306\324\"A@\306\325\"A@\306\326\"A@\306\327\"A@\306\330\"A@\306\331\"A@\306\332\"A@\211\203\277 \211@\333>\203\247 \211A\204\237 \334\335@\"\210\211AA\262\202\211 \336>A@\203\266 \337\262\202\211 \334\340@\"\210\202\211 \210\206\306 \341\206\314 \341\206\327 \206\327 \341\206\336 \342\343!\203\355 \203\355 \343\202\356 \344\345!\337\346\347 \257rq\210\350\303!\210\337\350\304!\210\351\350\305!\210\337\350\352!\210\337*\350\353!\210\337+\350\354!\210\337,\350\355!\210\341-\350\356!\210\337.\350\357!\210/\350\360!\210\3370\350\361!\210\n1\204u\350\362!\210\3372\f\204\201\350\363!\210\3373\203\231\350\364!\2104\350\365!\2105\202\247\350\364!\210\3374\350\365!\210\33756\204\3028\204\302\350\366!\210\367\"6\350\370!\210\21186\203\325\3716!\203\3258\232\204P\372!\210\350\370!\210\2118\350\373!\210\337;\350\374!\210\337<\350\366!\210\375\376\205\377\377B\205\n\201D B\201E \201F \"B\201G D\201H \201I !BB\201J \201K ?B\201L \201M \201N \201O B\201P B\201Q \201R \201S B\201T B\201U \201V \201W \201X \201Y \201Z \201[ \347 \206\200!\341V\205\201\\ \201] !?B\201^ \364.B\201_ .B\201` \201a ;!B\201b <:\203\247<@\202\250\341B\201c =:\203\270=A\202\271\341B\201d \201e \201f \201g \201h @B\201i BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\"!6\201j 6\201k #\210\201j 6\201l \206\201m \201n \321!##\210\201o 6!\f\204/\201p \362\201q #\210\204>\201p \363\201q #\210\201r \"\210\201s \201t \"\266\203\220\201u 6\"\232\204\220\201v 6#\210\201w A\201x \"\203\220\201j 6\201D \206\216\201m \201n \201y \"#\210\201z 6\201{ \"\341=\204\251\201j 6\201{ \341#\210\201w \201| A\"\203\276\350\201B !\210\337B\201j 6\201F #\210\201} C!!\2106+\207" [posframe-gtk-resize-child-frames x-gtk-resize-child-frames after-make-frame-functions display-line-numbers frame-title-format left-margin-width plist-member :position :parent-frame :foreground-color :background-color :left-fringe :right-fringe :border-width :border-color :internal-border-width :internal-border-color :font :cursor :tty-non-selected-cursor :keep-ratio :lines-truncate :override-parameters :respect-header-line :respect-mode-line :accept-focus :parent-text-scale-mode-amount (:position :parent-frame :foreground-color :background-color :left-fringe :right-fringe :border-width :border-color :internal-border-width :internal-border-color :font :cursor :tty-non-selected-cursor :keep-ratio :lines-truncate :override-parameters :respect-header-line :respect-mode-line :accept-focus :parent-text-scale-mode-amount :allow-other-keys) error "Missing argument for %s" :allow-other-keys nil "Keyword argument %s not one of (:position :parent-frame :foreground-color :background-color :left-fringe :right-fringe :border-width :border-color :internal-border-width :internal-border-color :font :cursor :tty-non-selected-cursor :keep-ratio :lines-truncate :override-parameters :respect-header-line :respect-mode-line :accept-focus :parent-text-scale-mode-amount)" 0 facep child-frame-border internal-border get-buffer-create "args" display-graphic-p make-local-variable "" right-margin-width left-fringe-width right-fringe-width fringes-outside-margins fringe-indicator-alist truncate-lines show-trailing-whitespace posframe--accept-focus mode-line-format header-line-format cursor-type cursor-in-non-selected-windows posframe--frame posframe--find-existing-posframe posframe--last-args frame-live-p posframe-delete-frame posframe--last-posframe-pixel-position posframe--last-posframe-size make-frame append foreground-color posframe-inhibit-double-buffering emacs-version tab-line-format posframe-text-scale-factor-function background-color (title . "posframe") parent-frame keep-ratio posframe-buffer buffer-name (fullscreen) no-accept-focus (min-width . 0) (min-height . 0) (border-width . 0) internal-border-width child-frame-border-width (vertical-scroll-bars) (horizontal-scroll-bars) left-fringe right-fringe (menu-bar-lines . 0) (tool-bar-lines . 0) (tab-bar-lines . 0) (line-spacing . 0) (unsplittable . t) (no-other-frame . t) undecorated featurep tty-child-frames (visibility) tty-non-selected-cursor minibuffer minibuffer-window left top (width . 1) (height . 1) (no-special-glyphs . t) (skip-taskbar . t) inhibit-double-buffering ((desktop-dont-save . t)) set-frame-parameter last-args font face-attribute default frame-root-window set-window-parameter none set-window-buffer set-window-dedicated-p t face-background set-face-background version< "28.0" :background frame-parameter tab-bar-lines "27.0" text-scale-set] 70 (#$ . 15715)])#@84 Find existing posframe with BUFFER and LAST-ARGS.

(fn BUFFER &optional LAST-ARGS)
(defalias 'posframe--find-existing-posframe #[513 "\300\301\302#\303 \"\211\203 \304\305\306#\210\207" [cl-find-if make-closure #[257 "\302\303\"\304\301!@\232\206 \301A\232\300\203  \211\205! \300\302\305\"\232\207\211\207" [V0 V1 frame-parameter posframe-buffer buffer-name last-args] 7 "\n\n(fn FRAME)"] frame-list set-frame-parameter existing-posframe t] 7 (#$ . 21396)])#@117 Delete posframe pertaining to BUFFER-OR-NAME.
BUFFER-OR-NAME can be a buffer or a buffer name.

(fn BUFFER-OR-NAME)
(defalias 'posframe-delete-frame #[257 "\301!\211\205\n \302!\303\211\2057 \304!\2034 rq\210\305\211\2032 \211@\306!\203+ \307!\210A\266\202\202 )\210\310!)\207" [delete-frame-functions get-buffer posframe--find-existing-posframe nil buffer-live-p (posframe--refresh-timer posframe--timeout-timer) timerp cancel-timer delete-frame] 7 (#$ . 21870)])#@132 Insert STRING to current buffer.
If NO-PROPERTIES is non-nil, all properties of STRING
will be removed.

(fn STRING NO-PROPERTIES)
(defalias 'posframe--insert-string #[514 "\205# ;\205# \300\301G\302$\210\211\203 \303!\202 \304 \210\211c\262\207" [remove-text-properties 0 (read-only t) substring-no-properties erase-buffer] 7 (#$ . 22351)])#@57 Set POSFRAME's size based on SIZE-INFO.

(fn SIZE-INFO)
(defalias 'posframe--set-frame-size #[257 "\301\302\"\301\303\"\301\304\"\301\305\"\301\306\"\301\307\"\301\310\"\2039 \2039 \311\312 _\313 _\314$\210\202R \203G \315\"\210\202R \203R \316\"\210\203Z \204u \317\203l \320\202r \n\205r \321&\210\322\300!\210\211\207" [posframe--last-posframe-size plist-get :posframe :width :height :max-width :max-height :min-width :min-height set-frame-size default-font-width default-line-height t set-frame-height set-frame-width posframe--fit-frame-to-buffer vertically horizontally make-local-variable] 15 (#$ . 22707)])#@66 

(fn SIZE-INFO POSITION PARENT-FRAME-WIDTH PARENT-FRAME-HEIGHT)
(defalias 'posframe--set-frame-size-and-position #[1028 "\300\301\"\300\302\"\300\303\"\203 \211\204 \304\305!\210\306\307 _\310 _	@\nA%\210\311$\210\312!\207" [plist-get :posframe :width :height user-error "Width and height must be specified together" set-frame-size-and-position-pixelwise default-font-width default-line-height posframe--save-new-posframe-position posframe--make-frame-visible] 13 (#$ . 23371)])#@240 POSFRAME version of function `fit-frame-to-buffer'.
Arguments HEIGHT, MAX-HEIGHT, MIN-HEIGHT, WIDTH, MAX-WIDTH,
MIN-WIDTH and ONLY are similar function `fit-frame-to-buffer''s.

(fn POSFRAME MAX-HEIGHT MIN-HEIGHT MAX-WIDTH MIN-WIDTH ONLY)
(defalias 'posframe--fit-frame-to-buffer #[1542 "\302\303!\203 \303\304\211&\202+ \305&)\207" [posframe-gtk-resize-child-frames x-gtk-resize-child-frames functionp fit-frame-to-buffer-1 nil fit-frame-to-buffer] 15 (#$ . 23877)])#@106 Refresh POSFRAME every REPEAT seconds.

It will set POSFRAME's size by SIZE-INFO.

(fn REPEAT SIZE-INFO)
(defalias 'posframe--run-refresh-timer #[514 "\301\302\"\301\303\"\301\304\"\247\205< \305V\205< \205 \211?\205< \306!\203* \307!\210\310\300!\210\311\312\313\314\"$\211\207" [posframe--refresh-timer plist-get :posframe :width :height 0 timerp cancel-timer make-local-variable run-with-timer nil make-closure #[257 "\302\300\205 \303\300!\205 \304!)\207" [V0 frame-resize-pixelwise t frame-live-p posframe--set-frame-size] 3 "\n\n(fn SIZE-INFO)"]] 11 (#$ . 24380)])#@114 Run posframe's position handler.

the structure of INFO can be found in docstring
of `posframe-show'.

(fn INFO)
(defalias 'posframe-run-poshandler #[257 "\211\232\203 	\207\211\302\303\"\304!\211!\204 \207\305#\207" [posframe--last-poshandler-info posframe--last-posframe-pixel-position plist-get :ref-position posframe--get-valid-poshandler posframe--calculate-new-position] 8 (#$ . 24977)])#@65 Get valid poshandler function with the help of INFO.

(fn INFO)
(defalias 'posframe--get-valid-poshandler #[257 "\300\301\"\206. \300\302\"\211\250\203 \303\202, \211:\203) \211@\250\203) \211A\250\203) \304\202, \305\306!\262\207" [plist-get :poshandler :position posframe-poshandler-point-bottom-left-corner posframe-poshandler-absolute-x-y error "Posframe: have no valid poshandler"] 4 (#$ . 25387)])#@103 Calculate new position according to INFO, POSITION and REF-POSITION.

(fn INFO POSITION REF-POSITION)
(defalias 'posframe--calculate-new-position #[771 "\300\301\"\300\302\"\300\303\"\300\304\"@\206 \305A\206 \305@A\305W\2032 \\Z\262\211\305W\203@ \211\\Z\262\\\\B\207" [plist-get :parent-frame-width :parent-frame-height :posframe-width :posframe-height 0] 14 (#$ . 25801)])#@144 Move POSFRAME to POSITION.
This need PARENT-FRAME-WIDTH and PARENT-FRAME-HEIGHT

(fn POSFRAME POSITION PARENT-FRAME-WIDTH PARENT-FRAME-HEIGHT)
(defalias 'posframe--set-frame-position #[1028 "\232\203) 	B\232\203) @\303Y\203 A\303Y\2048 \n\304!\305!B\232\2048 \306@A#\210\307$\210\310!\207" [posframe--last-posframe-pixel-position posframe--last-parent-frame-size posframe--last-posframe-displayed-size 0 frame-pixel-width frame-pixel-height set-frame-position posframe--save-new-posframe-position posframe--make-frame-visible] 9 (#$ . 26211)])#@65 

(fn POSFRAME POSITION PARENT-FRAME-WIDTH PARENT-FRAME-HEIGHT)
(defalias 'posframe--save-new-posframe-position #[1028 "\303\300!\210\303\301!\210B\303\302!\210\304!\305!B\211\207" [posframe--last-posframe-pixel-position posframe--last-parent-frame-size posframe--last-posframe-displayed-size make-local-variable frame-pixel-width frame-pixel-height] 7 (#$ . 26778)])#@64 Let POSFRAME visible and redraw it when needed.

(fn POSFRAME)
(defalias 'posframe--make-frame-visible #[257 "\300!?\205 \301!\210\302!\205 \303!\207" [frame-visible-p make-frame-visible posframe--posframe-need-redraw-p redraw-frame] 3 (#$ . 27159)])#@53 Test POSFRAME need to redraw or not.

(fn POSFRAME)
(defalias 'posframe--posframe-need-redraw-p #[257 "\300\301\"\207" [frame-parameter existing-posframe] 4 (#$ . 27421)])#@66 Hide POSFRAME after a delay of SECS seconds.

(fn POSFRAME SECS)
(defalias 'posframe--run-timeout-timer #[514 "\211\247\205! \211\301V\205! \302!\203 \303!\210\304\300!\210\305\306\307$\211\207" [posframe--timeout-timer 0 timerp cancel-timer make-local-variable run-with-timer nil posframe--make-frame-invisible] 7 (#$ . 27599)])#@70 `make-frame-invisible' replacement to hide FRAME safely.

(fn FRAME)
(defalias 'posframe--make-frame-invisible #[257 "\300!\205 \301!\205 \302!\207" [frame-live-p frame-visible-p make-frame-invisible] 3 (#$ . 27940)])#@61 Banish mouse to (0, 0) of posframe base on INFO.

(fn INFO)
(defalias 'posframe-mouse-banish-simple #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\300\307\"\310\311U\2031 \312\\^\2027 \311\312Z]\311U\203G \313\\^\202M \311\313Z]#\207" [plist-get :parent-frame :posframe-x :posframe-y :posframe-width :posframe-height :parent-frame-width :parent-frame-height set-mouse-pixel-position 0 5 10] 14 (#$ . 28168)])#@176 Banish mouse base on INFO.

FIXME: This is a hacky fix for the mouse focus problem, which like:
https://github.com/tumashu/posframe/issues/4#issuecomment-357514918

(fn INFO)
(defalias 'posframe-mouse-banish-default #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\300\307\"\300\310\"\300	\311\"\205\204 \205\204 Y\205\204 \\X\205\204 Y\205\204 \\X\205\204 \312	\313U\203g \314\\^\202m \313\314Z]\313U\203} \315\\^\202\203 \313\315Z]#\207" [plist-get :parent-frame :mouse-x :mouse-y :posframe-x :posframe-y :posframe-width :posframe-height :parent-frame-width :parent-frame-height set-mouse-pixel-position 0 5 10] 16 (#$ . 28629)])#@455 Refresh posframe pertaining to BUFFER-OR-NAME.

For example:

   (defvar buf " *test*")
   (posframe-show buf)

   (with-current-buffer buf
     (erase-buffer)
     (insert "ffffffffffffff")
     (posframe-refresh buf))

User can use posframe-show's :refresh argument,
to do similar job:

   (defvar buf " *test*")
   (posframe-show buf :refresh 0.25)

   (with-current-buffer buf
     (erase-buffer)
     (insert "ffffffffffffff"))

(fn BUFFER-OR-NAME)
(defalias 'posframe-refresh #[257 "\302 \211\205. \211@\303\304\"\305@\232\204 A\232\203% rq\210\306	!)\210)\210A\266\202\202 \207" [frame-resize-pixelwise posframe--last-posframe-size frame-list frame-parameter posframe-buffer t posframe--set-frame-size] 6 (#$ . 29333)])#@27 Hide all posframe frames.
(defalias 'posframe-hide-all #[0 "\300 \211\205 \211@\301\302\"\203 \303!\210A\266\202\202 \207" [frame-list frame-parameter posframe-buffer posframe--make-frame-invisible] 5 (#$ . 30075) nil])#@115 Hide posframe pertaining to BUFFER-OR-NAME.
BUFFER-OR-NAME can be a buffer or a buffer name.

(fn BUFFER-OR-NAME)
(defalias 'posframe-hide #[257 "\211\205/ \301\302 \211\205, \211@\303\304\"@\232\204  A\232\203$ \305!\210\210A\266\202\202 )\262\207" [buffer-list-update-hook nil frame-list frame-parameter posframe-buffer posframe--make-frame-invisible] 6 (#$ . 30307)])#@34 Run posframe hidehandler daemon.
(defalias 'posframe-hidehandler-daemon #[0 "\301!\203\n \302!\210\303\304\305\306#\211\207" [posframe-hidehandler-timer timerp cancel-timer run-with-idle-timer 0.5 t posframe-hidehandler-daemon-function] 4 (#$ . 30693)])#@39 Posframe hidehandler daemon function.
(defalias 'posframe-hidehandler-daemon-function #[0 "\30017 \301 \211\2053 \211@\302\303\"\302\304\"\302\305\"\203* \306\307F!\203* \310!\210\266A\266\202\202 \2620\207\210\311\207" [(error) frame-list frame-parameter posframe-hidehandler posframe-buffer posframe-parent-buffer :posframe-buffer :posframe-parent-buffer posframe--make-frame-invisible nil] 10 (#$ . 30955)])
(posframe-hidehandler-daemon)#@171 Posframe hidehandler function.

This function let posframe hide when user switch buffer.
Note: This function is called in `post-command-hook'.
Argument INFO .

(fn INFO)
(defalias 'posframe-hidehandler-when-buffer-switch #[257 "\300\301\"A\302!\205 \211p\232?\207" [plist-get :posframe-parent-buffer buffer-live-p] 4 (#$ . 31414)])#@41 Delete all posframe frames and buffers.
(defalias 'posframe-delete-all #[0 "\302 \211\203 \211@\303\304\"\203 \305\306!)\210A\266\202\202 \210\307 \211\205: \211@r\211q\210	\2032 \310!\210)A\266\202\202  \207" [delete-frame-functions posframe--frame frame-list frame-parameter posframe-buffer nil delete-frame buffer-list posframe--kill-buffer] 5 (#$ . 31754) nil])#@111 Kill posframe's buffer: BUFFER-OR-NAME.
BUFFER-OR-NAME can be a buffer or a buffer name.

(fn BUFFER-OR-NAME)
(defalias 'posframe--kill-buffer #[257 "\300\301!!\205 \302!\207" [buffer-live-p get-buffer kill-buffer] 4 (#$ . 32135)])#@260 Delete posframe pertaining to BUFFER-OR-NAME and kill the buffer.
BUFFER-OR-NAME can be a buffer or a buffer name.

This function is not commonly used, for delete and recreate
posframe is very very slowly, `posframe-hide' is more useful.

(fn BUFFER-OR-NAME)
(defalias 'posframe-delete #[257 "\300!\210\301!\207" [posframe-delete-frame posframe--kill-buffer] 3 (#$ . 32376)])#@164 Select posframe of BUFFER-OR-NAME and call FUNCTION with ARGUMENTS.
BUFFER-OR-NAME can be a buffer or a buffer name.

(fn BUFFER-OR-NAME FUNCTION &rest ARGUMENTS)
(defalias 'posframe-funcall #[642 "\301!\205, \302!\205, rq\210\303!\205+ \304 p\305\306#\216\307\310\"\210\311\")\266\202)\207" [posframe--frame functionp get-buffer framep selected-frame make-closure #[0 "\302\301!\203 \303\301\304\"\210\305\300!\205 \300q\207" [V0 V1 frame-live-p select-frame norecord buffer-live-p] 3] select-frame norecord apply] 9 (#$ . 32760)])#@182 Posframe's position handler.

This poshandler function deal with (integer . integer) style
position.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-absolute-x-y #[257 "\300\301\"\300\302\"\300\303\"@\\A\\B\207" [plist-get :position :x-pixel-offset :y-pixel-offset] 7 (#$ . 33310)])#@160 The internal function used to deal with point-poshandler.
Argument INFO .

Optional arguments: FONT-HEIGHT and UPWARD.

(fn INFO &optional FONT-HEIGHT UPWARD)
(defalias 'posframe-poshandler-point-1 #[769 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\300	\307\"\300\n\310\"\211\250\2031 \311\"\2022 \211\300\f\312\"\300\313\"\314!@\3158\262@\206L \316\3178\262@\206W \316Z\\\\\320\321	!A@\3158\262A\206q \316\3178\262A\206} \316Z%\206\213 \300\322\"\\\316\206\230 \316Z^]\316\203\256 \206\250 \316Z\316V\202\271 \206\265 \316\\V\203\307 \206\303 \316Z\202\310 ]B\207" [plist-get :x-pixel-offset :y-pixel-offset :posframe-width :posframe-height :parent-window :parent-frame-width :parent-frame-height :position posn-at-point :header-line-height :tab-line-height window-inside-pixel-edges 2 0 8 + window-pixel-edges :font-height] 23 (#$ . 33669)])#@206 Posframe's position handler.

This poshandler function let top left corner of posframe align to
bottom left corner of point.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-point-bottom-left-corner #[257 "\300!\207" [posframe-poshandler-point-1] 3 (#$ . 34600)])#@269 Posframe's position handler.

This poshandler function let center of posframe vertical align to
center of window and top edge of posframe horizontal align to
buttom edge of current point.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-point-window-center #[257 "\300!@\301!AB\207" [posframe-poshandler-window-top-center posframe-poshandler-point-bottom-left-corner] 5 (#$ . 34933)])#@268 Posframe's position handler.

This poshandler function let center of posframe vertical align to
center of frame and top edge of posframe horizontal align to
buttom edge of current point.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-point-frame-center #[257 "\300!@\301!AB\207" [posframe-poshandler-frame-top-center posframe-poshandler-point-bottom-left-corner] 5 (#$ . 35390)])#@209 Posframe's position handler.

This poshandler function let bottom left corner of posframe align
to bottom left corner of point.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-point-bottom-left-corner-upward #[257 "\300\301\302#\207" [posframe-poshandler-point-1 nil t] 5 (#$ . 35844)])#@203 Posframe's position handler.

This poshandler function let top left corner of posframe align to
top left corner of point.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-point-top-left-corner #[257 "\300\301\"\207" [posframe-poshandler-point-1 0] 4 (#$ . 36201)])#@185 Posframe's position handler.

This poshandler function let center of posframe align to center
of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-center #[257 "\300\301\"\300\302\"Z\303\245\300\304\"\300\305\"Z\303\245B\207" [plist-get :parent-frame-width :posframe-width 2 :parent-frame-height :posframe-height] 6 (#$ . 36535)])#@203 Posframe's position handler.

This poshandler function let top edge center of posframe align
to top edge center of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-top-center #[257 "\300\301\"\300\302\"Z\303\245\304B\207" [plist-get :parent-frame-width :posframe-width 2 0] 5 (#$ . 36950)])#@203 Posframe's position handler.

This poshandler function let top left corner of posframe align to
top left corner of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-top-left-corner #[257 "\300\207" [(0 . 0)] 2 (#$ . 37324)])#@205 Posframe's position handler.

This poshandler function let top right corner of posframe align to
top right corner of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-top-right-corner #[257 "\300\207" [(-1 . 0)] 2 (#$ . 37629)])#@435 Posframe's position handler.

This poshandler function let posframe align to top left or top right
corner of frame, based on whether current window is relatively at left
or right in the current frame.  If window is at left, place posframe on
right, and vice versa.  (This is calculated by whether current window
center is left or right to frame center.)

The structure of INFO can be found in docstring of `posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-top-left-or-right-other-corner #[257 "\300\301\"\300\302\"\300\303\"\304\245\\\304\245X\203 \305\207\306\207" [plist-get :parent-window-left :parent-window-width :parent-frame-width 2 (-1 . 0) (0 . 0)] 7 (#$ . 37938)])#@209 Posframe's position handler.

This poshandler function let bottom left corner of posframe align
to buttom left corner of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-bottom-left-corner #[257 "\300\211\301\302\"Z\301\303\"ZB\207" [0 plist-get :mode-line-height :minibuffer-height] 6 (#$ . 38641)])#@211 Posframe's position handler.

This poshandler function let bottom right corner of posframe
align to buttom right corner of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-bottom-right-corner #[257 "\300\301\302\303\"Z\302\304\"ZB\207" [-1 0 plist-get :mode-line-height :minibuffer-height] 6 (#$ . 39025)])#@209 Posframe's position handler.

This poshandler function let bottom edge center of posframe align
to buttom edge center of frame.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-frame-bottom-center #[257 "\300\301\"\300\302\"Z\303\245\304\300\305\"\300\306\"\300\307\"\300\310\"$B\207" [plist-get :parent-frame-width :posframe-width 2 - :parent-frame-height :posframe-height :mode-line-height :minibuffer-height] 9 (#$ . 39415)])#@186 Posframe's position handler.

This poshandler function let center of posframe align to center
of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-center #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\307Z\310\245\\]\307Z\310\245\\]B\207" [plist-get :parent-window-left :parent-window-top :parent-window-width :parent-window-height :posframe-width :posframe-height 0 2] 12 (#$ . 39919)])#@204 Posframe's position handler.

This poshandler function let top left corner of posframe align to
top left corner of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-top-left-corner #[257 "\300\301\"\300\302\"B\207" [plist-get :parent-window-left :parent-window-top] 5 (#$ . 40425)])#@204 Posframe's position handler.

This poshandler function let top right corner of posframe align to
top left right of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-top-right-corner #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\\\305Z\\B\207" [plist-get :parent-window-left :parent-window-top :parent-window-width :posframe-width 0] 8 (#$ . 40794)])#@204 Posframe's position handler.

This poshandler function let top edge center of posframe align to
top edge center of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-top-center #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\305Z\306\245\\]B\207" [plist-get :parent-window-left :parent-window-top :parent-window-width :posframe-width 0 2] 9 (#$ . 41236)])#@210 Posframe's position handler.

This poshandler function let bottom left corner of posframe align to
bottom left corner of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-bottom-left-corner #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\\\306ZZ\\B\207" [plist-get :parent-window-left :parent-window-top :parent-window-height :posframe-height :mode-line-height 0] 10 (#$ . 41681)])#@212 Posframe's position handler.

This poshandler function let bottom right corner of posframe
align to bottom right corner of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-bottom-right-corner #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\300\307\"\\\310Z\\\\\310ZZ\\B\207" [plist-get :parent-window-left :parent-window-top :parent-window-width :parent-window-height :posframe-width :posframe-height :mode-line-height 0] 12 (#$ . 42165)])#@210 Posframe's position handler.

This poshandler function let bottom edge center of posframe align
to bottom edge center of window.

The structure of INFO can be found in docstring of
`posframe-show'.

(fn INFO)
(defalias 'posframe-poshandler-window-bottom-center #[257 "\300\301\"\300\302\"\300\303\"\300\304\"\300\305\"\300\306\"\300\307\"\310Z\311\245\\]\\\310ZZ\\B\207" [plist-get :parent-window-left :parent-window-top :parent-window-width :parent-window-height :posframe-width :posframe-height :mode-line-height 0 2] 12 (#$ . 42726)])#@132 Parent FRAME poshander function.
Get the position of parent frame (current frame) with the help of
xwininfo.

(fn &optional FRAME)
(defalias 'posframe-refposhandler-xwininfo #[256 "\301\302!\205J \303\304\305\"r\211q\210\306\307\"\216\310\311\302\310\305\310\312\313\314\"\315\313\n\316\"&\210eb\210\317\320!\210\321\322\317\323!\324 \"!\321\322\317\325!\324 \"!B\266\202+\262\207" [case-fold-search executable-find "xwininfo" generate-new-buffer " *temp*" t make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] nil call-process "-display" frame-parameter display "-id" window-id search-forward "Absolute upper-left" string-to-number buffer-substring-no-properties "X: " line-end-position "Y: "] 13 (#$ . 43289)])
(byte-code "\301\302\"\203 \303\304\305\"\210\202 \306\307\310\311B\305\312$\210\312\207" [emacs-version version< "27.1" add-hook focus-in-hook posframe--redirect-posframe-focus advice--add-function :after #[0 "\300\301!\207" [default-value after-focus-change-function] 2] #[257 "\300\301\"\207" [set-default after-focus-change-function] 4 "\n\n(fn GV--VAL)"] nil] 5)#@145 Redirect focus from the posframe to the parent frame.
This prevents the posframe from catching keyboard input if the
window manager selects it.
(defalias 'posframe--redirect-posframe-focus #[0 "\302 =\205 	?\205 \303\304 \"\207" [posframe--frame posframe--accept-focus selected-frame redirect-frame-focus frame-parent] 3 (#$ . 44417)])#@165 Return PARENT-TEXT-SCALE-MODE-AMOUNT or 0 if it is nil.
This ensures text scale factor is always a number for posframe display.

(fn PARENT-TEXT-SCALE-MODE-AMOUNT)
(defalias 'posframe-text-scale-factor-default #[257 "\211\206 \300\207" [0] 2 (#$ . 44763)])
(provide 'posframe)
