[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PATCH: focus follows mouse in C
From: |
Pavel Janík |
Subject: |
Re: PATCH: focus follows mouse in C |
Date: |
Sat, 09 Feb 2002 12:53:12 +0100 |
User-agent: |
Gnus/5.090006 (Oort Gnus v0.06) Emacs/21.2.50 (i386-suse-linux-gnu) |
From: "Eli Zaretskii" <address@hidden>
Date: Sat, 09 Feb 2002 12:01:46 +0200
> > Of course, because "focus follows mouse".
>
> That sounds like a misfeature to me: it's very easy to make small
> mouse movements just by tapping on the table or on the keyboard. Some
> users might become annoyed enough to not use the feature, just because
> of this.
>
> How about if window reselection will only be done if the mouse is in a
> window different from the one it was the last time, at least as a user
> option?
Yes, now I finally understand your and RMS' point. I agree and I think that
it should default to behaviour described by you. I think that when I have
two windows and point is in the bottom one and I do C-x o, small mouse
movement (still in bottom window) should not (by default, but user should
be able to change it) select the bottom window again. This should be it
(module cus-start.el etc. changes):
--- xterm.c.~1.703.~ Sun Jan 27 17:15:53 2002
+++ xterm.c Sat Feb 9 12:45:39 2002
@@ -253,6 +253,15 @@
static int any_help_event_p;
+/* Non-zero means autoselect window with the mouse cursor. */
+
+int x_autoselect_window_p;
+
+/* Non-zero means always autoselect window even if user switched to
+ the different window. */
+
+int x_autoselect_always_p;
+
/* Non-zero means draw block and hollow cursor as wide as the glyph
under it. For example, if a block cursor is over a tab, it will be
drawn as wide as that tab on the display. */
@@ -6605,6 +6614,26 @@
last_mouse_motion_event = *event;
XSETFRAME (last_mouse_motion_frame, frame);
+ if (x_autoselect_window_p)
+ {
+ int area;
+ Lisp_Object window;
+ static Lisp_Object last_window;
+
+ window = window_from_coordinates (frame, XINT (event->x), XINT
(event->y), &area, 0);
+
+ /* Window will be selected only when it is not selected now and
+ last mouse movement event was not in it. Minubuffer window
+ will be selected iff it is active. */
+ if ( (x_autoselect_always_p || !EQ (window, last_window))
+ && !EQ (window, selected_window)
+ && (!MINI_WINDOW_P (XWINDOW (window))
+ || (EQ (window, minibuf_window) && minibuf_level > 0)))
+ Fselect_window (window);
+
+ last_window=window;
+ }
+
if (event->window != FRAME_X_WINDOW (frame))
{
frame->mouse_moved = 1;
@@ -15002,6 +15031,15 @@
previous_help_echo = Qnil;
staticpro (&previous_help_echo);
help_echo_pos = -1;
+
+ DEFVAR_BOOL ("x-autoselect-window", &x_autoselect_window_p,
+ doc: /* *Non-nil means autoselect window with mouse pointer. */);
+ x_autoselect_window_p = 0;
+
+ DEFVAR_BOOL ("x-autoselect-always", &x_autoselect_always_p,
+ doc: /* *Non-nil means always autoselect window with mouse pointer
+even if user switched to different window. */);
+ x_autoselect_always_p = 0;
DEFVAR_BOOL ("x-stretch-cursor", &x_stretch_cursor_p,
doc: /* *Non-nil means draw block cursor as wide as the glyph under it.
--
Pavel Janík
panic("IRQ, you lose...");
-- 2.2.16 arch/mips/sgi/kernel/indy_int.c
- PATCH: focus follows mouse in C, Pavel Janík, 2002/02/03
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/06
- Re: PATCH: focus follows mouse in C, Richard Stallman, 2002/02/07
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/07
- Re: PATCH: focus follows mouse in C, Richard Stallman, 2002/02/08
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/09
- Re: PATCH: focus follows mouse in C, Eli Zaretskii, 2002/02/09
- Re: PATCH: focus follows mouse in C,
Pavel Janík <=
- Re: PATCH: focus follows mouse in C, Eli Zaretskii, 2002/02/09
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/09
- Re: PATCH: focus follows mouse in C, Al Petrofsky, 2002/02/09
- Re: PATCH: focus follows mouse in C, Eli Zaretskii, 2002/02/10
- Re: PATCH: focus follows mouse in C, Al Petrofsky, 2002/02/10
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/09
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/16
- Re: PATCH: focus follows mouse in C, Eli Zaretskii, 2002/02/16
- Re: PATCH: focus follows mouse in C, Richard Stallman, 2002/02/10
- Re: PATCH: focus follows mouse in C, Pavel Janík, 2002/02/11