Beiträge von FuchsFan
-
-
Ändere ich diesen Eintrag wieder auf die alte Version, dann ist alles ok
Das stimmt.
Ich vermute mal, dass da etwas mit der Pfadangabe nicht übereinstimmt.
-
Beitrag
RE: Offenbar funktionieren alle Benutzerskripte nicht mehr im Nightly
[…]
Ich habe sie ganz raus genommen, und siehe da, das war der Übeltäter.
[…]
milupo
In zwei Profilen nutze ich das Script auch, wo ich für den Aufruf der Browser-Werkzeuge bisher den Code verwendet habe:
(Quelltext, 7 Zeilen)
Button und Icon alles da, nur der Aufruf schlägt fehl. Auch mit den von Dir gezeigten Änderungen dazu.
Wie müsste der Eintrag denn genau aussehen?
Edit:
Danke, hat sich erledigt. Habe immer v114 versucht, da funktioniert es natürlich noch nicht, aber im Nightly schon.FuchsFan8. Juni 2023 um 20:36 Nun habe ich festgestellt, da ist doch noch Sand im Getriebe, denn es wird zwar alles sauber dargestellt, aber bei der Auswahl eines bestimmten Download-Ordners (Klick darauf) passiert nichts mehr. Das betrifft dann alle Versionen von Firefox, auch mit Deinem Script.
Hier das Script, dass zur Anwendung kommt, was muss da noch angepasst werden?
CSS
Alles anzeigen// ==UserScript== // @include chrome://mozapps/content/downloads/unknownContentType.xhtml // @charset UTF-8 // @version Fx114+ // ==/UserScript== (function () { const Cu = Components.utils; if (!window.FileUtils) ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs'); if (!window.Services) Cu.import('resource://gre/modules/Services.jsm'); setTimeout(function () { saveTo(); }, 200); function saveTo() { // Config const dirArray = [ //[FileUtils.getDir('UChrm', []).path, 'chrome'], ['D:\\Download Firefox', 'Download Firefox'], ['D:\\Download Firefox\\Dokumente'], ['D:\\Download Firefox\\Bilder'], ['D:\\Download Firefox\\Software'], ['D:\\Download Firefox\\Ablage'], ['D:\\Download Firefox\\Sonstiges'], ["C:\\", "C:"], ["E:\\", "E:"], ]; const button = document.getElementById('unknownContentType').getButton('cancel'); const saveTo = button.parentNode.insertBefore(document.createXULElement('button'), button); const saveToMenu = saveTo.appendChild(document.createXULElement('menupopup')); saveTo.classList.toggle('dialog-button'); saveTo.label = 'Speichern nach'; saveTo.type = 'menu'; const css =` hbox.dialog-button-box button.dialog-button menupopup { background: gold !important; min-width: 220px !important; padding: 5px !important; margin: 15px 0 0 -62px !important; border: 3px solid dodgerblue !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem{ appearance: none !important; color: blue !important; background: #fefefc !important; border: 1px solid silver !important; margin-top: 1px !important; border-radius: 7px !important; padding-left: 12px !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem:hover { background: greenyellow !important; border: 1px solid red !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text { color: blue !important; font-size: 15px !important; font-weight: 600 !important; margin-left: 12px !important; margin-top: 1px !important; } `; const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); dirArray.forEach(function (directory) { const [name, dir] = [directory[1], directory[0]]; const mi = document.createXULElement('menuitem'); const item = saveToMenu.appendChild(mi); item.setAttribute('label', (name || (dir.match(/[^\\/]+$/) || [dir])[0])); item.setAttribute('image', 'moz-icon:file:///' + dir + '\\'); item.setAttribute('class', 'menuitem-iconic'); item.addEventListener('command', function () { const locationtext = document.getElementById('locationtext'); const pathFile = dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value); const file = new FileUtils.File(pathFile); dialog.mLauncher.saveDestinationAvailable(file); dialog.onCancel = function () {}; close(); }); }); } }());
-
Auch ich schließe mich meinen Vorrednern an, du hast das mehr als gut gemacht
Danke, Andreas, nun ist aber auch genug.
Du weißt ja genau, alles habe ich hier von Euch (damit meine ich die Gemeinschaft hier) gelernt. Musste oft Lehrgeld bezahlen, aber der Ehrgeiz treibt vorwärts.
-
Schließe mich den Worten von BrokenHeart voll und ganz an.
Klasse Arbeit!!!Danke, Endor, die Worte eines weiteren "Meisters" nehme ich mit Freude auf (da läuft man ja schamviolett an
).
-
Wow...da hast du dir ja richtig Mühe gegeben mit deinem angepassten FF.
Danke, die Worte eines "Meisters" nehme ich gerne an.
Allerdings merke ich keinen Unterschied
Zur Kontrolle brauchst du doch nur mal andere Farbwerte (RGB) eintragen, dann siehst du doch, ob der Code arbeitet.
Ändert sich nichts, dann auf zur Fehlersuche.
-
Hat man als Nicht-Programmierer die Möglichkeit, die Schriftart und den genauen Farbcode von gewissen Bereichen rauszufinden?
Machen kann man sehr viel, Anleitungen gibt es hier in Hülle und Fülle. Lesen, lernen, probieren, fragen!
Hier hast du mal einen Screenshot zu meinen veränderten Tabs:
Wenn du damit basteln möchtest, hier der Code dazu, gehört in die userChrome.css.
CSS
Alles anzeigen/* nur in Verbindung mit MultiRowTabs.uc.js by BrokenHeart */ #nav-bar{ appearance: none !important; background-image: none !important; background-color: #C2D3ED !important; border-top: 1px solid grey !important; border-bottom: 1px solid grey !important; box-shadow: none !important; } /* Icon im Tab versetzt */ #TabsToolbar .tab-icon-image { /* height: 15px !important; width: 15px !important; */ margin-left: -3px !important; margin-bottom: 0px !important; } .tabbrowser-tab{ margin-left:-3px !important; box-shadow: none !important; } /* Tab-Hintergrund */ /*--- selektiert ---*/ .tab-background[selected=true]{ filter: none !important; border: 1px solid blue !important; min-height: 24px !important; max-height: 24px !important; margin-top: 0px !important; background: linear-gradient(45deg, gold, white, beige, orange) !important; } /*--- hover: Multi selektiert ---*/ .tabbrowser-tab:hover > .tab-stack > .tab-background[multiselected=true]:not([selected=true]) { filter: brightness(130%) contrast(100%) !important; } /*--- Multi selektiert ---*/ .tab-background[multiselected=true]:not([selected=true]) { filter: brightness(130%) saturate(50%) !important; } /* aktiver Tab bei Hover dunkler*/ #main-window .tabbrowser-tab[selected]:hover { opacity: .5 !important; } /* inaktiver Tab */ .tab-background:not([selected=true]) { background: linear-gradient( 0.35turn, grey, lightblue, white, white, lightblue, grey) !important; border: 1px solid grey !important; min-height: 24px !important; max-height: 24px !important; } /* Tabschliessen-Button ** nur zu sehen bei Mouseover */ .tab-close-button { opacity: 0 !important; } .tabbrowser-tab:hover .tab-close-button { opacity: 1 !important; color: red !important; display: block !important; } /*Tab schließen Button verschoben bei Tabstext mittig*/ .tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button { flex-shrink: 0 !important; margin-right:-6px !important; width: 20px !important; height: 20px !important; /* display: none !important; */ /* wird total ausgeblendet */ } /* Tabtext zentriert */ .tab-label-container { height: unset !important; display: grid !important; justify-items: safe center !important; justify-content: safe center !important; } .tab-label { justify-content: center !important; overflow: hidden !important; } /* Tabtext nicht verschoben bei hover */ .tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button { padding-inline-start: 7px !important; width: unset !important; } /*Tabtext beim Laden blau*/ .tabbrowser-tab[busy] .tab-label { color: blue !important; } /* Schrift aktiver Tab */ .tabbrowser-tab[visuallyselected="true"] .tab-label { font-weight: bold !important; color: blue !important; font-size: 1.3em !important; font-family: "Verdana, Helvetica", serif !important; font-style: italic !important; /* margin-top: 1px !important; */ } /* Hintergrund Navigations- und Lesezeichensymbolleiste ausgeblendet */ #PersonalToolbar { background: none !important; opacity: 1.0 !important; border: none !important; margin-top: 2px !important; } /* Abstand der Tabs zur Lesezeichen-Symbolleiste */ #TabsToolbar{ margin-top: 4px !important; margin-bottom: -1px !important; } /* Abstand Menü-Bar zur Url-Bar */ #toolbar-menubar { margin-bottom: 0px !important; margin-top: 1px !important; } /* graue Linie der Tabs-Toolbar entfernt */ /* #nav-bar{ box-shadow: none !important; } */ #TabsToolbar #tabs-newtab-button:hover > image { background-color: grey !important; }
-
Hm, der Fehler lag natürlich an mir. Ich hatte überlesen, dass ich den Scriptcache löschen muss und nach Starten im abgesicherten Modus hat es funktioniert
Jetzt kann ich die Tabs endlich auch wieder verschiebenAlles wird gut, nicht immer gleich aufgeben.
Aktuell bin ich nur am Grübeln wie ich den Look der orig. Firefox Tableiste hinbekommen könnte. Hinsichtlich Schriftart und dem unauffälligen Tabrahmen
Das Script ist nun mal von seinem Ersteller ( BrokenHeart) so aufgebaut, dass man im Normalfall nichts weiter anpassen muss.
Wenn es dir so nicht zusagt, dann hast du mächtig viel Arbeit vor dir, denn viele Einstellungen sind im Script schon vorhanden, und würden m.M.n. bei zusätzlichen Änderungen mehr Schaden anrichten, als dass es zu besseren Ergebnissen führen würde.
Für meine Zwecke habe ich nur in einer zusätzlichen css-Datei die Farben der Tabs verändert.
-
Habt ihr irgendwelche Tipps und Lösungsansätze für mich?
Funktionieren denn andere Scripte?
Wenn nicht , dann sollte das nachgeholt werden:
ThemaFunktionelle Änderungen am Firefox durch Skripte
Als Ersatz für einige Erweiterungen bzw. Funktionen daraus kann man auch diverse Skripte benutzen.
( damit sind nicht optische Änderungen am Firefox gemeint)
Diese werden mit einer userChrome.css Datei erstellt.
Skripte werden als .uc.js Datei im Unterordner chrome gespeichert.
Hinweise:
Ab Firefox Version 139 muss der neue Eintrag in about:config:
security.allow_unsafe_dangerous_privileged_evil_eval
auf true umgestellt werden, damit manche Skripte wieder funktionieren.
Hier der Gund dafür:
RE:…2002Andreas15. November 2017 um 16:49 -
In finalen Versionen nicht vor Firefox 117
Danke, Sören, ist registriert.
-
-
Ab Version 115 gibt es diesen Button, der bei Inaktivität den Text leicht Grau erscheinen lässt. Erst wenn eine Seite aufgerufen wird, so erhöht sich der Kontrast.
Nun möchte ich nur bei Aktivität die Farbe ändern, was mir nicht gelingen will. Mit dem Code wird die Farbe generell angesprochen:
CSS#appMenu-translate-button { /* Seite übersetzen */ color: blue !important; font-weight: bold !important; }
Was muss da zusätzlich eingetragen werden. Bitte helfen.
-
Die Nightly vom 8. (gestern) ist teilweise englisch
Gerade bereinigt, wieder Deutsch.
-
Bei beiden Skripten?
Ja, milupo, alles bestens. Danke!
-
Das ist dein Skript, ich musste Zeile 18 auskommentieren.
Ich habe sie ganz raus genommen, und siehe da, das war der Übeltäter.
Ich habe hier z. B. noch das Skript Appmenu.uc.js, das ein Menü Firefox mit verschiedenen Einträgen anlegt, wie es wohl mal bis Firefox 4? war. Dort bitte mal Folgendes ersetzen:
In zwei Profilen nutze ich das Script auch, wo ich für den Aufruf der Browser-Werkzeuge bisher den Code verwendet habe:
Code{ name: 'Browser-Werkzeuge', subdir: 'Firefox Funktionen', command: "var { require } = ChromeUtils.import('resource://devtools/shared/Loader.jsm', {});\ var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.jsm');\ BrowserToolboxLauncher.init();", },
Button und Icon alles da, nur der Aufruf schlägt fehl. Auch mit den von Dir gezeigten Änderungen dazu.
Wie müsste der Eintrag denn genau aussehen?
Edit:
Danke, hat sich erledigt. Habe immer v114 versucht, da funktioniert es natürlich noch nicht, aber im Nightly schon.
-
Teste bitte mal mein Skript
Das funktioniert, was ist denn da wieder los. Muss ich mal auf Spurensuche, danke, Andreas.
-
Hast du das so eingetragen?
Im aktuellen Nightly:
CSS
Alles anzeigen// ==UserScript== // @include chrome://mozapps/content/downloads/unknownContentType.xhtml // @charset UTF-8 // @version Fx104+ // ==/UserScript== (function () { const Cu = Components.utils; if (!window.FileUtils) ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs'); if (!window.Services) Cu.import('resource://gre/modules/Services.jsm'); setTimeout(function () { saveTo(); }, 200); function saveTo() { // Config const dirArray = [ [FileUtils.getDir('UChrm', []).path, 'chrome'], ['D:\\Download Firefox', 'Download Firefox'], ['D:\\Download Firefox\\Dokumente'], ['D:\\Download Firefox\\Bilder'], ['D:\\Download Firefox\\Software'], ['D:\\Download Firefox\\Ablage'], ['D:\\Download Firefox\\Sonstiges'], ["C:\\", "C:"], ["E:\\", "E:"], ]; const button = document.getElementById('unknownContentType').getButton('cancel'); const saveTo = button.parentNode.insertBefore(document.createXULElement('button'), button); const saveToMenu = saveTo.appendChild(document.createXULElement('menupopup')); saveTo.classList.toggle('dialog-button'); saveTo.label = 'Speichern nach'; saveTo.type = 'menu'; const css =` hbox.dialog-button-box button.dialog-button menupopup { background: gold !important; min-width: 220px !important; padding: 5px !important; margin: 15px 0 0 -62px !important; border: 3px solid dodgerblue !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem{ appearance: none !important; color: blue !important; background: #fefefc !important; border: 1px solid silver !important; margin-top: 1px !important; border-radius: 7px !important; padding-left: 12px !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem:hover { background: greenyellow !important; border: 1px solid red !important; } hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text { color: blue !important; font-size: 15px !important; font-weight: 600 !important; margin-left: 12px !important; margin-top: 1px !important; } `; const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); dirArray.forEach(function (directory) { const [name, dir] = [directory[1], directory[0]]; const mi = document.createXULElement('menuitem'); const item = saveToMenu.appendChild(mi); item.setAttribute('label', (name || (dir.match(/[^\\/]+$/) || [dir])[0])); item.setAttribute('image', 'moz-icon:file:///' + dir + '\\'); item.setAttribute('class', 'menuitem-iconic'); item.addEventListener('command', function () { const locationtext = document.getElementById('locationtext'); const pathFile = dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value); const file = new FileUtils.File(pathFile); dialog.mLauncher.saveDestinationAvailable(file); dialog.onCancel = function () {}; close(); }); }); } }());
-
Was die Zeilen in deinen beiden Skripten angeht, so gilt für saveTo104+.uc.js ab Firefox 113:
Leider funktioniert es dann nicht mehr, weil der Button nicht mehr angezeigt wird. Hat wer einen Tipp dazu?
-
Danke für Deine Hinweise, werde ich abends dann verarbeiten, melde mich dann wieder
Dann entschuldige ich mich noch für das Durcheinander, dass ich mit dem Script userChromeShadow.uc.js angerichtet habe.
Es ist nämlich so, dass ich zwei Scripte vereinigt habe, dort ist auch dieses enthalten, hat aber mit der Thematik nichts zu tun, dafür ist der zweite Teil zuständig.
Code
Alles anzeigen// userChromeShadow.uc.js by aborix // 28.07.2022 FF104+ Fix: using PathUtils.join (Sören Hentzschel) // https://www.camp-firefox.de/forum/thema/132865-shadowroot-neue-aufruf-methode-f%C3%BCr-css-regeln-wichtiges-update-28-07-2022/?postID=1175307#post1175307 (async function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { let path = PathUtils.join(PathUtils.profileDir, 'chrome', 'userChromeShadow.css'); let cssIn = await IOUtils.readUTF8(path); let sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); let uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(cssIn)); sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET); } catch(e) { console.log("UserChromeShadow-Error: " + e.name + ': ' + e.message ); }; })(); // legt einen Button für userShadow.css (im Ordner chrome) an, und ruft die Datei direkt auf (function() { if (location != AppConstants.BROWSER_CHROME_URL) return; try { //ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs"); Components.utils.import("resource:///modules/CustomizableUI.jsm"); CustomizableUI.createWidget({ id: "OpenCSSShadowbutton", defaultArea: CustomizableUI.AREA_NAVBAR, removable: true, label: "OpenCSSShadowbutton", tooltiptext: "userChromeShadow.css", onClick: function(event) { if (event.button != 0){ return; } var dir = Services.dirsvc.get('UChrm', Ci.nsIFile); dir.append('userChromeShadow.css'); // dir.append('Test.css'); dir.launch(); }, onCreated: function(aNode) { aNode.style.listStyleImage = 'url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAABqUlEQVQokWP89OkTAymABc76+fb99YnzXuw7xsrP67RpLiMzMz4NXx8/2+eV8OXhE05JMW45KQYGRgI2nM6r//r4qemEeuX4ELjZf7//+PX+I6eUOLIGJgYGhm9PXrzYf1wuyEslKRyu+sW+Yxs0HDdqO3958ARDw9Pn///9EzbRRZY4XdjIwMCgXZbJKSmGroFdSJCBgeHL/ccI4f//v9x/LOFgqVuZzczOxvD//49Xb/7//QvVwKMkJ6Ctdm/xurdnLqF4kImRgYHh9+cv+3yTNqg53Ji8AKqBkZnJdEI9AwPDHvfYQ+HZ13pn/f//H67r5tRFLw+dlPFxFnewhGpgYGAQMTd03r5QxNzgxb6jN6ct/v/nL1zD5zsPmNjYzGe0CRloMSBHnJChjvO2hb8/f2VkYvzz5SsDAwMTKwsDA8N/BgZGRgZGRiaEp5EBKy/3wzXbNht6MjAwSDrbMGAAFixCXJx86koKod4KYT5EaZAP9ZYP9YZzf3/6wsDIyMjMhFMDHHx79vJQaOaHKzfF7S2YOdix+wEF/P/PyMoiH+JlOacTLgYAnMqRpg2c0p8AAAAASUVORK5CYII=)'; return aNode; } }); } catch (e) { Components.utils.reportError(e); }; })();
-
Wenn du möchtest, könntest du deine Skripte mal nach eingebundenen JSM-Modulen durchsuchen.
Im Script saveTo104+.uc.js :
(function () {
const Cu = Components.utils;
if (!window.FileUtils) Cu.import('resource://gre/modules/FileUtils.jsm');
if (!window.Services) Cu.import('resource://gre/modules/Services.jsm');
in den Scripten userChromeShadow.uc.js und BackupProfile.uc.js :
Components.utils.import("resource:///modules/CustomizableUI.jsm");