all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Stefan Monnier <monnier@iro.umontreal.ca>
To: emacs-devel@gnu.org
Subject: multiple displays and ttys
Date: Fri, 21 Sep 2007 04:08:01 -0400	[thread overview]
Message-ID: <jwv3ax8tpgr.fsf-monnier+emacs@gnu.org> (raw)


Now that I'm using emacsclient even more, I more often bump into situations
where Emacs displays a buffer in some display that I cannot see.

I suggest the patch below which makes that only the frames on
the `current terminal' are considered as visible.

This way, when you're working on /dev/pts/2, all the frames on ":0.0" are
considered as invisible, and similarly between different X displays.

I find this invaluable.  Any objection?


        Stefan


diff -u -b /home/monnier/src/emacs/trunk/src/window.c /home/monnier/src/emacs/work/src/window.c
--- /home/monnier/src/emacs/trunk/src/window.c	2007-09-21 03:55:52.000000000 -0400
+++ /home/monnier/src/emacs/work/src/window.c	2007-09-21 04:03:11.000000000 -0400
@@ -1794,7 +1798,8 @@
   else if (EQ (all_frames, Qvisible))
     {
       FRAME_SAMPLE_VISIBILITY (f);
-      candidate_p = FRAME_VISIBLE_P (f);
+      candidate_p = FRAME_VISIBLE_P (f)
+	&& (FRAME_TERMINAL (f) == FRAME_TERMINAL (XFRAME (selected_frame)));
     }
   else if (INTEGERP (all_frames) && XINT (all_frames) == 0)
     {
@@ -1810,7 +1815,8 @@
 		     || (FRAME_X_P (f) && f->output_data.x->asked_for_visible
 			 && !f->output_data.x->has_been_visible)
 #endif
-		     );
+		     )
+	&& (FRAME_TERMINAL (f) == FRAME_TERMINAL (XFRAME (selected_frame)));
     }
   else if (WINDOWP (all_frames))
     candidate_p = (EQ (FRAME_MINIBUF_WINDOW (f), all_frames)

             reply	other threads:[~2007-09-21  8:08 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-09-21  8:08 Stefan Monnier [this message]
2007-09-21 22:34 ` multiple displays and ttys Richard Stallman
2007-09-22 19:38   ` Stefan Monnier
2007-09-23 15:05     ` Richard Stallman

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

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

  git send-email \
    --in-reply-to=jwv3ax8tpgr.fsf-monnier+emacs@gnu.org \
    --to=monnier@iro.umontreal.ca \
    --cc=emacs-devel@gnu.org \
    /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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.