help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: closing emacsclient always focuses another emacs window


From: Eli Zaretskii
Subject: Re: closing emacsclient always focuses another emacs window
Date: Mon, 10 Mar 2014 22:03:45 +0200

> From: Michael Heerdegen <michael_heerdegen@web.de>
> Date: Mon, 10 Mar 2014 20:40:32 +0100
> 
> > AFAIK, which frame becomes selected in this situation is determined by
> > the window manager.
> 
> I don't think that's what's happening.
> 
> This is what is evaluated:
> 
>     (apply 'server-switch-buffer (server-done))
> 
> After `server-done' is evaluated, the client (e.g. the xterm) always has
> input focus.  The fact that
> 
>     (advice-add
>      'server-switch-buffer :around
>      (lambda (f &rest args)
>        (when (car args) (apply f args))))
> 
> fixes the problem for the OP shows that this is also the case for him.
> 
> Note: while (server-done) is evaluated, `server-delete-client' calls
> `delete-frame', which implicitly selects another Emacs frame.
> 
> Ok, after evaluating (server-done) now we have a different Emacs frame
> selected, the server frame was deleted, and xterm has focus.
> 
> Now, `server-switch-buffer' is evaluated (without any Emacs frame having
> input focus), and, depending on the current selected frame,
> `select-frame-set-input-focus'es it as I explained.
> 
> So, the issue is completely independent from any window manager.

I'm sorry, but you lost me.

All I know is that I don't see on my system any Emacs frame being
raised.



reply via email to

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