summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/orionode/lib/main.js20
1 files changed, 15 insertions, 5 deletions
diff --git a/modules/orionode/lib/main.js b/modules/orionode/lib/main.js
index e39dcdc..0ef87e7 100644
--- a/modules/orionode/lib/main.js
+++ b/modules/orionode/lib/main.js
@@ -99,11 +99,21 @@ function addNewTab(id, iframe) {
}
tab.addEventListener("click", function(evt) {
- setActive();
- evt.preventDefault();
- evt.stopPropagation();
- var menu = document.querySelector("#context-menu");
- menu.classList.remove('context-menu-items-open');
+ if (evt.button === 1 && tabParent.childNodes.length > 1) {
+ // middle button clicked, close the tab if there are two or more
+ // tabs around
+ iframe.parentNode.removeChild(iframe);
+ tab.parentNode.removeChild(tab);
+ update();
+ evt.preventDefault();
+ evt.stopPropagation();
+ } else {
+ setActive();
+ evt.preventDefault();
+ evt.stopPropagation();
+ var menu = document.querySelector("#context-menu");
+ menu.classList.remove('context-menu-items-open');
+ }
});
tab.addEventListener('dragstart', function(evt) {