
Open links quietly por martin
Open links in muted tabs from the right-click context menu. Also with "Quiet Mode".
Irá necessitar do Firefox para utilizar esta extensão
Metadados da extensão
Capturas de ecrã


Acerca desta extensão
This extension allows you to open links, bookmarks and bookmark folders in muted tabs, from the right-click context menu.
It adds a button on the tab bar that turns on/off the "Quiet Mode".
When Quiet Mode is ON all new tabs are automatically muted.
This add-on needs the permission to read your bookmarks. If you're worried about that, just read the source code. It will take you less than a minute.
BACKGROUND.JS
let quietMode = false;
function onCreatedItem() {
if (browser.runtime.lastError) {
console.log(`Error: ${browser.runtime.lastError}`);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
function onCreatedTab(tab) {
browser.tabs.update(tab.id, {muted: true});
}
function createTab(tabUrl) {
var creating = browser.tabs.create({
url:tabUrl,
active:false
});
creating.then(onCreatedTab, onError);
}
function getFolderChildren(bookmarkId) {
var gettingChildren = browser.bookmarks.getChildren(bookmarkId);
gettingChildren.then(onFulfilledFolder, onError);
}
function onFulfilledFolder(children) {
for (child of children) {
if (child.url){
createTab(child.url);
} else {
getFolderChildren(child.id);
}
}
}
function onFulfilled(bookmarks) {
if (bookmarks[0].url) {
createTab(bookmarks[0].url)
} else {
getFolderChildren(bookmarks[0].id);
}
}
function handleCreated(tab) {
if (quietMode) {
onCreatedTab(tab);
}
}
function toggleQuietMode(isEnabled){
if (!isEnabled) {
browser.browserAction.setTitle({title: "Back to normal"});
browser.browserAction.setIcon({path: "tab-audio-muted.svg"});
quietMode = true;
} else {
browser.browserAction.setTitle({title: null});
browser.browserAction.setIcon({path: null})
quietMode = false;
}
}
browser.menus.create({
id: "open-link-muted",
title: "Open link quietly",
contexts: ["link"]
}, onCreatedItem);
browser.menus.create({
id: "open-bookmark-muted",
title: "Open quietly",
contexts: ["bookmark"]
}, onCreatedItem);
browser.menus.onClicked.addListener((info, tab) => {
switch (info.menuItemId) {
case "open-link-muted":
createTab(info.linkUrl);
break;
case "open-bookmark-muted":
var gettingBookmarks = browser.bookmarks.get(info.bookmarkId);
gettingBookmarks.then(onFulfilled, onError);
break;
}
});
browser.browserAction.onClicked.addListener(() => {
toggleQuietMode(quietMode);
});
browser.tabs.onCreated.addListener((tab) => {
if (quietMode) {
handleCreated(tab);
}
});
MANIFEST.JSON
{
"manifest_version": 2,
"name":"Open link quietly",
"description":"Open links in muted tabs from the right-click context menu. Also with \"quiet mode\".",
"version":"0",
"developer": {
"name": "martin"
},
"background": {
"scripts": ["background.js"]
},
"permissions": [
"menus",
"bookmarks"
],
"browser_action": {
"browser_style": true,
"default_icon": "tab-audio-playing.svg",
"default_title": "Open links/tabs quietly",
"default_area": "tabstrip"
}
}
It adds a button on the tab bar that turns on/off the "Quiet Mode".
When Quiet Mode is ON all new tabs are automatically muted.
This add-on needs the permission to read your bookmarks. If you're worried about that, just read the source code. It will take you less than a minute.
BACKGROUND.JS
let quietMode = false;
function onCreatedItem() {
if (browser.runtime.lastError) {
console.log(`Error: ${browser.runtime.lastError}`);
}
}
function onError(error) {
console.log(`Error: ${error}`);
}
function onCreatedTab(tab) {
browser.tabs.update(tab.id, {muted: true});
}
function createTab(tabUrl) {
var creating = browser.tabs.create({
url:tabUrl,
active:false
});
creating.then(onCreatedTab, onError);
}
function getFolderChildren(bookmarkId) {
var gettingChildren = browser.bookmarks.getChildren(bookmarkId);
gettingChildren.then(onFulfilledFolder, onError);
}
function onFulfilledFolder(children) {
for (child of children) {
if (child.url){
createTab(child.url);
} else {
getFolderChildren(child.id);
}
}
}
function onFulfilled(bookmarks) {
if (bookmarks[0].url) {
createTab(bookmarks[0].url)
} else {
getFolderChildren(bookmarks[0].id);
}
}
function handleCreated(tab) {
if (quietMode) {
onCreatedTab(tab);
}
}
function toggleQuietMode(isEnabled){
if (!isEnabled) {
browser.browserAction.setTitle({title: "Back to normal"});
browser.browserAction.setIcon({path: "tab-audio-muted.svg"});
quietMode = true;
} else {
browser.browserAction.setTitle({title: null});
browser.browserAction.setIcon({path: null})
quietMode = false;
}
}
browser.menus.create({
id: "open-link-muted",
title: "Open link quietly",
contexts: ["link"]
}, onCreatedItem);
browser.menus.create({
id: "open-bookmark-muted",
title: "Open quietly",
contexts: ["bookmark"]
}, onCreatedItem);
browser.menus.onClicked.addListener((info, tab) => {
switch (info.menuItemId) {
case "open-link-muted":
createTab(info.linkUrl);
break;
case "open-bookmark-muted":
var gettingBookmarks = browser.bookmarks.get(info.bookmarkId);
gettingBookmarks.then(onFulfilled, onError);
break;
}
});
browser.browserAction.onClicked.addListener(() => {
toggleQuietMode(quietMode);
});
browser.tabs.onCreated.addListener((tab) => {
if (quietMode) {
handleCreated(tab);
}
});
MANIFEST.JSON
{
"manifest_version": 2,
"name":"Open link quietly",
"description":"Open links in muted tabs from the right-click context menu. Also with \"quiet mode\".",
"version":"0",
"developer": {
"name": "martin"
},
"background": {
"scripts": ["background.js"]
},
"permissions": [
"menus",
"bookmarks"
],
"browser_action": {
"browser_style": true,
"default_icon": "tab-audio-playing.svg",
"default_title": "Open links/tabs quietly",
"default_area": "tabstrip"
}
}
Avalie a sua experiência
PermissõesSaber mais
Este extra precisa de:
- Ler e modificar marcadores
Mais informação
- Versão
- 1
- Tamanho
- 9,83 KB
- Última atualização
- há 4 anos (3 de jul de 2021)
- Categorias relacionadas
- Licença
- Apenas a GNU General Public License v3.0
- Histórico de versões
Adicionar à coleção
Mais extensões por martin
- Não existem avaliações ainda
- Não existem avaliações ainda
- Não existem avaliações ainda
- Não existem avaliações ainda
- Não existem avaliações ainda
- Não existem avaliações ainda