Comments (1)
I made this userscript as a workaround:
const url = data.element && data.element.linkHref;
if (url){
executeInBackground(async (url) => {
// If this is the first time this script is executed, initialize some stuff
if (window._lastOpenedTabId === undefined){
window._lastOpenedTabId = new Map();
window._successorTabId = new Map();
// When a tab is closed, activate the next one
browser.tabs.onRemoved.addListener(function(tabId){
if (!window._successorTabId.has(tabId)){
return;
}
const successorTabId = window._successorTabId.get(tabId);
browser.tabs.update(successorTabId, {active: true});
});
}
const openerTab = (await browser.tabs.query({active: true}))[0];
const lastOpenedTabId = window._lastOpenedTabId.get(openerTab.id);
let newTabIndex = openerTab.index + 1;
if (lastOpenedTabId !== undefined){
try {
const lastOpenedTab = await browser.tabs.get(lastOpenedTabId);
newTabIndex = lastOpenedTab.index + 1;
} catch (error){
// That tab has been closed
}
}
const newTab = await browser.tabs.create({
url: url,
active: false,
index: newTabIndex,
openerTabId: openerTab.id,
});
window._lastOpenedTabId.set(openerTab.id, newTab.id);
if (lastOpenedTabId !== undefined){
window._successorTabId.set(lastOpenedTabId, newTab.id);
}
}, [url]);
}
from foxygestures.
Related Issues (20)
- _
- [Feature Request] A way to filter assigned gestures in the options
- Mouse gesture will stop functioning when opening new tab in upcoming Firefox. HOT 4
- does this still work on latest build? HOT 2
- tabHide permission
- Gesture trails not shown in correct position
- executeInBackground crashes with cryptic error if the function isn't an arrow function
- gestures don't work with gitweb HOT 3
- After profile Sync gestures not working and no options
- Custom gesture button?
- Extremely slow on Youtube
- [Feature Request] Setting to disable gestures on `<canvas>` elements
- [Feature Request] Setting to change step of Zooming (mouse wheel)
- BFCache is never used when plugin active
- prevents rendering of Jupyter notebooks on Github HOT 2
- increment url HOT 1
- Help with notifications
- Help with notifications
- Dark settings dialog
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from foxygestures.