diff --git a/ext/src/background/background.ts b/ext/src/background/background.ts index 0f7e755..d568094 100755 --- a/ext/src/background/background.ts +++ b/ext/src/background/background.ts @@ -226,6 +226,22 @@ async function initMenus () { } }); + // Hide cast item on extension pages + browser.menus.onShown.addListener(info => { + if (info.pageUrl?.startsWith(browser.runtime.getURL(""))) { + browser.menus.update(menuIdCast, { + visible: false + }); + + browser.menus.refresh(); + } + }); + browser.menus.onHidden.addListener(() => { + browser.menus.update(menuIdCast, { + visible: true + }); + }); + browser.menus.onShown.addListener(async info => { // Only rebuild menus if whitelist menu present // WebExt typings are broken again here, so ugly casting diff --git a/ext/src/manifest.json b/ext/src/manifest.json index 2e6c401..ef06e5f 100755 --- a/ext/src/manifest.json +++ b/ext/src/manifest.json @@ -49,6 +49,7 @@ , "permissions": [ "history" , "menus" + , "menus.overrideContext" , "nativeMessaging" , "storage" , "tabs" diff --git a/ext/src/ui/popup/index.tsx b/ext/src/ui/popup/index.tsx index d7f22b6..fafc803 100755 --- a/ext/src/ui/popup/index.tsx +++ b/ext/src/ui/popup/index.tsx @@ -361,3 +361,9 @@ window.addEventListener("load", () => { , document.querySelector("#root")); }); + +window.addEventListener("contextmenu", () => { + browser.menus.overrideContext({ + showDefaults: false + }); +});