Windows 11 geht hier nämlich nicht
Bei meinem erst recht nicht.
Windows 11 geht hier nämlich nicht
Bei meinem erst recht nicht.
Evtl. kann uns Sören ja etwas dazu sagen, ob das tatsächlich so sein kann.
Ich kann das weder betätigen noch ausschließen. Vielleicht arbeiten die PathUtils Ressourcen schonender als OS.File, vielleicht haben wir hier auch einen Placebo-Effekt. Keine Ahnung.
vielleicht haben wir hier auch einen Placebo-Effekt
Das würde ich beinahe befürchten, aber selbst wenn nicht, hier ist dem definitiv so, Fx fühlt sich in der Tat etwas besser an.
weder betätigen noch ausschließen.
Hallo Sören, danke für deine Antwort.
Ich werde das mal beobachten.
Das würde ich beinahe befürchten, aber selbst wenn nicht, hier ist dem definitiv so, Fx fühlt sich in der Tat etwas besser an.
Placebo-Effekte leben hoch!
Ich hab den Code in Beitrag #31 angepasst, damit er dort nun richtig steht.
Vielen Dank für die Anpassung! 🦊
Placebo-Effekte leben hoch!
Tja, hier läuft Fx in der Tat etwas flüssiger, daher ist es mir in der Tat egal, ob es Placebo ist oder sonst was eine Rolle spielt, für mich ist das ein feiner Nebeneffekt.
für mich ist das ein feiner Nebeneffekt.
Sehe ich hier für mich auch so
moin
bin nun bei der "Beta115b1" angekommen
und genau dieser "Fehler" #31(gab Abhilfe - thx) trat auf
was ich alles rumgedocktort habe - omg
bis ich diesen Beitrag fand - Halleluja
nur eine bitte für zukünftige "Generationen" - kann man(n) so was bei Gelegenheit in "Individuelle Anpassungen" Pinnen oder so
thx an alle die dieses "herausgefunden und begradigt haben"
gruß uni
Sören hatte ja schon in #16 auf den Januar hin gewiesen und zu dem Zeitpunkt war Firefox 110 Nightly und 109 Beta aktuell. Man hätte also schon vor 5 Monaten antesten können, wie weit die Umstellung gediegen war. Jeder ist für sich selbst in der Pflicht, da am Ball zu bleiben, einmal pro Monat reicht beileibe nicht.
Persönlich arbeite ich lieber mit der Nightly voraus statt mit der Beta. Da habe ich dann im Idealfall 8 Wochen Vorlauf, was an Änderungen kommen könnte. zB gab es in der v115 Nightly Änderungen im Dialogfeld des Extensionbuttons, das CSS ist bis zurück zur v113 nutzbar, wenn auch nicht relevant.
kann man(n) so was bei Gelegenheit in "Individuelle Anpassungen" Pinnen oder so
Ich habe mal wieder nach in ESM konvertierten JSM-Modulen in meinen Benutzerskripten geforscht, denn es werden täglich JSM-Module nach ESM konvertiert. In meinen Skripten habe ich drei Module gefunden, die neu konvertiert wurden:
- CustomizableUI.jsm --> CustomizableUI.sys.mjs
- Loader.jsm --> Loader.sys.mjs
- Downloads.jsm --> Downloads.sys.mjs
Es sind jetzt nur die, die ich in meinen Skripten gefunden habe, es sind mit Sicherheit bereits andere ebenfalls konvertiert worden.
Die Konvertierung von CustomizeableUI.jsm nach CustomizableUI.sys.mjs ist insbesondere für Benutzerskripte von Bedeutung, die Systemschaltflächen anlegen. Dieses Modul ist aber erst ab Firefox 115 (Beta) konvertiert, in Firefox 114 noch nicht.
Die anderen beiden Module sind auch schon in Firefox 114 konvertiert.
Hier für jedes der Module die entsprechende Code-Zeile aus einem Skript:
Skript bildschirmtastatur.uc.js, Zeilen 9 und 10:
(function () {
if (location != 'chrome://browser/content/browser.xhtml')
return;
try {
var APPpath = 'C:\\Windows\\System32\\osk.exe';
var label = 'Bildschirmtastatur';
var tooltiptext = 'Bildschirmtastatur starten';
// Components.utils.import("resource:///modules/CustomizableUI.jsm");
ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
CustomizableUI.createWidget({
id: "ucjs-" + label + "-button",
defaultArea: CustomizableUI.AREA_NAVBAR,
removable: true,
label: label,
tooltiptext: tooltiptext,
onClick: function () {
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath(APPpath);
file.launch();
},
onCreated: function (aNode) {
var ICOpath = APPpath.replace(/\\/g, "//");
aNode.style.listStyleImage = 'url("moz-icon:file:///' + ICOpath + '?size=16")'
return aNode;
}
});
} catch (e) {
Components.utils.reportError(e);
};
})();
Alles anzeigen
browsertoolbox.uc.js, Zeile 42:
// Button für Browserwerkzeuge
// browsertoolbox.uc.js von Endor von hier:
// https://www.camp-firefox.de/forum/thema/129954-symbole-zu-kontextmen%C3%BCs-mit-javascript-und-css-hinzuf%C3%BCgen/?postID=1138524#post1138524
//
// 200214: Einbau
// 200215: berechneter Path mit "werkzeuge.png"
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
try {
CustomizableUI.createWidget({
id: 'browser-toolbox-button',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/");
var buttonicon = "werkzeugkasten.png"
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
var props = {
id: 'browser-toolbox-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
label: 'Browser-Werkzeuge',
tooltiptext: 'Browser-Werkzeuge',
style: 'list-style-image: url("' + ("file:" + currentProfileDirectory + "/chrome/icons/" + buttonicon) + '");',
oncommand: '(' + onCommand.toString() + ')()'
};
for (var p in props)
toolbaritem.setAttribute(p, props[p]);
return toolbaritem;
}
});
CustomizableUI.registerToolbarNode(tb);
} catch(e) { };
function onCommand() {
var document = event.target.ownerDocument;
if (!document.getElementById('menu_browserToolbox')) {
let { require } = ChromeUtils.importESModule("resource://devtools/shared/loader/Loader.sys.mjs", {});
require("devtools/client/framework/devtools-browser");
};
document.getElementById('menu_browserToolbox').click();
};
})();
Alles anzeigen
und downloadsound.uc.js, Zeile 9:
var downloadPlaySound = {
// -- config --
DL_DONE : "File:\\\C:\Programme (x86)\Microsoft Office\Office10\Media\APPLAUSE.WAV",
// -- config --
_list: null,
init: function sampleDownload_init() {
XPCOMUtils.defineLazyModuleGetter(window, "Downloads",
"resource://gre/modules/Downloads.sys.mjs");
//window.removeEventListener("load", this, false);
window.addEventListener("unload", this, false);
//**** Zusätzliche Downloads Überwachung
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._list) {
this._list.removeView(this);
}
},
onDownloadAdded: function (aDownload) {
//**** ダウンロード開始イベント
if (this.DL_START)
this.playSoundFile(this.DL_START);
},
onDownloadChanged: function (aDownload) {
//**** ダウンロードキャンセル
if (aDownload.canceled && this.DL_CANCEL)
this.playSoundFile(this.DL_CANCEL)
//**** ダウンロード失敗
if (aDownload.error && this.DL_FAILED)
this.playSoundFile(this.DL_FAILED)
//**** ダウンロード完了
if (typeof aDownload.downloadPlaySound == "undefined" &&
aDownload.succeeded && aDownload.stopped && this.DL_DONE) {
aDownload.downloadPlaySound = true;
this.playSoundFile(this.DL_DONE);
}
},
playSoundFile: function(aFilePath) {
if (!aFilePath)
return;
var ios = Components.classes["@mozilla.org/network/io-service;1"]
.createInstance(Components.interfaces["nsIIOService"]);
try {
var uri = ios.newURI(aFilePath, "UTF-8", null);
} catch(e) {
return;
}
var file = uri.QueryInterface(Components.interfaces.nsIFileURL).file;
if (!file.exists())
return;
this.play(uri);
},
play: function(aUri) {
var sound = Components.classes["@mozilla.org/sound;1"]
.createInstance(Components.interfaces["nsISound"]);
sound.play(aUri);
},
handleEvent: function(event) {
switch (event.type) {
case "unload":
this.uninit();
break;
}
}
}
downloadPlaySound.init();
Alles anzeigen
Ich danke Dir, milupo, das habe ich gleich mal umgesetzt, und es funktioniert. Hier mit dem Script von aborix :
// Browser-Werkzeuge.uc.js
// Author @aborix
(function() {
if (location != AppConstants.BROWSER_CHROME_URL) return;
try {
CustomizableUI.createWidget({
id: 'browser-toolbox-button',
defaultArea: CustomizableUI.AREA_NAVBAR,
label: 'Browser-Werkzeuge',
tooltiptext: 'Browser-Werkzeuge',
onCommand: onCommand,
onCreated: function(button) {
button.style.listStyleImage = 'url("file:///C:/FoxIcons/browserwerkzeuge.png")';
}
});
} catch(e) {
return;
};
function onCommand(event) {
var document = event.target.ownerDocument;
if (!document.getElementById('menu_browserToolbox')) {
let { require } = ChromeUtils.importESModule("resource://devtools/shared/loader/Loader.sys.mjs", {});
require("devtools/client/framework/devtools-browser");
};
document.getElementById('menu_browserToolbox').click();
};
})();
Alles anzeigen
Ich danke Dir, milupo, das habe ich gleich mal umgesetzt, und es funktioniert.
Gern geschehen, schön dass es funktioniert. Wenn du möchtest, könntest du deine Skripte mal nach eingebundenen JSM-Modulen durchsuchen. Einfach .jsm als Suchbegriff eingeben und dann mal die gefundenen .jsm-Dateien hier im Forum melden.
Einfach .jsm als Suchbegriff eingeben und dann mal die gefundenen .jsm-Dateien hier im Forum melden.
Ich finde neben den von dir genannten JS-Modulen nur noch ziemlich oft
resource://gre/modules/Services.jsm und jeweils einmal
resource://gre/modules/FormHistory.jsm sowie
resource://gre/modules/LoginHelper.jsm.
Services ist noch .jsm, die zwei anderen sind bereits .sys.mjs.
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");
Hallo FuchsFan,
FileUtils.jsm ist bereits konvertiert und zwar schon seit Firefox 113. Wie Sören oben schon schrieb, ist Services.jsm noch nicht konvertiert und wird es wohl auch bleiben, denn meines Wissens soll es das Modul Services.jsm in Zukunft nicht mehr geben. Was das Modul CustomizableUI.jsm angeht, so gilt, was ich in Beitrag #93 geschrieben habe: Es ist erst ab der 115er Beta konvertiert.
Was die Zeilen in deinen beiden Skripten angeht, so gilt für saveTo104+.uc.js ab Firefox 113:
(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');
Für BackupProfile.uc.js bleibt es in Firefox 114 wie bisher, ab der 115er Beta sieht die Zeile dann so aus:
Nachtrag: Ich habe hier auch eine userChromeShadow.uc.js, da wird aber kein Modul eingelesen.