diff options
Diffstat (limited to 'src/msdos.c')
| -rw-r--r-- | src/msdos.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/msdos.c b/src/msdos.c index f466196f9af..f5dff6fb5bc 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -1196,6 +1196,10 @@ static Lisp_Object help_echo_window; | |||
| 1196 | static Lisp_Object help_echo_object; | 1196 | static Lisp_Object help_echo_object; |
| 1197 | static int help_echo_pos; | 1197 | static int help_echo_pos; |
| 1198 | 1198 | ||
| 1199 | /* Non-zero means automatically select any window when the mouse | ||
| 1200 | cursor moves into it. */ | ||
| 1201 | int x_autoselect_window_p; | ||
| 1202 | |||
| 1199 | static int mouse_preempted = 0; /* non-zero when XMenu gobbles mouse events */ | 1203 | static int mouse_preempted = 0; /* non-zero when XMenu gobbles mouse events */ |
| 1200 | 1204 | ||
| 1201 | /* Set the mouse pointer shape according to whether it is in the | 1205 | /* Set the mouse pointer shape according to whether it is in the |
| @@ -3388,6 +3392,27 @@ dos_rawgetc () | |||
| 3388 | might need to update mouse highlight. */ | 3392 | might need to update mouse highlight. */ |
| 3389 | if (mouse_last_x != mouse_prev_x || mouse_last_y != mouse_prev_y) | 3393 | if (mouse_last_x != mouse_prev_x || mouse_last_y != mouse_prev_y) |
| 3390 | { | 3394 | { |
| 3395 | if (x_autoselect_window_p) | ||
| 3396 | { | ||
| 3397 | int mouse_area; | ||
| 3398 | Lisp_Object mouse_window; | ||
| 3399 | |||
| 3400 | mouse_window = window_from_coordinates (SELECTED_FRAME(), | ||
| 3401 | mouse_last_x, | ||
| 3402 | mouse_last_y, | ||
| 3403 | &mouse_area, 0); | ||
| 3404 | /* A window will be selected only when it is not | ||
| 3405 | selected now and last mouse movement event was not in | ||
| 3406 | it. A minubuffer window will be selected iff it is | ||
| 3407 | active. */ | ||
| 3408 | if (!EQ (mouse_window, selected_window) | ||
| 3409 | && (!MINI_WINDOW_P (XWINDOW (mouse_window)) | ||
| 3410 | || (EQ (mouse_window, minibuf_window) | ||
| 3411 | && minibuf_level > 0))) | ||
| 3412 | { | ||
| 3413 | Fselect_window (mouse_window); | ||
| 3414 | } | ||
| 3415 | } | ||
| 3391 | previous_help_echo = help_echo; | 3416 | previous_help_echo = help_echo; |
| 3392 | help_echo = help_echo_object = help_echo_window = Qnil; | 3417 | help_echo = help_echo_object = help_echo_window = Qnil; |
| 3393 | help_echo_pos = -1; | 3418 | help_echo_pos = -1; |
| @@ -5315,6 +5340,10 @@ syms_of_msdos () | |||
| 5315 | 5340 | ||
| 5316 | This variable is used only by MSDOS terminals. */); | 5341 | This variable is used only by MSDOS terminals. */); |
| 5317 | Vdos_unsupported_char_glyph = '\177'; | 5342 | Vdos_unsupported_char_glyph = '\177'; |
| 5343 | |||
| 5344 | DEFVAR_BOOL ("x-autoselect-window", &x_autoselect_window_p, | ||
| 5345 | doc: /* *Non-nil means autoselect window with mouse pointer. */); | ||
| 5346 | x_autoselect_window_p = 0; | ||
| 5318 | #endif | 5347 | #endif |
| 5319 | #ifndef subprocesses | 5348 | #ifndef subprocesses |
| 5320 | DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, | 5349 | DEFVAR_BOOL ("delete-exited-processes", &delete_exited_processes, |