Beiträge von FuchsFan
-
-
-
Diese Meldung erscheint bei mir überhaupt nicht!
Hast du eventuell die Benachrichtigungen von Windows ausgeschaltet?

-
Allerdings nutze ich so ein Skript auch nicht.
Ich auch nicht
, versuche es aber trotzdem immer noch aktuell zu halten, eventuell für "schlechte" Zeiten.
-
Ich erhalte aber auch mit der Änderung von Sören Hentzschel keine Nachricht!?
Dann vergleiche mal mit meinem Script.
JavaScript
Alles anzeigen// ==UserScript== // @name BackupProfile.uc.js // @namespace BackupProfile.github.com // @description Schaltfläche zum Sichern des Firefoxprofils // @charset UTF-8 // @author ywzhaiqi、defpt // @version v2023.07.02 FF 115.* // @note Vorlage Script von ywzhaiqi (+ Mischung aus diversen Varianten aus dem Fuchsforum 1.11.21) // @note Sicherungsdatei enthaelt auch Profilname // @note FileUtils.getFile ersetzt 2.7.23 // @reviewURL http://bbs.kafan.cn/thread-1758785-1-1.html (function () { if (location.href !== 'chrome://browser/content/browser.xhtml') return; CustomizableUI.createWidget({ id : "Backup-button", defaultArea : CustomizableUI.AREA_NAVBAR, label : "Profilsicherung", tooltiptext : "Sichern der aktuellen Konfiguration", onClick: function(){ // Speicherort - Ordner festlegen - Sichern funktioniert nur wenn Speicherort- bzw. Ordner vorhanden ist!! var path = "G:\\Firefox Sicherung\\Firefox1p\\"; // var path = ""; // Ausschlussliste var excludes = 'bookmarkbackups *cache* crashes fftmp *healthreport* minidumps safebrowsing *webapps* saved-telemetry-pings *thumbnails* *session* *Telemetry* *hotfix* *.sqlite-shm *.sqlite-wal *.bak parent.lock blocklist.xml content-prefs.sqlite directoryLinks.json mimeTypes.rdf compatibility.ini parent.lock formhistory.sqlite'; if (!path) { var nsIFilePicker = Ci.nsIFilePicker; var FP = Cc['@mozilla.org/filepicker;1'].createInstance(nsIFilePicker); FP.init(window, 'Sicherungspfad wählen', nsIFilePicker.modeGetFolder); if (FP.show() == nsIFilePicker.returnOK) { path = FP.file.path; } else { return false; } } excludes = excludes.replace(/\./g, '\\.').replace(/\*/g, '.*').replace(/\s+/g, '|'); excludes = new RegExp(excludes, 'i'); var zw = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter); var pr = {PR_RDONLY: 0x01, PR_WRONLY: 0x02, PR_RDWR: 0x04, PR_CREATE_FILE: 0x08, PR_APPEND: 0x10, PR_TRUNCATE: 0x20, PR_SYNC: 0x40, PR_EXCL: 0x80}; var fu = ChromeUtils.importESModule('resource://gre/modules/FileUtils.sys.mjs').FileUtils; var dir = new FileUtils.File(PathUtils.join(PathUtils.profileDir,[])); let d = new Date(); d = d.getDate() + '.' + (d.getMonth() + 1).toString().padStart(2, '0') + '.' + d.getFullYear().toString().padStart(2, '0') + ' ' + d.getHours().toString().padStart(2, '0') + '\uA789' + d.getMinutes().toString().padStart(2, '0') + '\uA789' + d.getSeconds().toString().padStart(2, '0'); // Die folgende Zeile formt den Archivnamen var archiveName = 'Profil 1p' + ' ' + d + '.zip'; /* 'd' ersetzt 'localnow' */ var xpi = fu.File(path + '\\' + archiveName); zw.open(xpi, pr.PR_RDWR | pr.PR_CREATE_FILE | pr.PR_TRUNCATE); var dirArr = [dir]; for (var i=0; i<dirArr.length; i++) { var dirEntries = dirArr[i].directoryEntries; while (dirEntries.hasMoreElements()) { var entry = dirEntries.getNext().QueryInterface(Ci.nsIFile); if (entry.path == xpi.path) { continue; } if (entry.isDirectory()) { dirArr.push(entry); } var relPath = entry.path.replace(dirArr[0].path, ''); if (relPath.match(excludes)) { continue; } var saveInZipAs = relPath.substr(1); saveInZipAs = saveInZipAs.replace(/\\/g,'/'); // Konfigurationsdateien können gesperrt werden try { zw.addEntryFile(saveInZipAs, Ci.nsIZipWriter.COMPRESSION_FASTEST, entry, false); } catch (e) {} } } zw.close(); alert('Die aktuelle Konfiguration wurde als:\n'+ archiveName +'\ngesichert in:\n' + path); function alert(aString, aTitle) { const AlertNotification = Components.Constructor( '@mozilla.org/alert-notification;1', 'nsIAlertNotification', 'initWithObject' ); Cc['@mozilla.org/alerts-service;1'].getService(Ci.nsIAlertsService).showAlert( new AlertNotification({ title: aTitle, text: aString }) ); } function bupgetCurrentProfileName(){ function readFile(aFile){ var stream = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream); stream.init(aFile, 0x01, 0, 0); var cvstream = Cc["@mozilla.org/intl/converter-input-stream;1"].createInstance(Ci.nsIConverterInputStream); cvstream.init(stream, "UTF-8", 1024, Ci.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER); var content = "", data = {}; while (cvstream.readString(4096, data)) { content += data.value; } cvstream.close(); return content.replace(/\r\n?/g, "\n"); } var PrefD = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("PrefD", Components.interfaces.nsIFile); var ini = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("AppRegD", Components.interfaces.nsIFile); ini.append("profiles.ini"); var ini = readFile(ini); var profiles = ini.match(/Name=.+/g); var profilesD = ini.match(/Path=.+/g); for ( var i = 0; i < profiles.length;i++) { if ((profilesD[i]+"$").indexOf(PrefD.leafName+"$") >= 0) { profiles[i].match(/Name=(.+)$/); return RegExp.$1; } } return null; } }, }); var cssStr = '@-moz-document url("chrome://browser/content/browser.xhtml"){' + '#Backup-button .toolbarbutton-icon {' + 'list-style-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1%2B%2FAAAABZ0RVh0Q3JlYXRpb24gVGltZQAwNC8xMS8wOGGVBZQAAAAcdEVYdFNvZnR3YXJlAEFkb2JlIEZpcmV3b3JrcyBDUzQGstOgAAABxklEQVQ4ja2UMUgbURjHfxeSFBzuBEuCkkAgIA5JDdzWohVnQe3UpRDE2UXpKKXdWro4ixlcdNJAydxiyHZkCIKIOEnLpZQSRFFz%2Bjqk73nvuDtb2j883nv%2F73u%2F%2B%2B69ewf%2FWUZgbgEFYDgiPw18B86An8DtQw%2BYdF1XRLVGoyGEEKJara4Bj0MKIhGYDxuGQVSTqtVqH0ql0uzvNzLigCQSicjmeZ7K63Q6u5VKZRoYigXGVWhZlpbbbrfrwKjfS4ZVGKVCoUCz2aTX65FOp6WdA04igf69CsqyLMrlctAWsRXGAf9EavXyFELEZT4A2TwYsLQKF%2BYXAJhb3VPep4%2BLzK3uqd7vS9Xr%2B2qsAW9u4eyoxcZSFoCVLZfTwxaA6v2xjaUsuYmnWrU60IOr%2FmD8etvl%2Fausikl%2FZcsFULEbD02hwPUdl7cvs1qiBAb9eOCdwdjEM2AABdh88wJA%2BbK%2FX6MDtVPmHyRPOfjRPfc87%2FPfgJLJ5AzwRc0BbNseB8a63e6TuKsXpnw%2BP5nJZAzgq%2BM4x3IPzwFM07woFovv%2Bv3%2BUDTiXqlU6tI0zQs%2FI%2FSe2bYt%2FyCPgJFA%2BAdwDeA4zrfg2l%2BwUqCoC1F3YQAAAABJRU5ErkJggg%3D%3D)' + '}}'; var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); var ios = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); sss.loadAndRegisterSheet(ios.newURI("data:text/css;base64," + btoa(cssStr), null, null), sss.USER_SHEET); })(); -
Diese Meldung erscheint bei mir überhaupt nicht!
Hast du eventuell die Benachrichtigungen von Windows ausgeschaltet?
-
Wie genau müsste denn der Pfad in der Zeile 83 aussehen?
Genau so wie du ihn angegeben hast, darf dort auch nicht geändert werden. Deshalb legst du doch den Pfad in Zeile 22 (bei dir) fest.
-
Auch mir fehlt irgendwie eine Meldung, dass die Sicherung erfolgreich beendet ist.
Suchst du nun ganz was spezielles, oder ist bei dir überhaupt keine Benachrichtigung zu sehen? Hier schon.

