[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
multiple displays and ttys
From: |
Stefan Monnier |
Subject: |
multiple displays and ttys |
Date: |
Fri, 21 Sep 2007 04:08:01 -0400 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/23.0.50 (gnu/linux) |
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)
- multiple displays and ttys,
Stefan Monnier <=