From e65e700bdd76882ac81519980fcd631feb60063f Mon Sep 17 00:00:00 2001 From: Nam Tran Date: Wed, 11 Oct 2023 19:30:52 +0700 Subject: [PATCH] Add context menu --- src/background.js | 18 +++++++++++++++++- src/manifest.json | 3 ++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/background.js b/src/background.js index 942103e..29be345 100644 --- a/src/background.js +++ b/src/background.js @@ -6,7 +6,7 @@ // Load files necessary for clipping -chrome.action.onClicked.addListener(async function (tab) { +function executeScript(tab) { chrome.scripting.executeScript({ target: {tabId: tab.id}, files: [ @@ -22,6 +22,10 @@ chrome.action.onClicked.addListener(async function (tab) { files: ['run.js'] }) }) +}; + +chrome.action.onClicked.addListener(async function (tab) { + executeScript(tab); }); chrome.runtime.onMessage.addListener(async function listener(result) { @@ -59,4 +63,16 @@ chrome.runtime.onInstalled.addListener(function (object) { if (object.reason === chrome.runtime.OnInstalledReason.INSTALL) { chrome.tabs.create({ url: chrome.runtime.getURL("options.html") }, function (tab) {}); } +}); + +chrome.contextMenus.create({ + contexts: ['all'], + title: 'Send to Obsidian', + id: 'Obsidian Clipper', +}); + +chrome.contextMenus.onClicked.addListener(function(info, tab) { + if (info.menuItemId == "Obsidian Clipper") { + executeScript(tab); + } }); \ No newline at end of file diff --git a/src/manifest.json b/src/manifest.json index 9272e60..53a46ce 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -19,7 +19,8 @@ "activeTab", "clipboardWrite", "storage", - "scripting" + "scripting", + "contextMenus" ], "host_permissions": [ "https://jplattel.github.io/obsidian-clipper/clip.html"