-
Da kann ich dir auch noch etwas als Vorlage anbieten. Das ist z.B. der Code für das Ein- und Ausblenden der Menübar.
CSS
Alles anzeigen/*=== "Menüleiste" (im Kontext der Toolbar) ===*/ /* aktiviert */ #toggle_toolbar-menubar :is(menuitem[type="radio"][checked="true"] >.menu-iconic-left) { background-repeat: no-repeat !important; margin-left: -30px ; padding-left: 20px ; height: 15px ; } /* deaktiviert */ #toggle_toolbar-menubar :is(menuitem[type="radio"][checked="false"] >.menu-iconic-left) { background-repeat: no-repeat !important; margin-left: -30px ; padding-left: 27px ; height: 15px ; } /* aktiviert das Icon */ #toggle_toolbar-menubar[checked="true"]{ background-image: url("file:///C:/FoxIcons/0002.png") ; background-size: 16px 16px ; } /* aktiviert bei Hover */ #toggle_toolbar-menubar[checked="true"]:hover{ background-image: url("file:///C:/FoxIcons/0003.png") ; background-size: 16px 16px ; } /* deaktiviert das Icon*/ #toggle_toolbar-menubar{ background-image: url("file:///C:/FoxIcons/0003.png") ; background-size: 16px 16px !important; } /* deaktiviert bei Hover */ #toggle_toolbar-menubar:hover{ background-image: url("file:///C:/FoxIcons/0002.png") ; background-size: 16px 16px !important; } /** "Menüleiste" (Kontext) ** ENDE **/Menüleiste eingeblendet:

