emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: select-frame-set-input-focus fails to raise the frame


From: martin rudalics
Subject: Re: select-frame-set-input-focus fails to raise the frame
Date: Wed, 13 Dec 2017 20:30:27 +0100

> Can you explain what the problem is and why you think it is unsolvable?

On most systems I know this one ...

  (let ((depress-frame (selected-frame))
        (release-frame (make-frame)))
    (select-frame-set-input-focus depress-frame)
    ;; On MacOS, depress-frame is never raised to the top
    ;; of the frame stack and never is given input focus
    ;; after release-frame is created.
    (sit-for 4)
    (select-frame-set-input-focus release-frame)))

... happens because a new frame is always raised and gets input focus
unless certain precautions are taken.  The following works here on
Windows:

(defun test ()
  (let ((depress-frame (selected-frame))
        (release-frame (make-frame '((no-focus-on-map . t)))))
    (select-frame-set-input-focus depress-frame)
    ;; On MacOS, depress-frame is never raised to the top
    ;; of the frame stack and never is given input focus
    ;; after release-frame is created.
    (sit-for 4)
    (select-frame-set-input-focus release-frame)))

> In the prior example with raise-frame and lower-frame, we see there is
> no problem combining the two of these but once (next-frame) is added
> the combination of the two does not work.  Why?  Why would you expect
> that to be the case?  Why is it not a bug?

It's by no means related to `next-frame' and it works here on Windows.
I have no idea why it doesn't work for you.

martin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]