Beiträge von Dharkness
-
-
was soll die "Control ID des Fensters" sein?
Hm, vielleicht ist ja die PID (Prozess ID) gemeint, die kann man sich unter Windows im Task-Manager anzeigen lassen.
-
Bei mir war es so, dass ich Firefox mittels der Bereinigungsfunktion zurückgesetzt hatte. Die für die Funktion von Scripten zu verteilenden Dateien waren danach zwar noch vorhanden, doch es funktionierte kein einziges. Alle diese Dateien waren aktuell. Erst als ich besagte userChrome.js gelöscht und neu hinzugefügt hatte, taten die Scripte wieder ihren Dienst. Ich könnte mir vorstellen, dass das eine Eigenheit unter macOS (und Linux?) ist.
Ja, in dem Fall wird diese Dummy userChrome.js erstellt, aber nicht direkt von Fx, sondern durch Vorbereitung im Programmordner auf die Javascripts. Das kann man auch durch das umbenennen des Ordners chrome im Profil auslösen, denn dann wird ein neuer Ordner chrome erstellt in dem es dann die userChrome.js gibt.
-
Ich bin so vorgegangen wie es auf der Seite von Aris-t2 beschrieben wurde. Da steht, dass ich die von mir genannten Dateien in den Profilordner bzw. den Install-Ordner kopieren muss. Das was du geschrieben hast, steht in dem Howto von Endor.
Richtig, mein vorgehen ist das von Endor und das funktioniert hier sowohl unter Windows, als auch unter Linux, ich hatte nur eine alte Version der Zip-Datei erwischt, deshalb hatte es auf 2 von meinen 3 Linux-Kisten nicht funktioniert. Nun habe ich die aktuelle Zip-Datei und es funktioniert jetzt auf allen 3 Linux-Kisten.
-
aber da ist "kürzlich geschlossene Fenster" nicht auskommentiert
War auch bei mir auskommentiert, habe ich wieder reaktiviert.
-
So ist es, genau wie auch hier:
Wenn ich mich richtig erinnere, haben wird das jetzt schon mindestens 3 x geschafft.
-
Danke Euch. Funktioniert beides.
Das hört sich doch gut an.
-
Beitrag Nr. 2
Das war die typische Überschneidung, während ich das geschrieben habe hast Du es zwischenzeitlich gepostet.
-
Hm,
das ↓ läuft hier ohne Probleme.
JavaScript
Alles anzeigen// ==UserScript== // @name UndoListInTabmenuToo // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description UndoListInTabmenuToo.uc.js // @include main // @compatibility Firefox 87+ // @author Alice0775 // @version 2021/04/25 fix 1689378 // @version 2019/11/14 remove eval // @version 2019/06/30 10:00 Bug 1555060 Convert <tabs> to a custom element // @version 2019/06/24 23:00 wait for gBrowser initialized // @version 2019/05/21 08:30 fix 69.0a1 Bug 1551320 - Replace all createElement calls in XUL documents with createXULElement // @version 2018/05/10 60 // @version 2017/11/18 nsIPrefBranch to nsIPrefBranch // @version 2010/09/18 00:00 4.0b7pre // @version 2009/02/03 13:00 ツールチップにタブ内履歴を表示するようにした // @Note タブやコンテキストメニューにもUndoClose Tab Listを追加するもの // @OriginalCode browser.jsからpopulateUndoSubmenuを拝借し, ごにょごにょした // @version 2018/05/09 15:00 61 // ==/UserScript== // @version 2010/03/26 13:00 Minefield/3.7a4pre Bug 554991 - allow tab context menu to be modified by normal XUL overlays // @version 2010/03/15 00:00 Minefield/3.7a4pre Bug 347930 - Tab strip should be a toolbar instead // @version 2009/09/09 15:00 中クリック処理 // @version 2009/09/03 22:00 Firegox3.7a1preで動かなくなっていたのを修正(Bug 489925. getElementById should not return anonymous nodes) // @version 2009/08/22 00:00 Firegox3.6 stringbandleの変更による // @version 2009/04/24 00:00 #394759 [Firefox:Session Restore]-Add undo close window feature // @version 2008/10/12 18:00 Fx3.0.4pre中クリックしたときメニューポップアップが閉じないおよびその他fix // @version 2007/10/05 10:00 var UndoListInTabmenu = { // -- config -- TABCONTEXTMENU : true , //タブコンテキストメニューに 追加する:[true], しない: false CONTEXTMENU : false , //コンテンツアリアコンテキストメニューに 追加する: true , しない:[false] // -- config end-- ss: null, get tabContext() { return document.getElementById("tabContextMenu"); }, get navigatorBundle() { return Services.strings.createBundle( "chrome://browser/locale/browser.properties" ); }, init: function(){ if (this.TABCONTEXTMENU){ //タブコンテキスト var tabContext = this.tabContext; this.makePopup(tabContext, null, "tabContextUndoList"); } if (this.CONTEXTMENU){ //コンテンツエリアコンテキスト var contextMenu = document.getElementById("contentAreaContextMenu"); var refItem = document.getElementById("context-sep-stop"); this.makePopup(contextMenu, refItem, "ContextUndoList"); } // get closed-tabs from nsSessionStore this._ss = SessionStore; }, makePopup: function(popup, refItem, id){ var menu; //label const locale = "en"; // "Recently Closed Windows" menu = document.createXULElement("menu"); menu.setAttribute("id", "historyUndoWindowMenu3"); menu.setAttribute("label", "K\u00FCrzlich geschlossene Fenster"); menu.setAttribute("accesskey", "W"); menu.setAttribute("disabled", "true"); popup.insertBefore(menu, refItem); this.historyUndoWindowPopup3 = menu = menu.appendChild(document.createXULElement("menupopup")); menu.setAttribute("id", "historyUndoWindowPopup3"); menu.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoWindowSubmenu(this);"); //UndoClose Tab List 最近閉じたタブ const LABELTEXT = locale.indexOf("ja") == -1?"K\u00FCrzlich geschlossene Tabs":"\u6700\u8fd1\u9589\u3058\u305f\u30bf\u30d6"; //create menu menu = document.createXULElement("menu"); menu.setAttribute("label", LABELTEXT); menu.setAttribute("accesskey", "L"); if (id) menu.setAttribute("id", id); //menu.setAttribute("disabled", true); var menupopup = document.createXULElement("menupopup"); menupopup.setAttribute("onpopupshowing", "UndoListInTabmenu.populateUndoSubmenu(this);"); menu.appendChild(menupopup); popup.insertBefore(menu, refItem); //add event listener popup.addEventListener('popupshowing',function(event) { UndoListInTabmenu.toggleRecentlyClosedWindows(); // no restorable tabs, so make sure menu is disabled, and return if (UndoListInTabmenu._ss.getClosedTabCount(window) == 0) { menu.setAttribute("disabled", true); //menu.setAttribute("hidden", true); return; } menu.removeAttribute("disabled"); //menu.setAttribute("hidden", false); },false); }, /** * Populate when the history menu is opened (Fx3.6) */ populateUndoSubmenu: function(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } var utils = RecentlyClosedTabsAndWindowsMenuUtils; var tabsFragment = utils.getTabsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-tabs" ); undoPopup.appendChild(tabsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); undoPopup.insertBefore(document.createXULElement("menuseparator"), undoPopup.childNodes[1]); // populate tab historis for tooltip var undoItems = JSON.parse(UndoListInTabmenu._ss.getClosedTabData(window)); for (var i = 0; i < undoItems.length; i++) { var entries = undoItems[i].state.entries; var tooltiptext = ""; for (var j = entries.length - 1; j > -1; j--){ if (j != entries.length - 1) tooltiptext += "\n"; tooltiptext += parseInt(j + 1, 10) + ". " + entries[j].title; } undoPopup.childNodes[i + 2/*restore all, sep*/].setAttribute("tooltiptext", tooltiptext); } // "Append Clear undo close tb list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der letzten Tabs l\u00F6schen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", function() { let prefs = Services.prefs; let max_undo = prefs.getIntPref("browser.sessionstore.max_tabs_undo"); prefs.setIntPref("browser.sessionstore.max_tabs_undo", 0); prefs.setIntPref("browser.sessionstore.max_tabs_undo", max_undo); }, false); }, toggleRecentlyClosedWindows: function PHM_toggleRecentlyClosedWindows() { // enable/disable the Recently Closed Windows sub menu let undoPopup = this.historyUndoWindowPopup3; // no restorable windows, so disable menu if (this._ss.getClosedWindowCount() == 0) this.historyUndoWindowPopup3.parentNode.setAttribute("disabled", true); else this.historyUndoWindowPopup3.parentNode.removeAttribute("disabled"); }, /** * Populate when the history menu is opened */ populateUndoWindowSubmenu: function PHM_populateUndoWindowSubmenu(undoPopup) { while (undoPopup.hasChildNodes()) { undoPopup.removeChild(undoPopup.firstChild); } let utils = RecentlyClosedTabsAndWindowsMenuUtils; let windowsFragment = utils.getWindowsFragment( window, "menuitem", /* aPrefixRestoreAll = */ true, "menu-history-reopen-all-windows" ); undoPopup.appendChild(windowsFragment); undoPopup.firstChild.setAttribute("accesskey", "R"); undoPopup.insertBefore(document.createXULElement("menuseparator"), undoPopup.childNodes[1]); // "Append Clear undo close window list" undoPopup.appendChild(document.createXULElement("menuseparator")); m = undoPopup.appendChild(document.createXULElement("menuitem")); m.setAttribute("label", "Liste der kürzlich geschlossenen Fenster l\u00F6schen"); m.setAttribute("accesskey", "C"); m.addEventListener("command", function() { for (let i = SessionStore.getClosedWindowCount() -1; i >= 0; i--) SessionStore.forgetClosedWindow(i); }, false); } }; // We should only start the redirection if the browser window has finished // starting up. Otherwise, we should wait until the startup is done. if (gBrowserInit.delayedStartupFinished) { UndoListInTabmenu.init(); } else { let delayedStartupFinished = (subject, topic) => { if (topic == "browser-delayed-startup-finished" && subject == window) { Services.obs.removeObserver(delayedStartupFinished, topic); UndoListInTabmenu.init(); } }; Services.obs.addObserver(delayedStartupFinished, "browser-delayed-startup-finished"); }
-
Hi Mr. Cutty,
teste es mal damit ↓.
Die Farbe musst Du natürlich noch Deinem Geschmack entsprechend ändern.
-
genauso eine Datei und einen Ordner in den Install-Ordner
Das ist so nicht richtig, Du kopierst den Ordner userChromeJS und die Datei config.js direkt in den Installationsordner und die Datei config-prefs.js kopierst Du im Installationsordner in den Unterordner pref des Ordner defaults des Installationsordners.
Das sieht dann bei mir so ↓ aus:
C:\Program Files\Mozilla Firefox\userChromeJS
C:\Program Files\Mozilla Firefox\config.js
C:\Program Files\Mozilla Firefox\defaults\pref\config-prefs.js
-
Alten Account löschen und neuen Account erstellen? Dann müsste ich mir halt alle Lesezeichen vorher aufschreiben...
Du kannst doch im Lesezeichen-Manager ein Backup anlegen, sprich Importieren und Sichern → Sichern bzw. und/oder Importieren und Sichern → Lesezeichen nach HTML exportieren….
-
Also meine Profile kommen auf max. 225mb. Wie kommt man auf 500mb?
Das kann ich noch locker übertreffen, mein aktuelles Profil ist reichlich 600MB groß und da ist kein altes Geraffel vorhanden, nur ein paar Ordner, z.B. der Ordner chrome_debugger_profile mit 124MB, den Ordner datareporting mit 44MB und einem Ordner Namens storage mit sage und schreibe 185MB.
-
-
Dann hattest du wahrscheinlich dort die Vorbereitungen zu den Skripten getroffen, nur die utilities.js nicht aktualisiert.
Nein, ich hatte die Maschine erst nach der von vornherein funktionierenden Maschine für Scripte vorbereitet, deshalb wundert mich ja das ganze so sehr und den Scriptcache hatte ich wer weiß wie oft gelöscht. Dann habe ich eben vorhin die utilities.js ersetzt, den Cache nochmal gelöscht und siehe da, nun laufen die Scripte auch auf Maschine 2, um die 3te kümmere ich mich dann nachher.
Da könnte eventuell der Download-Link veraltet sein. Ja, die heruntergeladene Zip-Datei dort enthält eine veraltete utilities.js.
Also doch, dann wundert mich nichts mehr.
-
Hm,
kann es sein, das die utilities.js in der Zip-Datei für Firefox Anpassungen : die Basis noch nicht die Änderung aus #Funktionelle Änderungen am Firefox durch Scripte enthält?
Ich habe jetzt auf der ersten Maschine, auf der die Scripte noch nicht funktionierten, die angepasste utilities.js ins entsprechende Verzeichnis kopiert, den Scriptcache gelöscht und siehe da nun funktionieren die Scripte.
-
Das ändert aber am Verhalten nichts.
Auf einem 2ten Rechner funktioniert es hier z.Z. auch noch nicht, beides sind ubuntu basierende Linux-Kisten und auf einer funktionierte es auf Anhieb und die 2te Kiste lädt derzeit auch noch keine Scripts. Auf beiden Rechnern sind m.M.n. die Dateien identisch kopiert und auch die Rechte sind gleich, trotzdem werden die Scripte auf dem 2ten Rechner nicht geladen.
-
Hallo zusammen,
mir fehlen leider ein paar Grafiken im rechtsmausigem Tabmenü, kann mir die wer zukommen lassen?
Mir fehlen diese ↓ Grafiken.
Neuer Tab
Teilen
Linke Tabs schließen
Geschlossenen Tab wieder öffnen
-
Also: Standard VGA Treiber installieren ??
Der kann noch weniger als der zur Chipsatz-Grafik gehörende Treiber, also nein.
-
Genau wie Dharkness schreibt, in einen anderen Rechner habe ich die ATI Raddeon HP 4250, dafür gibt es keinen Treiber mehr und der Ersatztreiber von Windows der bringt die Qualität nicht.
Als Notlösung ist jetzt der Treiber von ATI Windows 8 installiert, der halwegs geht.
Neuer Rechner, den alten aufrüsten bringt nichts.
Das ist abhängig von der CPU, wie gesagt, ein Intel Core 2 Duo E8400 schafft es im Zusammenspiel mit einer nVidia GT710 problemlos und der Prozessor hat auch schon bessere Tage gesehen.