From 2e52bee236d9bbd41bb7144bd99739e2e6493e0a Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sun, 5 Oct 2025 23:56:05 +0000 Subject: [PATCH 1/2] Initial plan From a9f1a8eddb0f0545beb3877c7bead12acdfa9a0b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Mon, 6 Oct 2025 00:01:06 +0000 Subject: [PATCH 2/2] Add support for opening context menu items in new tab with Ctrl/Cmd+Click or middle-click Co-authored-by: andrewgierens <4150500+andrewgierens@users.noreply.github.com> --- src/background.ts | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/background.ts b/src/background.ts index c7582ae..a960a4f 100644 --- a/src/background.ts +++ b/src/background.ts @@ -65,10 +65,20 @@ Browser.contextMenus.onClicked.addListener((info, tab) => { return; } - goPath(tab, itemIndex); + // Check if user wants to open in new tab (middle-click or Ctrl/Cmd+click) + const openInNewTab = + info.button === 1 || // Middle click + info.modifiers?.includes('Ctrl') || // Ctrl key on Windows/Linux + info.modifiers?.includes('Command'); // Cmd key on Mac + + goPath(tab, itemIndex, openInNewTab); }); -async function goPath(tab: Browser.Tabs.Tab, urlIndex: number) { +async function goPath( + tab: Browser.Tabs.Tab, + urlIndex: number, + openInNewTab = false +) { if (!tab.id) return; if (tab.id < 0) { @@ -83,5 +93,10 @@ async function goPath(tab: Browser.Tabs.Tab, urlIndex: number) { if (!tab.url) return; const url = new URL(tab.url); const newUrl = `${url.protocol}//${url.hostname}${link.pathUrl}`; - Browser.tabs.update(tab.id, { url: newUrl }); + + if (openInNewTab) { + Browser.tabs.create({ url: newUrl }); + } else { + Browser.tabs.update(tab.id, { url: newUrl }); + } }