aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJuri Linkov2020-01-13 01:23:12 +0200
committerJuri Linkov2020-01-13 01:23:12 +0200
commitd47b157969356f15e038dbbfa4da7769f6f98583 (patch)
tree6cf88094de9220c6effc4b860b74c7e80b5da557 /src
parente4791f3f8eabf6db2e7e187c40a7d4d01d69b1e0 (diff)
downloademacs-d47b157969356f15e038dbbfa4da7769f6f98583.tar.gz
emacs-d47b157969356f15e038dbbfa4da7769f6f98583.zip
Handle tab-bar clicks on a GPM-capable console.
* src/term.c (handle_one_term_event): Call tty_handle_tab_bar_click. * src/xdisp.c (tty_handle_tab_bar_click): Force reset of up_modifier bit from the event modifiers. * lisp/tab-line.el (tab-line-tab-current): No need to use inverse-video on console/xterm because the selected tab already uses inverse-video.
Diffstat (limited to 'src')
-rw-r--r--src/term.c8
-rw-r--r--src/xdisp.c4
2 files changed, 12 insertions, 0 deletions
diff --git a/src/term.c b/src/term.c
index 871734318c0..a3aef31ec25 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2568,6 +2568,14 @@ handle_one_term_event (struct tty_display_info *tty, Gpm_Event *event,
2568 else { 2568 else {
2569 f->mouse_moved = 0; 2569 f->mouse_moved = 0;
2570 term_mouse_click (&ie, event, f); 2570 term_mouse_click (&ie, event, f);
2571 if (tty_handle_tab_bar_click (f, event->x, event->y,
2572 (ie.modifiers & down_modifier) != 0, &ie))
2573 {
2574 /* tty_handle_tab_bar_click stores 2 events in the event
2575 queue, so we are done here. */
2576 count += 2;
2577 return count;
2578 }
2571 } 2579 }
2572 2580
2573 done: 2581 done:
diff --git a/src/xdisp.c b/src/xdisp.c
index f3a297a7020..5b21aaa85a9 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -13516,6 +13516,10 @@ tty_handle_tab_bar_click (struct frame *f, int x, int y, bool down_p,
13516 f->last_tab_bar_item = prop_idx; 13516 f->last_tab_bar_item = prop_idx;
13517 else 13517 else
13518 { 13518 {
13519 /* Force reset of up_modifier bit from the event modifiers. */
13520 if (event->modifiers & up_modifier)
13521 event->modifiers &= ~up_modifier;
13522
13519 /* Generate a TAB_BAR_EVENT event. */ 13523 /* Generate a TAB_BAR_EVENT event. */
13520 Lisp_Object frame; 13524 Lisp_Object frame;
13521 Lisp_Object key = AREF (f->tab_bar_items, 13525 Lisp_Object key = AREF (f->tab_bar_items,