aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-03-15 21:55:03 +0300
committerManeraKai <manerakai@protonmail.com>2022-03-15 21:55:03 +0300
commit5582bde76b7c31275ae8e833e768ee52f2f11f48 (patch)
tree7670190806d4653d4b7239f5adfc7de0ce34cfb2
parentAdded a shortcut for chaning instance ALT+SHIFT+L #112 (diff)
downloadlibredirect-5582bde76b7c31275ae8e833e768ee52f2f11f48.zip
Implemented changeInstance shortcut in a different way #112
Diffstat (limited to '')
-rw-r--r--src/manifest.json8
-rw-r--r--src/pages/background/background.js28
-rw-r--r--src/pages/background/shortcuts.js13
3 files changed, 21 insertions, 28 deletions
diff --git a/src/manifest.json b/src/manifest.json
index 6d36be6c..c261e221 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -45,5 +45,13 @@
"encoding": "UTF-8",
"is_default": false
}
+ },
+ "commands": {
+ "changeInstance": {
+ "suggested_key": {
+ "default": "Alt+Shift+L"
+ },
+ "description": "Change Instance"
+ }
}
} \ No newline at end of file
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index 6b76177a..779d0e95 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -167,14 +167,6 @@ browser.tabs.onUpdated.addListener(
if (instagramHelper.isBibliogram(url)) instagramHelper.initBibliogramCookies(url);
// if (changeInfo.url && youtubeHelper.isPipedorInvidious(url, 'main_frame', 'pipedMaterial')) youtubeHelper.initPipedMaterialLocalStorage(tabId);
- if (changeWholeInstance(url))
- browser.tabs.executeScript(
- tabId,
- {
- file: "/pages/background/shortcuts.js",
- runAt: "document_start"
- }
- );
});
function changeWholeInstance(url) {
@@ -203,12 +195,18 @@ function changeWholeInstance(url) {
return newUrl;
}
-browser.runtime.onMessage.addListener(
- message => {
- if (message.function === 'changeInstance') {
- const url = new URL(message.url);
- let newUrl = changeWholeInstance(url);
- if (newUrl) browser.tabs.update({ url: newUrl });
- }
+browser.commands.onCommand.addListener(
+ command => {
+ if (command === 'changeInstance')
+ chrome.tabs.query(
+ { active: true, currentWindow: true },
+ tabs => {
+ let url;
+ try { url = new URL(tabs[0].url); }
+ catch (_) { return }
+ let newUrl = changeWholeInstance(url);
+ if (newUrl) browser.tabs.update({ url: newUrl });
+ }
+ );
}
) \ No newline at end of file
diff --git a/src/pages/background/shortcuts.js b/src/pages/background/shortcuts.js
deleted file mode 100644
index 12885479..00000000
--- a/src/pages/background/shortcuts.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-
-window.browser = window.browser || window.chrome;
-
-document.addEventListener('keydown',
- e => {
- if (e.code === 'KeyL' && e.shiftKey && e.altKey)
- browser.runtime.sendMessage({
- function: "changeInstance",
- url: window.location.href,
- });
- }
-) \ No newline at end of file