Beiträge von Endor
-
-
Auch von mir alles alles Gute zum Geburtstag Goldsunshine!
Vor allem viel Gesundheit aber Glück und Erfolg, wünsche ich
Dir von ganzen Herzen.Mfg.
Endor -
Also die neueste Version der Scripte kannst Du hier finden:
userChrome.js/Mutirowtabs/Firefox-100 at master · Endor8/userChrome.jsSkripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.github.comHabe ich eben übersetzt und hoch geladen.
Für dich kommen Script 5 oder 6 in Frage.
Was die Pfade in Linux betrifft, da muss Du bitte auf einen Linux Kundigen
warten. Ich kenne mich da leider nicht aus.Vielleicht reicht Dir schon diese Beschreibung hier:
GitHub - Endor8/userChrome.js: Skripte für die Firefox-Erweiterung userChromeJSSkripte für die Firefox-Erweiterung userChromeJS. Contribute to Endor8/userChrome.js development by creating an account on GitHub.github.comMfg.
Endor -
Freut mich wenn es gefällt.
Für die Sidebar verwende ich hier ein Script,
damit wird die Sidebar schwebend und verschiebt nichts mehr.
Es genügt links den Fensterrand nahe zu kommen mit der Maus
und schon wird sie eingeblendet.
Bei Bedarf schiebe ich das gerne mal rüber.
Mfg.
Endor -
Das wäre mein aktueller Code dafür:
Getestet nur im Nightly 102
CSS
Alles anzeigen/* AGENT_SHEET */ @namespace url(http://www.w3.org/1999/xhtml); @-moz-document url(about:profiles){ html{background:#ffffff !important;} h1:after {content: "Design by Endor"; margin-left: 230px; font-size: 25px; font-weight: bold; color: red; } #body {margin-left: 200px !important; max-width: 1040px !important;} #body{ margin-left: auto !important; margin-right: auto !important; max-width: 1200px !important; /* Breite anpassen */ margin-top: 40px !important; margin-bottom: 20px !important; padding-bottom: 30px !important; padding-top: 15px !important; padding-left: 50px !important; padding-right: 50px !important; background-color: #fffff0 !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-radius: 20px !important; border-width: 4px !important; border-style: outset !important;} #body:hover{ border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} .action-box{ width: 32% !important; border-radius:24px !important;} .action-box > h3:nth-child(1){ margin-left: 13px !important; } #profiles > div > table{border-radius:24px !important;} #profiles > div > table > tbody > tr:nth-child(1) > th:nth-child(1){border-top-left-radius:24px !important; padding-top: 8px !important; padding-bottom: 8px !important;} #profiles > div > table > tbody > tr:nth-child(1) > td:nth-child(2){border-top-right-radius:24px !important;} #profiles > div > table > tbody > tr:nth-child(3) > th:nth-child(1){border-bottom-left-radius:24px !important;} #profiles > div > table > tbody > tr:nth-child(3) > td:nth-child(2){border-bottom-right-radius:24px !important;} th, td {padding-left: 17px !important;} hr{display: none !important;} h2{margin-top: 25px !important;} h3{color: red !important;} #restart-button{ appearance:none!important; background: #F0F0F0 url("..//icons/Bild9.png")no-repeat !important; margin-left: 8px !important; padding-left:45px!important; padding-right: 148px !important; padding-bottom: 5px!important; background-position:14px 6px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; white-space: nowrap!important; overflow: hidden !important; text-overflow: ellipsis!important; } #restart-button:hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild9.png")no-repeat !important; background-position:14px 6px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #restart-in-safe-mode-button{ appearance:none!important; background: #F0F0F0 url("..//icons/Bild10.png")no-repeat !important; margin-left: 8px !important; padding-left:45px!important; padding-right: 34px !important; background-position:14px 5px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; margin-bottom: 10px !important; white-space: nowrap!important; overflow: hidden !important; text-overflow: ellipsis!important;} #restart-in-safe-mode-button:hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild10.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #create-button{ appearance:none!important; background: #F0F0F0 url("..//icons/Bild11.png")no-repeat !important; padding-left:35px!important; padding-right:20px!important; margin-top: 15px !important; background-position:14px 5px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; } #create-button:hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild11.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} .action-box > h3, h2, h1 {color: #057A7A !important;} #profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button{ appearance:none!important; background: #F0F0F0 url("..//icons/Bild12.png")no-repeat !important; margin-left: 5px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 6px!important; font-size:14px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important;} /* Position der Schaltflächen Ordner öffen festlegen - Abstand nach rechts */ #profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button {position: absolute !important; right: 320px !important; margin-top:-8px !important;} #profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button {position: absolute !important; right: 320px !important; margin-top:-8px !important;} #profiles > div:nth-child(-n+20) > table:nth-child(-n+20) > tbody:nth-child(1) > tr:nth-child(-n+20), #profiles > div:nth-child(-n+20) > table:nth-child(-n+20) > tbody:nth-child(1) > tr:nth-child(-n+20) > th:nth-child(-n+20) {height: 32px !important;} #profiles > div:nth-child(n+1) > table > tbody > tr:nth-child(2) > td > button:hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild12.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button{ appearance:none!important; background: #F0F0F0 url("..//icons/Bild12.png")no-repeat !important; margin-left: 25px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 6px!important; font-size: 14px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important;} #profiles > div:nth-child(n+1) > table > tbody > tr:last-child > td > button:hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild12.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #profiles > div:nth-child(n+1) > button:nth-child(3){ appearance:none!important; background: #F0F0F0 url("..//icons/Bild13.png")no-repeat !important; margin-top: 8px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 5px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important;} #profiles > div:nth-child(n+1) > button:nth-child(3):hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild13.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #profiles > div:nth-child(n+1) >button:nth-child(4){ appearance:none!important; background: #F0F0F0 url("..//icons/Bild8.gif")no-repeat !important; margin-top: 8px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 5px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; } #profiles > div:nth-child(n+1) > button:nth-child(4):hover { appearance:none!important; background: #B2EDFA url("..//icons/Bild8.gif")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #profiles > div:nth-child(n+1) >button:nth-child(5){ appearance:none!important; background: #F0F0F0 url("..//icons/Bild14.png")no-repeat !important; margin-top: 8px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 7px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; } #profiles > div:nth-child(n+1) >button:nth-child(5):hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild14.png")no-repeat !important; background-position:14px 7px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} #profiles > div:nth-child(n+1) >button:nth-child(6){ appearance:none!important; background: #F0F0F0 url("..//icons/Bild15.png")no-repeat !important; margin-top: 8px !important; padding-left:35px!important; padding-right:20px!important; background-position:14px 5px!important; font-size:14.0px!important; border-style: outset !important; border-left-color: lightblue!important; border-top-color: lightblue!important; border-right-color: dodgerblue!important; border-bottom-color: dodgerblue!important; border-width:2px !important; border-radius:12px !important; color:black !important; } #profiles > div:nth-child(n+1) >button:nth-child(6):hover{ appearance:none!important; background: #B2EDFA url("..//icons/Bild15.png")no-repeat !important; background-position:14px 5px!important; border-left-color: #bbddff !important; border-top-color: #bbddff !important; border-right-color: #11508d !important; border-bottom-color: #11508d !important;} .action-box{background: #FDF5E6 !important;} .action-box > h3{margin-left: 4px !important;} #profiles > div:nth-child(even) > table {background: #FFFAF0 !important;} #profiles > div:nth-child(odd) > table {background: #FFFFFF !important;} td:hover{background: #ffeb99 !important;} th {background-color: #ee7621 !important;} th:hover {background-color: #b54f06 !important;} }Mfg.
Endor -
Mein kleiner Betrag ist auch unterwegs auf die angegebene Bank.
Mfg.
Endor -
Hallo grisu2099
Also hier funktioniert dein obiges Script im aktuellen Nightly
von Heute, Version 101.0a1 (2022-05-02) (64-Bit),
einwandfrei. Schaltfläche ist in der Navbar, bei klick wird die
Toolbar ein und ausgeblendet.
Vielleicht stört da ein anderes Script bei dir.
Mfg.
Endor -
Ja, dass es im Download Fenster nicht immer angezeigt wird, habe ich
auch schon bemerkt, aber keine Lösung dafür gefunden.Ansonsten freut es mich, wenn es passt.
Mfg.
Endor -
Hallo NoNameNeeded .
Wenn es nur um eine Anzeige in Prozent geht,
ich verwende dazu ein Script welches oben in der Titelleiste, auch im Download Fenster
die aktuelle Prozent Zahl anzeigt. Teste mal:
JavaScript
Alles anzeigen// ==UserScript== // @name downloadProgressInLibrary.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @include chrome://browser/content/places/places.xhtml // @include chrome://browser/content/downloads/contentAreaDownloadsView.xhtml // @compatibility Firefox 31+ // @version 1.0 // @date 2014-10-23 22:00 number of files // @date 2013-11-26 21:00 null check // @date 2013-04-06 22:00 // @description Display Download Progress In Library // ==/UserScript== const originalTitle = document.title; var downloadProgressInLibrary = { _summary: null, _list: null, init: function() { window.addEventListener("unload", this, false); // Ensure that the DownloadSummary object will be created asynchronously. if (!this._summary) { Downloads.getSummary(Downloads.ALL).then(summary => { this._summary = summary; return this._summary.addView(this); }).then(null, Cu.reportError); } if (!this._list) { Downloads.getList(Downloads.ALL).then(list => { this._list = list; return this._list.addView(this); }).then(null, Cu.reportError); } }, uninit: function() { window.removeEventListener("unload", this, false); if (this._summary) { this._summary.removeView(this); } if (this._list) { this._list.removeView(this); } }, handleEvent: function(event) { switch (event.type) { case "unload": this.uninit(); break; } }, onSummaryChanged: function () { if (!this._summary) return; if (this._summary.allHaveStopped || this._summary.progressTotalBytes == 0) { document.title = originalTitle; } else { // Update window title this.numDls = 0; if (!this._list) return; this._list.getAll().then(downloads => { for (let download of downloads) { if (download.hasProgress && !download.succeeded && !download.canceled && !download.stopped ) this.numDls++; } let progressCurrentBytes = Math.min(this._summary.progressTotalBytes, this._summary.progressCurrentBytes); let percent = Math.floor(progressCurrentBytes / this._summary.progressTotalBytes * 100); let text = percent + "% von " + this.numDls + (this.numDls < 2 ? " Datei - " : " Dateien - ") ; document.title = text + originalTitle; }).then(null, Cu.reportError); } } } downloadProgressInLibrary.init();Vielleicht passt das ja.
Mfg.
Endor -
-
Ja leider klappt es automatisch nicht auf.
Mein Können reicht da leider nicht aus.
Vielleicht kann sich das aborix mal anschauen ob und wie man dieses
Script, RE: Separates Downloads-Fenster?, entsprechend erweitern kann.
Mfg.
Endor -
Ich verwende dazu dieses Script, es baut in die Navbar
eine Schaltfläche ein, bei klick öffnet sich das Downloadfenster
ungefähr so wie auf Deinem Bild. Leider habe ich noch keinen Weg
gefunden, wie man das Script so erweitern kann dass Fenster bei Download
automatisch öffnet. teste es mal vielleicht hilft dir das weiter.
Downloadbutton.uc.js
JavaScript
Alles anzeigen// Downloadbutton.uc.js (function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'Download-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'Download-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: true, label: 'Download Fenster öffnen', accesskey: 'D', tooltiptext: 'Download Fenster öffnen', style: 'list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAC7klEQVR42mJgAIL3K2X+AwQQy9VMzf+cIooMAAHE8H6i2n+QKEAAsbCrSjJ8vST4HyCAQByG13Mc/n+/D5EBCCAWsMByBQa2bz/BkgABxAAz5f1aYbAKgAACo6+XJP///OQFFgAIIJbvd23//z/NyPD/NQPDg8uS/wECiIlT+TDjr5/sDK9ZrjMo6D5nBAgguLYPC13/f7nN+v/bQ7H/P77awM0DCCAWGOPLp58MfE80GFiE+RiYOCXhGgECiAlE3PZI/i8iL8bAchMocV2C4d/+fwyPj2qBTQEIIBR02S7+/4N1AigSAAHECPcLyB9/OBkY/rMxMLxkYRDMvwWWAwggJpgCDidZBlazzwzsVg8ZGAXU4SYABBDckYy/2BmYvgsyMLLxMPz+g7AFIIAQCr6zA+0B+oCLn+HHV0Q4AgQQ48MTUv8FvwszsLwUhHhLlIeBkQ+oT+IXw8Pa3wwAAcQkb/GM8f2fbwwMr4CO+8ABDBABBua3wgzP8qQY1BbsZQQIILAj5V3vMj6Tv8Dw8/VbBqZ/nxjuT2BiUFw/D+wLgABCQXeX8v+/5pyAEg4AAYSh6v0il/+cMeIM/9+/YGBgZmNgZOSGKOSTYvi25A6DYOw2FD0AAcSCbsCfX38Y/n+4x/D37R0GZiY2hn/sQN//+8LAzGgClGPCcBVAAGEa8O8/A9MnVoZ/77gZ/gH5zHwCDP//czAwcnID5T5jGAAQQCx3o0L/s/znBXP+/fvD8E/sGgPjJ14GxrdCDAxszMBwBQYrAz8DAx8TA7P8d4anaXH/mf8yMfz/y87w6/9zBoAAYoSlJrbiAwzi7wwY/r38CNSIcCqTFB+E/wvonu//GVj4+Rie855k+NtjzaCwfjYjQAChBMhNt5T/7IV7GaTf6jD8fAZx7h9xXgZ2RmYGVjFBsMYfzZYMqjvmwvUBBBBWBIqqW2t5/n+eo/X/6zKj//d38v4HuRKbWoAAwouOher8Pxmtg1cjQIABAFbt8Z32Ai5RAAAAAElFTkSuQmCC)', oncommand: "window.open('chrome://browser/content/downloads/contentAreaDownloadsView.xhtml', 'Downloads', 'chrome,resizable=yes,width=600,height=750,left=1220,top=100');" }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); CustomizableUI.registerToolbarNode(tb); } catch(e) { }; })();Mfg.
Endor -
Ein eigenes Bild kannst Du einbauen in base64 codiert
ist es ja hier auch im Script vorhanden.
Zeile 48.
In Zeile 59 - 60 wird dann noch auf einen Firefox internen Throbber verlinkt
#activity_throbber[busy] { \
list-style-image: url("chrome://global/skin/media/throbber.png"); \
Mfg.
Endor -
Dann kontrolliere bitte nochmal ob Du das Script richtig gespeichert hast
und achte darauf, dass es in UTF-8 Codierung ist.
-
Hast Du im Anpassen Fenster mal nachgeschaut?
So sieht es hier aus:

-
Also bei mir funktioniert es.
Ganz rechts in das Nabbar ist er hier zu finden.
Leider ein ziemlich blasser Throbber der beim Neuladen eines Tabs dann rotiert.
Ging auf Anhieb.
Mfg.
Endor -
Hallo NoNameNeeded
Teste mal dieses Script
Script:
JavaScript
Alles anzeigen// 'Activity throbber' script for Firefox 60+ by Aris Components.utils.import("resource:///modules/CustomizableUI.jsm"); var {Services} = Components.utils.import("resource://gre/modules/Services.jsm", {}); var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService); var at_label = "Activity Throbber"; var ActivityThrobber = { init: function() { try { document.addEventListener("TabAttrModified", _ActivityThrobber, false); document.addEventListener('TabSelect', _ActivityThrobber, false); document.addEventListener('TabOpen', _ActivityThrobber, false); document.addEventListener('TabClose', _ActivityThrobber, false); document.addEventListener('load', _ActivityThrobber, false); // add or remove 'busy' tab from activity item function _ActivityThrobber() { if(gBrowser.selectedTab.hasAttribute('busy')) { document.querySelector('#activity_throbber').setAttribute('busy','true'); } else document.querySelector('#activity_throbber').removeAttribute('busy'); } // create a default toolbar button CustomizableUI.createWidget({ id: "activity_throbber", // button id defaultArea: CustomizableUI.AREA_NAVBAR, removable: true, label: at_label, // button title tooltiptext: at_label, // tooltip title onCreated: function(button) { return button; } }); // style button icon / embedded non-animated icon, because there is no image for then inside Fx anymore var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\ \ #activity_throbber { \ -moz-appearance: none !important; \ list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJ1BMVEUAAAC0tLS0tLSysrK0tLS0tLS0tLS1tbW0tLS6urq0tLS3t7eurq4SF2bYAAAADXRSTlMA2oILm3RnVEEF0y4TZ0HrPwAAAE5JREFUCNdjAAIjZQYISBQDU1uUA0WNvIEMR/FDOoUiQIbiCgaGLiEgY3oDAwNHJQPDtGCQQtNMBkWQKJCEM+BSMMVw7XAD4VYgLIU7AwA5fBJ3rMaMkwAAAABJRU5ErkJggg==); \ width: 16px !important; \ height: 16px !important; \ } \ #activity_throbber *,\ #activity_throbber:hover * { \ -moz-appearance: none !important; \ opacity: 1.0 !important; \ box-shadow: unset !important; \ background: unset !important; \ } \ #activity_throbber[busy] { \ list-style-image: url("chrome://global/skin/media/throbber.png"); \ } \ \ '), null, null); // remove old style sheet, before registering the new one if (sss.sheetRegistered(uri,sss.AGENT_SHEET)) { sss.unregisterSheet(uri,sss.AGENT_SHEET); } sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); } catch (e) { Components.utils.reportError(e); } } }; document.addEventListener("DOMContentLoaded", ActivityThrobber.init(), false);Quelle:
CustomJSforFx/activity_throbber.uc.js at master · Aris-t2/CustomJSforFxcustom scripts. Contribute to Aris-t2/CustomJSforFx development by creating an account on GitHub.github.comHoffe es funktioniert noch.
Mfg.
Endor -
wenn ich mich nicht irre, verwendet Du ja schon Scripte.
Dieses hier fügt in die Symbolleiste eine Anzeige des aktuell verwendeten Speichers
ein. Kannst Du an die gewünschte Position über den Anpassen Dialog schieben.
Bei Klick drauf wird die Speicherbelegung reduziert.
(Also nicht mehr benötigter Speicher wieder frei gegeben.)
JavaScript
Alles anzeigen// ==UserScript== // @name MemoryUsage.uc.js // @namespace http://space.geocities.yahoo.co.jp/gl/alice0775 // @description Memory Usage resident memory in MB // @include main // @charset UTF-8 // @author Alice0775 // @compatibility 99+ // @version 2022/03/31 23:00 Clicking on the button minimizes memory and updates the usage display. // @version 2021/09/18 20:00 no longer available resident-unique from MRM due to Bug 1665318. so use commit size instead of resident-unique size // @version 2021/09/18 20:00 missing MRM // @version 2021/06/17 22:00 use ChromeUtils.requestProcInfo // @version 2021/06/17 19:00 // @version 2021/06/15 // ==/UserScript== var ucjsMemoryUsage = { INTERVAL: 10, //Abstand in Sekunden MRM : Components.classes['@mozilla.org/memory-reporter-manager;1'] .getService(Components.interfaces.nsIMemoryReporterManager), init: function() { try { CustomizableUI.createWidget({ id: 'memoryUsageButton', type: 'custom', onBuild: function(aDocument) { let toolbaritem = aDocument.createXULElement('toolbarbutton'); let props = { id: 'memoryUsageButton', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'MemoryUsage', tooltiptext: 'Speicher Belegung minimieren', onclick: 'ucjsMemoryUsage.MRM.minimizeMemoryUsage(()=>{});ucjsMemoryUsage.requestMemory()' }; for (let p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) {} style = `#memoryUsageButton .toolbarbutton-text { display: inline-block !important; font-weight: bold !important; font-size: 13px !important; } #memoryUsageButton .toolbarbutton-icon { display: none !important; }` let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(style)); if(!sss.sheetRegistered(uri, sss.AUTHOR_SHEET)) sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET); window.addEventListener("unload", this, false); window.setInterval(this.requestMemory, this.INTERVAL * 1000); this.requestMemory(); }, uninit: function() { window.removeEventListener("unload", this, false); }, requestMemory: async function() { let winTop = Services.wm.getMostRecentWindow("navigator:browser"); if (winTop == window) { let total =0; const regex = new RegExp("^resident-unique$"); const handleReport = (aProcess, aPath, aKind, aUnits, aAmount) => { if(regex.test(aPath)) { //Services.console.logStringMessage("aPath " + aPath); total += aAmount; } }; await new Promise((r) => { ucjsMemoryUsage.MRM .getReports(handleReport, null, r, null, false); } ); //Services.console.logStringMessage("total " + txt); let txt = Math.ceil(total/1024/1024); for (let win of Services.wm.getEnumerator("navigator:browser")) { if (win.closed || !win.gBrowser) { continue; } let btn = win.document.getElementById("memoryUsageButton"); if (btn) btn.setAttribute("label", txt + " MB"); } } }, handleEvent: function(event) { switch (event.type) { case "unload": this.uninit(); break; } } } ucjsMemoryUsage.init();Vielleicht reicht Dir das schon.
Mfg.
Endor -
-
Hallo Hiarcs.
Ich verwende auch diese Seite von Whatsapp um Text zu schreiben und habe keinerlei Probleme
damit in Firefox 99. Verwendest Du einen Werbeblocker wie ublock oder so. Welche Antivirus Lösung
verwendest Du? Blockierst du Cookies usw. ?Mfg.
Endor