...weil ich SurfShark als VPN habe
Den habe ich auch als VPN, aber nutze doch nicht die ganzen Anhängsel. Wozu?
Was dabei raus kommt, das ist ja dein Problem.![]()
...weil ich SurfShark als VPN habe
Den habe ich auch als VPN, aber nutze doch nicht die ganzen Anhängsel. Wozu?
Was dabei raus kommt, das ist ja dein Problem.![]()
Hinter dieser Option wird der Großteil der Änderungen implementiert, die nicht sowohl für die alte als auch die neue Oberfläche sind. Es passieren nämlich zwei Dinge parallel: Es wird nach und nach ein neuer Mechanismus zur Generierung der Einstellungsoberfläche eingesetzt und es kommt ein neues Design. Ersteres ist unabhängig vom Design, weswegen eine Reihe von Änderungen auch die alte Oberfläche betrifft – was unter Umständen auch dort Design-Änderungen zur Folge hat
Danke für die Erläuterungen, dann gibt es Arbeit, kommt keine Langeweile auf. ![]()
st hier auch so:
Danke!![]()
Ist ja auch komplett neu gestaltet...
Das habe ich so nur in einem Nightly, mit den großen hellen Boxen. Ist das bei dir auch so?
weil ich für Updates einfach immer auf den grünen Punkt auf der Menü-Schaltfläche warte
Danke, mache ich ja auch, aber weil ich meinen Firefox ganz doll lieb habe, so schaue ich natürlich auch mal wieder den Dialog an. Und wenn dann mal etwas angezeigt wird, was da eigentlich nicht hin gehört, so darf man doch einen Hinweis dazu geben, um auf Erklärungen zu hoffen. Das es Nightly ist, ja das ist doch wohl jedem Nutzer bekannt.
, echt da habe ich gepennt. Danke!
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.
// ==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);
})();
Alles anzeigen
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.
/*=== "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 **/
Alles anzeigen
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?
// 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();
}
});
})();
Alles anzeigen
Sieht da irgendwer irgendetwas?
Ich sehe nichts, aber in meinem Script sieht der Aufruf des Dialoges so aus.
Eventuell würde das ja funktionieren.