unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Carlos Pita <carlosjosepita@gmail.com>
Cc: lekktu@gmail.com, 37826@debbugs.gnu.org
Subject: bug#37826: Very annoying autoraise client/server behavior with -t option
Date: Sun, 27 Oct 2019 07:22:20 +0200	[thread overview]
Message-ID: <834kzuu5ir.fsf@gnu.org> (raw)
In-Reply-To: <CAELgYhegRo2inROhB4Xyu2cEnActmHGSHJqqFLkSiTycROMoDA@mail.gmail.com> (message from Carlos Pita on Sat, 26 Oct 2019 17:27:02 -0300)

> From: Carlos Pita <carlosjosepita@gmail.com>
> Date: Sat, 26 Oct 2019 17:27:02 -0300
> Cc: Juanma Barranquero <lekktu@gmail.com>, 37826@debbugs.gnu.org
> 
> Only if minibuffer-auto-rise is also nil:
> 
> (let* ((minibuffer-auto-raise (or server-raise-frame minibuffer-auto-raise))

Yes, but minibuffer-auto-raise is nil by default.

> Anyway, I want the frame to be raised when it's switched to, just not
> another frame and specially not because of barely relevant messages.

I understand.

So here's an idea.  Does the following change work for you in your
original scenario?

diff --git a/lisp/server.el b/lisp/server.el
index 45fa55a..b23fdc4 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -1405,7 +1405,9 @@ server-visit-files
 	  (if (null obuf)
 	      (progn
 		(run-hooks 'pre-command-hook)
-		(set-buffer (find-file-noselect filen)))
+		(set-buffer
+                 (let (minibuffer-auto-raise)
+                   (find-file-noselect filen))))
             (set-buffer obuf)
 	    ;; separately for each file, in sync with post-command hooks,
 	    ;; with the new buffer current:

If this works, then can you test this in several situations different
from yours, including:

  . invoking emacsclient without -t when there's a GUI client frame
    that is iconified
  . an existing client frame is visible (not iconified)
  . visiting a file that is already visited

and maybe others, and see if the message displayed by
shell-script-mode appears as expected, and causes the right frame to
be raised (if needed)?  (It might be that in some of these situations
we need to avoid binding minibuffer-auto-raise to nil, in which case
server-visit-files will need some additional logic or an additional
argument to discern between them.)

Thanks.





  reply	other threads:[~2019-10-27  5:22 UTC|newest]

Thread overview: 45+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-19 20:46 bug#37826: Very annoying autoraise client/server behavior with -t option Carlos Pita
2019-10-19 21:39 ` Carlos Pita
2019-10-20  6:23   ` Eli Zaretskii
2019-10-21  8:58     ` Carlos Pita
2019-10-21 10:22       ` Eli Zaretskii
2019-10-21 13:37         ` Carlos Pita
2019-10-21 13:53           ` Eli Zaretskii
2019-10-21 14:18             ` Carlos Pita
2019-10-21 14:52               ` Carlos Pita
2019-10-21 15:13                 ` Carlos Pita
2019-10-21 16:19                 ` Eli Zaretskii
2019-10-21 16:13               ` Eli Zaretskii
2019-10-21 16:21                 ` Carlos Pita
2019-10-21 16:33                   ` Carlos Pita
2019-10-21 16:39                     ` Eli Zaretskii
2019-10-21 16:37                   ` Eli Zaretskii
2019-10-21 15:56             ` Juanma Barranquero
2019-10-21 16:26               ` Eli Zaretskii
2019-10-21 17:02                 ` Juanma Barranquero
2019-10-21 17:13                   ` Eli Zaretskii
2019-10-21 18:40                     ` Carlos Pita
2019-10-21 20:14                       ` Carlos Pita
2019-10-26 10:57                         ` Eli Zaretskii
2019-10-26 15:53                           ` Carlos Pita
2019-10-26 19:02                             ` Eli Zaretskii
2019-10-26 20:27                               ` Carlos Pita
2019-10-27  5:22                                 ` Eli Zaretskii [this message]
2019-10-27  5:45                                   ` Carlos Pita
2019-10-27  6:02                                     ` Eli Zaretskii
2019-10-27 15:04                                       ` Carlos Pita
2019-10-27 15:31                                         ` Eli Zaretskii
2019-10-27 16:31                                           ` Carlos Pita
2019-10-27 16:36                                             ` Eli Zaretskii
2019-10-27 17:02                                               ` Carlos Pita
2019-10-27 17:09                                                 ` Eli Zaretskii
2019-10-27 17:19                                                   ` Carlos Pita
2019-10-27 17:50                                                     ` Eli Zaretskii
2019-11-07 17:23                                                       ` Eli Zaretskii
2020-08-09 16:12                                                         ` Lars Ingebrigtsen
2020-08-09 17:16                                                           ` Eli Zaretskii
2020-08-09 17:26                                                             ` Lars Ingebrigtsen
2019-10-22 14:46                     ` Juanma Barranquero
2019-10-21 13:55           ` Carlos Pita
2019-10-21 13:58             ` Eli Zaretskii
2019-10-20  5:55 ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=834kzuu5ir.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=37826@debbugs.gnu.org \
    --cc=carlosjosepita@gmail.com \
    --cc=lekktu@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).