Daniel Martín via "Bug reports for GNU Emacs, the Swiss army knife of text editors" writes: > > One downside of removing raise_frame is that, after you press C-x 5 0, > you cannot start typing right away without first focusing on another > Emacs frame manually. People would consider this a regression from > previous versions and something that doesn't happen on GNU/Linux. > > A possibly better approach could be: > > Once the "other" frame to select is chosen by the code that is just > above in frame.c, call some Obj-C code that extracts the EmacsView and > makes it the first responder: > > EmacsView *view = FRAME_NS_VIEW (frame1); > [self makeFirstResponder:view]; > > I haven't tested this, but perhaps this makes the other frame receive > focus without switching desktops in a multi-desktop configuration. The attached patch avoids the unwanted side effects of raise-frame by making the other frame the key window, instead. Could you give it a try?