...dann bei hover:

dann wenn ausgeblendet:

dann hier wieder bei hover:

-
Die Bearbeitungsfunktion ist hauptsächlich dafür gedacht, Code bequem aus anderen Quellen zu kopieren und einzufügen – sie ist nicht als vollwertiger Editor konzipiert.
Dann erfüllt es ja seinen Zweck, das hatte ich dann nicht richtig eingeordnet. Danke!
-
Ich habe das jetzt mal für einen Test installiert, funktioniert, ist aber mMn sehr gewöhnungsbedürftig. Ganz besonders wenn der Editor genutzt wird, denn hier ist man doch an notepad++ gewöhnt. Wenn das noch umgesetzt werden könnte, dann sieht die Sache schon anders aus. Ist nur mein erster Eindruck, gibt bestimmt andere Meinungen dazu.
-
Nein, das ist es nicht. Schade
Ja! Und wenn du mal das ganze Script probierst?
JavaScript
Alles anzeigen// Button zum Aufruf von Firefox-Dialog (function() { if (location != 'chrome://browser/content/browser.xhtml') return; try { CustomizableUI.createWidget({ id: 'dialog', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton'); var props = { id: 'dialog', class: 'toolbarbutton-1 chromeclass-toolbar-additional', label: 'Firefox-Dialog', tooltiptext: 'Firefox-Dialog aufrufen', style: 'list-style-image: url("file:///C:/FoxIcons/Finale.png")', }; for (var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); CustomizableUI.registerToolbarNode(tb); } catch(e) { }; document.getElementById('dialog').addEventListener('click', event => { if (event.button === 0) { event.target.ownerGlobal.openAboutDialog(); } }); })(); -
Sieht da irgendwer irgendetwas?
Ich sehe nichts, aber in meinem Script sieht der Aufruf des Dialoges so aus.
Eventuell würde das ja funktionieren.
-
-
-
-
Du könntest auch noch versuchen, statt das Shadow-Script zu benutzen die Selektoren #tabbrowser-arrowscrollbox, #pinned-tabs-container mit in das normale CSS zu packen:
@Horstmann
Damit #tabbrowser-arrowscrollbox, #pinned-tabs-container { funktioniert es (ohne Shadow-Script), danke dafür.
Nun "musst" du mir nur noch sagen, wo und wie ich das in meinem Code unterbringen kann, damit bei bedienen der Navbar-Button der originale Hintergrund ausgeblendet wird.
--arrowscrollbox-scrollicon-active-background-color: transparent !important;
-
Mitleser , 2002Andreas , @Horstmann
Dankeschön für eure Hilfe, hat mir für diese Baustelle gezeigt, da muss man schon den richtigen Überblick haben. Kann ich nicht mithalten.

