GNU bug report logs - #41343
tab-bar-mode: Close tab on mouse-2 click

Previous Next

Package: emacs;

Reported by: Stefan Kangas <stefankangas <at> gmail.com>

Date: Sun, 17 May 2020 04:06:02 UTC

Severity: wishlist

Tags: fixed, patch

Merged with 41342

Fixed in version 28.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 41343 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 41343 <at> debbugs.gnu.org, stefankangas <at> gmail.com
Subject: Re: bug#41343: tab-bar-mode: Close tab on mouse-2 click
Date: Fri, 06 Aug 2021 03:41:17 +0300
>> > Do we really have to hard-code the mouse button this way, including
>> > explicit values in C?  Why is that necessary or justified?
>>
>> In tab-line.el it was very easy to bind mouse-2 to close the tab:
>>
>>   (defvar tab-line-tab-map
>>     (let ((map (make-sparse-keymap)))
>>       (define-key map [tab-line mouse-1] 'tab-line-select-tab)
>>       (define-key map [tab-line mouse-2] 'tab-line-close-tab)
>>
>> But it's impossible to do the same for the menu-bar and the tool-bar
>> and so in the tab-bar too.
>
> Why not?  What prevents that?

It's too late to change how keys are implemented for tab-bar.
The tab-bar keymap contains such keys as 'tab-1' and 'C-tab-2',
and clicking mouse-1 on tabs emits such events.  It doesn't emit
'mouse-1' and 'mouse-2'.

>> Or do you mean adding an integer variable that holds
>> a number of the mouse button used to close the tab?
>> For example, tab-bar-close-tab-mouse-button = 2.
>
> I think we should explore such possibilities only after we understand
> why normal key bindings don't work.

It should be possible to implement normal key bindings mouse-1/mouse-2,
but such change will not be backward-compatible.




This bug report was last modified 3 years and 302 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.