From 3bdef10dc1c836e5e5a6fdcc1c21155cbd80d798 Mon Sep 17 00:00:00 2001 From: regomne Date: Mon, 26 Sep 2022 20:48:32 +0100 Subject: [PATCH] patch 9.0.0597: cannot close a tab page with the middle mouse button Problem: Cannot close a tab page with the middle mouse button. Solution: Support closing a tab page with the middle mouse button, like many other programs. (closes #10746) --- src/gui_gtk_x11.c | 6 ++++++ src/gui_w32.c | 14 ++++++++++++++ src/version.c | 2 ++ 3 files changed, 22 insertions(+) diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 3cdf22260..945cb09ca 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -3345,6 +3345,12 @@ on_tabline_menu(GtkWidget *widget, GdkEvent *event) send_tabline_event(x < 50 ? -1 : 0); } } + else if (bevent->button == 2) + { + if (clicked_page != 0) + // Middle mouse click on tabpage label closes that tab. + send_tabline_menu_event(clicked_page, TABLINE_MENU_CLOSE); + } } // We didn't handle the event. diff --git a/src/gui_w32.c b/src/gui_w32.c index 203b8fa54..3ade63113 100644 --- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -8094,6 +8094,20 @@ tabline_wndproc( } break; } + case WM_MBUTTONUP: + { + TCHITTESTINFO htinfo; + + htinfo.pt.x = GET_X_LPARAM(lParam); + htinfo.pt.y = GET_Y_LPARAM(lParam); + idx0 = TabCtrl_HitTest(hwnd, &htinfo); + if (idx0 != -1) + { + idx0 += 1; + send_tabline_menu_event(idx0, TABLINE_MENU_CLOSE); + } + break; + } default: break; } diff --git a/src/version.c b/src/version.c index 3111b4f92..d6535b392 100644 --- a/src/version.c +++ b/src/version.c @@ -699,6 +699,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 597, /**/ 596, /**/