Subject: Re: bug#43672: 28.0.50; select-frame-set-input-focus does not set focus first time called

From: Arthur Miller <[email-masked]>
Date: Wed, 30 Sep 2020 11:31:16 +0200

martin rudalics <[email-masked]> writes:

>> I can't say why, but today this works fine with my "normal emacs"; with
>> all packages loaded and running as server/client.
>>
>> When I start with emacs -Q then it does not work; it needs two calls to
>> select-frame-set-input-focus.
>
> That is, you can interleave normal and -Q sessions and in the normal
> session "this works" and in the -Q session it doesn't?  Then I'm afraid
> that you have to bisect the things you do in your normal session to find
> out what makes "this work".
I just did; seems it has something with server/client to do.

It works in emacsclient; not when running as ordinary process. Tryed
both as emacs -Q, and with my init file.

>> I thought it might have something to do with focus and how WM raises
>> windows and gives focus; normally I have focus follow mouse but not auto
>> raising enabled. I have disabled auto-focus (need click into window to
>> give focus) but I see no difference in behaviour.
>
> By design, auto-focus should only affect mouse movements.  One recurring
> problem is, however, whether the WM should auto-move the mouse pointer
> to a freshly displayed window in order to make sure that if the mouse
> pointer was located on another window, that window would not regain
> focus immediately due to your auto-focus settings.  Note that that
> window _should_ retain focus when you specified 'no-focus-on-map' for
> the new frame but IIUC you did not do that.
In Compiz; the newly created window does get focus, but the mouse is not
moved; if mouse is noved then focus switches again; but this did not
spooked. It seems that it has something to do if it is emacs or
emacsclient.

I don't know how emacsclient works; maybe it just does not pass all
requests to the server correctly?