mirror of
https://github.com/zen-browser/desktop.git
synced 2026-01-07 05:43:21 +00:00
feat: Enable opening new tab on middle click in tab bar
This commit adds the functionality to open a new tab on middle click in the tab bar. The code changes include adding the preference 'zen.tabs.newtab-on-middle-click' and defining the lazy preference getter 'canOpenTabOnMiddleClick' in the ZenUIManager. The 'openNewTabOnTabsMiddleClick' function now checks if the middle click event occurred on the tab bar and if the preference is enabled before opening a new tab. Refs: #1887
This commit is contained in:
@@ -99,9 +99,12 @@ pref('zen.view.sidebar-expanded.max-width', 400);
|
||||
|
||||
pref('zen.view.sidebar-collapsed.hide-mute-button', true);
|
||||
|
||||
pref('zen.tabs.dim-pending', true);
|
||||
pref('zen.tabs.newtab-on-middle-click', true);
|
||||
|
||||
pref('zen.keyboard.shortcuts.enabled', true, locked);
|
||||
pref('zen.keyboard.shortcuts.version', 0); // Empty string means default shortcuts
|
||||
pref('zen.tabs.dim-pending', true);
|
||||
|
||||
pref('zen.themes.updated-value-observer', false);
|
||||
|
||||
pref('zen.tab-unloader.enabled', true);
|
||||
|
||||
@@ -87,14 +87,21 @@ var gZenVerticalTabsManager = {
|
||||
|
||||
let tabs = document.getElementById("tabbrowser-tabs");
|
||||
|
||||
XPCOMUtils.defineLazyPreferenceGetter(
|
||||
this,
|
||||
"canOpenTabOnMiddleClick",
|
||||
"zen.tabs.newtab-on-middle-click",
|
||||
true
|
||||
);
|
||||
|
||||
if (tabs) {
|
||||
tabs.addEventListener("mouseup", this.openNewTabOnTabsMiddleClick.bind(this));
|
||||
}
|
||||
},
|
||||
|
||||
openNewTabOnTabsMiddleClick(event) {
|
||||
if (event.button === 1 && event.target.id === "tabbrowser-tabs") {
|
||||
BrowserCommands.openTab({ event });
|
||||
if (event.button === 1 && event.target.id === "tabbrowser-tabs" && this.canOpenTabOnMiddleClick) {
|
||||
document.getElementById("cmd_newNavigatorTabNoEvent").doCommand();
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user