Kopfkratz.
Neu
JavaScript
// newTabButtonUndoTabList.uc.js
"use strict";
/* ******************************************************************************************************** */
/* Beschreibung */
/* Bei Rechtsklick auf die Neuen Tab Schaltfläche, wird im Kontextmenü, */
/* der Eintrag zum Wiederherstellen des zuletzt geschlossenen Tabs angezeigt. */
/* Customized by BrokenHeart */
/* */
/* https://www.camp-firefox.de/forum/thema/112673/?postID=1223733#post1223733 */
/* https://www.camp-firefox.de/forum/thema/112673/?postID=1228286#post1228286 */
/* */
/* ******************************************************************************************************** */
(function () {
if (!window.gBrowser){
return;
}
gBrowser.tabContainer.addEventListener('click', function (e) {
if (e.originalTarget.id != 'tabs-newtab-button') return;
switch (e.button) {
case 1:
undoCloseTab(0);
break;
case 2:
UCT.makePopup(e);
e.preventDefault();
break;
}
}, false);
})();
var UCT = {
init: function () {
var mp = document.createXULElement("menupopup");
mp.id = "undo-close-tab-list";
mp.addEventListener('popupshowing', function(event) {
UCT.onpopupshowing(event);
}, true);
mp.setAttribute("placespopup", true);
mp.setAttribute("tooltip", "bhTooltip");
mp.setAttribute("popupsinherittooltip", true);
document?.getElementById("mainPopupSet")?.appendChild(mp);
},
makePopup: function (e) {
if (SessionStore.getClosedTabCountForWindow(window) != 0) {
document.getElementById("undo-close-tab-list").openPopupAtScreen(e.screenX +2, e.screenY +2, false);
}
else
{
console.log("--- Es gibt keinen Tab, der wiederhergestellt werden kann ---");
}
},
onpopupshowing: function (e) {
var popup = e.target;
var m;
while (popup.hasChildNodes())
popup.removeChild(popup.firstChild);
let undoItems = SessionStore.getClosedTabDataForWindow(window);
undoItems.map(function (item, id) {
// var m = document.createXULElement('menuitem');
m = document.createXULElement("menuitem");
m.setAttribute('label', item.title);
m.setAttribute('image', item.image);
m.setAttribute('class', 'menuitem-iconic bookmark-item');
m.addEventListener('command', () => {
undoCloseTab(id);
}
);
popup.appendChild(m);
});
popup.appendChild(document.createXULElement("menuseparator"));
m = document.createXULElement("menuitem");
m.setAttribute("label", "Chronik in der Sidebar öffnen");
m.setAttribute("image", "chrome://browser/skin/history.svg");
m.setAttribute("class", "menuitem-iconic");
m.addEventListener('command', function() {
SidebarController.toggle('viewHistorySidebar');
}, true);
popup.appendChild(m);
},
};
setTimeout(function() {
UCT.init();
},250);
Alles anzeigen
Besser?