mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
Implement numeric values of `mouse-highlight' on Haiku
* src/haikuterm.c (haiku_read_socket): Clear mouse face on keyboard input if `mouse-highlight' is a fixnum.
This commit is contained in:
parent
e7f25b95f4
commit
376d6cf36a
@ -2693,11 +2693,24 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit)
|
||||
case KEY_DOWN:
|
||||
{
|
||||
struct haiku_key_event *b = buf;
|
||||
Mouse_HLInfo *hlinfo = &x_display_list->mouse_highlight;
|
||||
struct frame *f = haiku_window_to_frame (b->window);
|
||||
int non_ascii_p;
|
||||
if (!f)
|
||||
continue;
|
||||
|
||||
/* If mouse-highlight is an integer, input clears out
|
||||
mouse highlighting. */
|
||||
if (!hlinfo->mouse_face_hidden && FIXNUMP (Vmouse_highlight)
|
||||
&& (f == 0
|
||||
|| !EQ (f->tool_bar_window, hlinfo->mouse_face_window)
|
||||
|| !EQ (f->tab_bar_window, hlinfo->mouse_face_window)))
|
||||
{
|
||||
clear_mouse_face (hlinfo);
|
||||
hlinfo->mouse_face_hidden = true;
|
||||
need_flush = 1;
|
||||
}
|
||||
|
||||
inev.code = b->unraw_mb_char;
|
||||
|
||||
BMapKey (b->kc, &non_ascii_p, &inev.code);
|
||||
@ -2738,6 +2751,7 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit)
|
||||
{
|
||||
struct haiku_mouse_motion_event *b = buf;
|
||||
struct frame *f = haiku_window_to_frame (b->window);
|
||||
Mouse_HLInfo *hlinfo = &x_display_list->mouse_highlight;
|
||||
|
||||
if (!f)
|
||||
continue;
|
||||
@ -2748,6 +2762,13 @@ haiku_read_socket (struct terminal *terminal, struct input_event *hold_quit)
|
||||
x_display_list->last_mouse_movement_time = time (NULL);
|
||||
button_or_motion_p = 1;
|
||||
|
||||
if (hlinfo->mouse_face_hidden)
|
||||
{
|
||||
hlinfo->mouse_face_hidden = false;
|
||||
clear_mouse_face (hlinfo);
|
||||
need_flush = 1;
|
||||
}
|
||||
|
||||
if (b->just_exited_p)
|
||||
{
|
||||
Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
|
||||
|
Loading…
Reference in New Issue
Block a user