Andreas, das musste ich von deinem gestrigen Code in der userChromeShadow.css bestehen lassen.
CSS
Alles anzeigen#tabbrowser-arrowscrollbox, #pinned-tabs-container { &::part(scrollbutton-up), &::part(scrollbutton-down) { --arrowscrollbox-scrollicon-active-background-color: transparent !important; border-radius: 0px !important; margin-top: 5px !important; } } #tabbrowser-arrowscrollbox, #pinned-tabs-container { &::part(scrollbutton-up):hover, &::part(scrollbutton-down):hover { --arrowscrollbox-scrollicon-hover-background-color: transparent !important; background-color: yellow !important; border: 1px solid red !important; } }Den heutigen Code hatte ich schon angepasst, funktionierte auch, musste dafür aber das Shadow-Script an die erste Startposition setzen.
Und dann kam Horstmann mit seinem Code, und der war jetzt prima einsetzbar. Und so sieht das dann in der userChrome.css aus.
CSS
Alles anzeigen/* diese Schreibweise erlaubt die Anpassung der Scroll-Button in Lesezeichen-Ordnern */ /* in der userChromeShadow.css ist noch ein Eintrag, gültig für Scroll-Button im All-Tabs-Button */ #navigator-toolbox { --ug-scroller_bgcolor: lightgrey; --ug-scroller_border: 1px solid grey; --ug-scroller_height: 28px; --ug-scroller_hoverbgcolor: lightyellow; --ug-scroller_border_hover: 1px solid purple; } /*menupopup,*/ toolbarbutton.bookmark-item { --ug-scroller_height: 22px; --ug-scroller_bgcolor: lightblue; --ug-scroller_border: 1px solid grey; --ug-scroller_border_radius: 5px; --ug-scroller_hoverbgcolor: yellow; --ug-scroller_border_hover: 1px solid red; } :is(#scrollbutton-down, #scrollbutton-up) { background-color: var(--ug-scroller_bgcolor, initial) !important; border: var(--ug-scroller_border, initial) !important; height: var(--ug-scroller_height, initial) !important; border-radius: var(--ug-scroller_border_radius, initial) !important; } :is(#scrollbutton-down, #scrollbutton-up):is(:hover, :active) { background-color: var(--ug-scroller_hoverbgcolor, initial) !important; border: var(--ug-scroller_border_hover, initial) !important; } /*=========== eigene Icons eingebaut ============*/ /* Scroll-Button für hoch/runter in Lesezeichen-Ordnern */ toolbarbutton#scrollbutton-up { list-style-image: url("file:///C:/FoxIcons/hoch.png") !important; } toolbarbutton#scrollbutton-down { list-style-image: url("file:///C:/FoxIcons/runter.png") !important; } /* Scroll-Button für rechts/links in der TabsToolbar */ #tabbrowser-arrowscrollbox { --custom-right-image: url("file:///C:/FoxIcons/rechts.png") !important; --custom-left-image: url("file:///C:/FoxIcons/links.png") !important; --custom-arrow-transform: scale(1) !important; } #scrollbutton-down > .toolbarbutton-icon { list-style-image: var(--custom-right-image) !important; transform: var(--custom-arrow-transform) !important; } #scrollbutton-up > .toolbarbutton-icon { list-style-image: var(--custom-left-image) !important; transform: var(--custom-arrow-transform) !important; } -
Der funktioniert auch, allerdings muss er dann in die userChrome.css.
Ja, das war ja mein Gedanke, aber wenn ich den Code, oder auch den mit ::part einsetze, so wird der von dir RE: Scrollbutton in Lesezeichen-Ordnern und Lesezeichen-Symbolleiste anpassen wieder überschrieben. Nun habe ich alles Mögliche probiert, um auch die Scrollbutton in den Lesezeichenordnern einzeln anzusprechen, es will nicht funktionieren. Hast du noch eine Idee?
-