Die Nightly vom 8. (gestern) ist teilweise englisch
Gerade bereinigt, wieder Deutsch.
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:
{
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:
// ==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();
});
});
}
}());
Alles anzeigen
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.
// 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);
};
})();
Alles anzeigen
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");
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
Darf ich diesen Code von Dir wieder als Alternative
im entsprechenden Thread verwenden?
Ohne Frage, Du darfst, 99% davon gehören Dir.
Wie schon gesagt, im Nightly habe ich meinen Code schon geändert. Sieht dann damit so aus:
Hier dann der Code dazu (zum Vergleich):
@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix(about:support) {
body::before {content: "Design by Endor und FuchsFan 01.2021";
margin-left: 0px;
font-size: 16px;
color: grey;}
/* gesamte Hintergrund */
html{
background: gainsboro !important;
}
/* Informationen zur Fehlerbehebung */
body > h1:nth-child(2){
margin-top: 10px !important;
}
body{
margin-top: 15px !important;
margin-left: auto !important;
margin-right: auto !important;
max-width: 1200px !important;
border: 5px solid dodgerblue! important;
padding: -60px -60px !important;
background: #f8f8ff !important;
border-width: 8px !important;
box-shadow: 15px 15px 0px 0px #fdd342 inset !important;
border-style: double !important;
}
/* Button - Nightly bereinigen - einblenden */
#reset-box {
display: block !important;
}
.action-box{
width: 30% !important;
border-radius:24px !important;
border: 2px solid coral! important;
margin-top: -85px !important;
}
.action-box {
background: #FDF5E6 !important;
}
#contents{
margin-top: -50px !important;
}
#reset-box, #safe-mode-box {
margin-left: 11px !important;
}
#clear-startup-cache-box > h3:nth-child(1){
margin-left: 17px !important;}
td, th{
padding-left: 15px !important;
}
#copy-raw-data-to-clipboard {
min-width: 330px !important;
}
#clear-startup-cache-box > h3,
#safe-mode-box > h3, #reset-box > h3, h2, h1 {
color: #057A7A !important;
}
#prefs-user-js-section > h3, h2 {
margin-left: 8px !important;
color: red !important;
}
#safe-mode-box > h3, #reset-box > h3 {
margin-left: 4px !important;
}
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table,
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table > tr > td {
border: none! important;
}
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table > tr > td:hover,
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table > tr:hover {
border: none! important;
}
#graphics-decisions-tbody > tr:nth-child(n+2) > td:nth-child(2) > table:nth-child(1) {
margin-left: -15px!important;
}
#graphics-decisions-tbody > tr:nth-child(n+1) > td:nth-child(2) > table:nth-child(1),
#graphics-decisions-tbody > tr:nth-child(n+1) > td:nth-child(2) > table:nth-child(1) > tr:nth-child(1) {
border: none! important;
}
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table > tr > td:hover,
#graphics-decisions-tbody > tr:nth-child(n+1) > td > table > tr:hover {
border: none! important;
}
#media-input-devices-tbody > tr:nth-child(n+1) > td:nth-child(2),
#media-output-devices-tbody > tr:nth-child(n+1) > td:nth-child(2){
word-break: break-all !important;
min-width: 10em !important;}
td {
background: #FFFFF0 !important;
}
td:hover {
background: #ffeb99 !important;
}
th {
background-color: #ee7621 !important;
}
th:hover {
background-color: #b54f06 !important;
}
/* Externe Prozesse */
#remoteprocesses-row > td:nth-child(2) > a:nth-child(1){
-moz-appearance:none!important;
margin-left: -4px !important;
background: #F0F0F0 url("..//icons/Bild125.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-right:50px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 3px!important;
border-radius:20px!important;}
#remoteprocesses-row > td:nth-child(2) > a:nth-child(1):hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild125.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 3px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#remoteprocesses-row,
#remoteprocesses-row > th:nth-child(1),
#remoteprocesses-row > td:nth-child(2) {
padding-bottom: 10px !important;
padding-top: 10px !important;}
/* Rohdaten in die Zwischenablage kopieren */
#copy-raw-data-to-clipboard{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild73.png")no-repeat !important;
padding-left:30px!important;
padding-bottom: 5px!important;
background-position:14px 4px!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:20px!important;
margin-right:10px!important;
color:black !important;}
#copy-raw-data-to-clipboard:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild73.png")no-repeat !important;
padding-left:30px!important ;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
background-position:14px 4px!important;}
/* Text in Zwischenablage kopieren */
#copy-to-clipboard {
min-width: 290px !important;}
#copy-to-clipboard{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild74.png")no-repeat !important;
padding-left:30px!important;
padding-bottom: 5px!important;
background-position:14px 4px!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:20px!important;
color:black !important;}
#copy-to-clipboard:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild74.png")no-repeat !important;
padding-left:30px!important ;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
background-position:14px 4px!important;}
/* Update-Chronik anzeigen */
#show-update-history-button{min-width: 220px !important;}
#show-update-history-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild75.png")no-repeat !important;
padding-left:19px!important;
padding-bottom: 3px!important;
padding-top: 1px!important;
background-position:8px 5px!important;
color:black!important;
margin-left: -3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:8px!important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
border-radius:20px!important;}
#show-update-history-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild75.png")no-repeat !important;
background-position:8px 5px!important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
/* Update-Ordner */
#update-dir-button{
min-width: 160px !important;}
#update-dir-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild76.png")no-repeat !important;
padding-left:20px!important;
padding-bottom: 3px!important;
padding-top: 0px!important;
background-position:8px 5px!important;
color:black!important;
margin-left: -3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
border-radius:20px!important;}
#update-dir-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild76.png")no-repeat !important;
background-position:8px 5px!important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
/* Profilordner */
#profile-dir-button {
min-width: 160px !important;}
#profile-dir-button{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild76.png")no-repeat !important;
padding-left:15px!important;
padding-right:10px!important;
background-position:8px 4px!important;
color:black!important;
margin-left: -3px !important;
font-size:14px!important;
text-decoration:none!important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
border-radius:20px!important;}
#profile-dir-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild76.png")no-repeat !important;
padding-left:15px!important ;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
background-position:8px 4px!important;}
/* Nightly bereinigen */
#reset-box-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild77.png")no-repeat !important;
padding-left:40px!important;
padding-right: 20px !important;
padding-bottom: 4px!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:20px !important;
color:black !important; }
#reset-box-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild77.png")no-repeat !important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
background-position:14px 5px!important;}
/* Fehlerbehebungsmodus... */
#restart-in-safe-mode-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild78.png")no-repeat !important;
padding-left:40px!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:20px !important;
color:black !important; }
#restart-in-safe-mode-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild78.png")no-repeat !important;
background-position:14px 5px!important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
/* Start-Cache löschen... */
#clear-startup-cache-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/database_delete.png")no-repeat !important;
padding-left:40px!important;
padding-right:20px!important;
margin-left: 10px !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:20px !important;
color:black !important; }
#clear-startup-cache-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/database_delete.png")no-repeat !important;
background-position:14px 6px!important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
#supportLink{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild52.gif") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-right:13px!important;
padding-left:29px!important;
padding-bottom: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width: 2px !important;
background-position:6px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
#supportLink:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild52.gif") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-right:13px!important;
padding-left:29px!important;
background-position:6px 2px!important;
border-radius:14px!important;
border-style: outset !important;
border-width:2px !important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;}
a[href="about:plugins"]{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
font-size:14.0px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
min-height: 28px !important;
line-height: 2.2 !important;}
a[href="about:plugins"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:buildconfig"]{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
font-size:14.0px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:buildconfig"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
/* Alle Absturzberichte */
#crashes-allReportsWithPending{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:15px!important;
padding-left:35px!important;
padding-bottom: 5px !important;
padding-top: 2px !important;
max-width: 125px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;}
#crashes-allReportsWithPending:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:15px!important;
padding-left:35px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;}
a[href="about:serviceworkers"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
max-width: 125px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:serviceworkers"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-left:35px!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:memory"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
font-size:14.0px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:memory"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:processes"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
font-size:14.0px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 3px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:processes"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#prefs-user-js-link{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:15px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;}
#prefs-user-js-link:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-right:15px!important;
padding-left:35px!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:third-party"]{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:third-party"]:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:performance"]{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:performance"]:hover{
appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:profiles"]{
appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:brown!important;
font-weight: 600 !important;
margin-left: -3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 4px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 3px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:profiles"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 3px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
a[href="about:studies"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 6px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 0px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
a[href="about:studies"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#policies-status-row td#policies-status a{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: -3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:25px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 2px!important;
border-radius:14px!important;
line-height: 2.2 !important;}
#policies-status-row td#policies-status a:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 2px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#verify-place-integrity-button{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 4px!important;
border-radius:20px!important;}
#verify-place-integrity-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 4px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#place-database-stats-toggle{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 4px!important;
border-radius:20px!important;}
#place-database-stats-toggle:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild3.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 4px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
button[data-l10n-id="reset-on-next-restart"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild85.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 5px!important;
border-radius:20px!important;}
button[data-l10n-id="reset-on-next-restart"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild85.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 5px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
button[data-l10n-id="gpu-process-kill-button"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild117.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 5px!important;
border-radius:20px!important;}
button[data-l10n-id="gpu-process-kill-button"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild117.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 5px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
button[data-l10n-id="gpu-device-reset-button"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild21.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:40px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 5px!important;
border-radius:20px!important;}
button[data-l10n-id="gpu-device-reset-button"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild21.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 6px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
button[id="enumerate-database-button"]{
-moz-appearance:none!important;
background: #F0F0F0 url("..//icons/Bild7.png") no-repeat !important;
color:black!important;
margin-left: 3px !important;
margin-top: 3px !important;
font-size:14px!important;
text-decoration:none!important;
padding-right:40px!important;
padding-left:35px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:8px 6px!important;
border-radius:20px!important;}
button[id="enumerate-database-button"]:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/Bild7.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:8px 5px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
#support-printing-clear-settings-button{
-moz-appearance:none!important;
margin-left: -4px !important;
background: #F0F0F0 url("..//icons/printer_delete.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
padding-right:20px!important;
padding-left:40px!important;
padding-bottom: 2px !important;
padding-top: 2px !important;
border-left-color: lightblue!important;
border-top-color: lightblue!important;
border-right-color: dodgerblue!important;
border-bottom-color: dodgerblue!important;
border-style: outset !important;
border-width:2px !important;
background-position:12px 6px!important;
border-radius:14px!important;}
#support-printing-clear-settings-button:hover{
-moz-appearance:none!important;
background: #B2EDFA url("..//icons/printer_delete.png") no-repeat !important;
color:black!important;
font-size:14px!important;
text-decoration:none!important;
background-position:12px 6px!important;
border-radius:14px!important;
border-left-color: #bbddff !important;
border-top-color: #bbddff !important;
border-right-color: #11508d !important;
border-bottom-color: #11508d !important;
border-style: outset !important;
border-width:2px !important;}
}
Alles anzeigen
Deinen neuen Code teste ich auch gleich mal, melde mich wieder.
Sei gegrüßt, Endor!
Ab Version 113 (damals noch Nightly) beobachte ich about:support, wo sich im oberen Teil einige Änderungen ergeben haben.
Kannst Du das bitte auch mal in Deiner originalen Version überprüfen. Für mich habe ich das im Nightly schon geändert.
das Kontextmenü erscheint wohl, aber man kann das Vides dann nicht speichern:
Danke, Andreas, eventuell finden wir das noch raus.
Dazu musst du aber erst einen config Eintrag ändern
Der heißt wie, bitte?
hier taucht es nämlich nirgendwo auf?
Hmmm
Dann stelle ich es hier mal rein:
// ==UserScript==
// @name AddOnLister.uc.js
// @compatibility Firefox 36.*, 37.*, 60.*
// @include main
// @version 1.0.20180512
// ==/UserScript==
var ADONLI = {
// ----- Start Konfiguration
// folgende Add-ons nicht auflisten Beispiel: ["InfoLister","AddOnLister.uc.js"]
BLACKLIST: [],
// einige Tests der Konfiguration durchführen (true oder false)?
CHECKCONFIG: true,
// ans eigene System anpassen - Pfad mit Verzeichnistrenner abschliessen. Unter Windows den \ bitte verdoppeln
EXPORTPATH: "C:\\Users\\XXXX\\Documents\\Firefox\\",
//Dateinamen ohne(!) Erweiterung eingeben - diese wird weiter unten im Wert "fileext" pro Ausgabeformat definiert
EXPORTFILE: "addonlister",
// Ausgabeformat bbcode, html oder custom
FORMAT: "bbcode",
// Erstellungsdatum anzeigen (true oder false)
SHOWDATE: true,
// Useragent anzeigen (true oder false)
SHOWUSERAGENT: true,
// Versuche folgende userChromeJS-Skripte *nicht* mit GitHub zu verlinken, weil nicht gewünscht oder möglich. ["*"] für gar keine Verlinkung
GITHUBBLACKLIST: ["about-config.uc.js", "about-plugins.uc.js" ,"AddonsSidebar.uc.xul", "autopopupablepatch1.uc.js", "autopopupablepatch3.uc.js", "Chronik-Lesezeichen.uc.js", "Close-other-tabs.uc.js", "ContextHistory.uc.xul", "CustomAppMenu.uc.js", "Download-button.uc.js", "Einstellungen-Customize.uc.js", "element_inspector.uc.js", "Entwickler-Werkzeug.uc.js", "expandsidebar40.uc.js", "favicon-about-plugins.uc.js", "feedbutton-urlbar.uc.js", "Fehlerkonsole.uc.js", "Link-per-Email.uc.js", "liste-leeren.uc.js", "memorymonitor.uc.js", "open-folder.uc.js", "OpenDownloadFolderButtonM.uc.js", "OpenLibraryContextMenu.uc.xul", "Preferences.uc.js", "RestartFirefox_plus.uc.js", "savefoldermodoki.uc.xul", "scrollTotop-bottom.uc.js", "searchplugin-4-aboutconfig.uc.js", "speedupErrorConsole.uc.js", "Statusbar-Date.uc.js", "Stylish-Fenster-Sidebar.uc.js", "Tabmixplus-Einstelungen-in-Tabkontext.uc.js", "Tabmixplus-Options.uc.js", "ucjs_PrivateToolMenus-APP.uc.js", "ucjs_statusbar_zoom_panel_1.3.uc.js", "WebDeveloper-Menu.uc.js"],
// In der folgenden Zeile den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
TEXTOPENEXE : 'C:\\Program Files (x86)\\Notepad++\\notepad++.exe',
// Aufzulistende Add-On-Typen festlegen - möglich sind: ["extension","theme","plugin","dictionary","service","userstyle","greasemonkey-user-script","userchromejs"]
WHICHTYPES: ["extension","theme","plugin","dictionary","userchromejs"],
// ----- Ende Konfiguration
// ----- Start Expertenkonfiguration
ICON_URL: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACGUlEQVR42mL8//8/AzJYtWy+G5ByB2IrINaECl8H4mNAvDMsKnEXsnqAAGIEGXDv1nmGM2cuKAD5OUCcAcTcDNjBVyCeAcRTTEwMHiipGTIABBALSBSquRmIY5iZmT8ICvI/FxQU4OHm5mID6/r67df79x++vH//kfPv37/FQCFxoJ5aoAEPAAKIBWoyyOYYdnb2Z9LSkqxCQgKSyNby8/OxAzEvH9+H10+fPn/28+fPGKDwSyAuAQggZi01eZCfu4E2f5OVlWYAahaFaTx95jyDnaM3Ax8fL4OhgS4DJycHNysr649Pnz7/Bnrd/OrlC2cAAogJGmDcQGd/Q9YMAv8YORmSkpIY+Hh54GIgNSC10HByBwggFmhoMwD9LIgeYrKSAgz+Ps4MOtqaKOIgtW/evAMxrQACiAkWVcAAY0JWBHQmg7d/ONgb6ABJrSZAADHhiC6G3Xv2gw1xdXFgwAcAAogJmkhAUfUPWeL+w8cMamoqDDLSUgxMbKi+Q1J7HSCAmKApjAEYz++RFV2/fouBg52dYeXqDQzHj+xGMQBJ7TGAAAIZsBNkKDCRcL179+E1TJGXpysDCysbw4dPPxjMzUzgmkFqQGqhqXInQACBkzIw/fcAOcVICUkUm39BmoEJ6TcwIUkBub3AfFECEECwlDgFlDxBKezhw8cfPn36hC8pgwxfAtXDABBAFGcmgABipDQ7AwQYAOqo3UvZE3l2AAAAAElFTkSuQmCC",
MYTPLS:{
'html': //für Darstellung als vollständiges html5-Dokument
{
'fileext':'html',
'opendatauri': false,
'intro':'<!DOCTYPE html>\n<html>\n<head>\n<meta charset="UTF-8">\n'
+'<title>Meine Firefox-Informationen</title>\n</head>\n<body>\n<h1>Meine Firefox-Informationen</h1>\n',
'tpllastupd':'<div>\nLetzte Aktualisierung: %%lastupd%%\n</div>',
'tpluseragent':'<div>\nUser Agent: %%useragent%%\n</div>',
'tpladdongrp_title':{
'extension':'<div id="extensions">\n<h2>Erweiterungen <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'theme':'<div id="themes">\n<h2>Themes <small>(%%count%%)</small></h2>',
'plugin':'<div id="plugins">\n<h2>Plugins <small>(%%count%%)</small></h2>',
'dictionary':'<div id="dictionaries">\n<h2>Wörterbücher <small>(%%count%%)</small></h2>',
'service':'<div id="services">\n<h2>Dienste <small>(%%count%%)</small></h2>',
'userstyle':'<div id="userstyles">\n<h2>Userstyles <small>(%%count%%)</small></h2>',
'greasemonkey-user-script':'<div id="gmscripts">\n<h2>Greasemonkey <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'userchromejs':'<div id="userchromejs">\n<h2>userChromeJS <small>(%%count%%)</small></h2>'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'<p>Greasemonkey-Skripte können Webseiten um diverse Funktionen erweitern.</p>',
'userchromejs':'<p>Durch die Erweiterung <a href="http://userchromejs.mozdev.org/">userChromeJS</a> eingebundene Skripte ergänzen den Firefox um diverse Funktionen.</p>'
},
'tpladdongrp_list_intro':{
'default':'<ul>'
},
'tpladdon':'<li class="%%class%%"><a href="%%homepageURL%%">%%name%%</a> %%version%%: %%description%%%%disabled%%</li>\n',
'tpladdon_without_url':'<li class="%%class%%">%%name%% %%version%%: %%description%%%%disabled%%</li>\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':'<small><span style="color:#ff0000;">[deaktiviert]</span></small>',
'tpladdongrp_list_outro':'</ul>\n',
'tpladdongrp_outro':'</div>\n\n',
'outro':'</body>\n</html>'
},
'bbcode': //für Postings in Foren, die bbcode unterstützen
{
'fileext':'txt',
'opendatauri': true,
'intro':'Meine Firefox-Informationen\n\n',
'tpllastupd':'Letzte Aktualisierung: %%lastupd%%',
'tpluseragent':'User Agent: %%useragent%%\n',
'tpladdongrp_title':{
'extension':'[b]Erweiterungen[/b] (aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)',
'theme':'[b]Themes[/b] (%%count%%)',
'plugin':'[b]Plugins[/b] (%%count%%)',
'dictionary':'[b]Wörterbücher[/b] (%%count%%)',
'service':'[b]Dienste[/b] (%%count%%)',
'userstyle':'[b]Userstyles[/b] (%%count%%)',
'greasemonkey-user-script':'[b]Greasemonkey[/b] (aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)',
'userchromejs':'[b]userChromeJS[/b] (%%count%%)'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'Greasemonkey-Skripte können Webseiten um diverse Funktionen erweitern.',
'userchromejs':'Durch die Erweiterung [url=http://userchromejs.mozdev.org/]userChromeJS[/url] eingebundene Skripte ergänzen den Firefox um diverse Funktionen.'
},
'tpladdongrp_list_intro':{
'default':'[list]'
},
'tpladdon':'[*][url=%%homepageURL%%]%%name%%[/url] %%version%%: %%description%%%%disabled%%\n',
'tpladdon_without_url':'[*]%%name%% %%version%%: %%description%%%%disabled%%\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':' [color=red][deaktiviert][/color]',
'tpladdongrp_list_outro':'[/list]\n',
'tpladdongrp_outro':'\n',
'outro':''
},
'custom': //Beispiel - für Darstellung als "include" in einem anderen (x)html-Dokument
{
'fileext':'txt',
'opendatauri': true,
'intro':'<p id="bsbuttons">\n'
+'<a class="tab active" href="http://www.ardiman.de/sonstiges/fxconfig.html?mode=windows">Windows 7</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html?mode=ubuntu">XUbuntu</a>\n'
+'</p>\n'
+'<div id="buttons">\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#extensions">Erweiterungen</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#themes">Themes</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#plugins">Plugins</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#dictionaries">Wörterbücher</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#services">Dienste</a>\n'
//+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#userstyles">Userstyles</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#gmscripts">Greasemonkey</a>\n'
+'<a class="tab" href="http://www.ardiman.de/sonstiges/fxconfig.html#userchromejs">userChromeJS</a>\n'
+'<br/></div>\n',
'tpllastupd':'<div class="lastupd">\nLetzte Aktualisierung: %%lastupd%%\n</div>',
'tpluseragent':'<div class="useragent">\nUser Agent: %%useragent%%\n</div>',
'tpladdongrp_title':{
'extension':'<div id="extensions" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_extensions.png" />Erweiterungen <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'theme':'<div id="themes" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_themes.png" />Themes <small>(%%count%%)</small></h2>',
'plugin':'<div id="plugins" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_plugins.gif" />Plugins <small>(%%count%%)</small></h2>',
'dictionary':'<div id="dictionaries" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_dictionaries.png" />Wörterbücher <small>(%%count%%)</small></h2>',
'service':'<div id="services" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_services.png" />Dienste <small>(%%count%%)</small></h2>',
'userstyle':'<div id="userstyles" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_styles.png" />Userstyles <small>(%%count%%)</small></h2>',
'greasemonkey-user-script':'<div id="gmscripts" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_monkey.png" />Greasemonkey <small>(aktiviert: %%countactive%%, deaktiviert: %%countinactive%%, gesamt: %%count%%)</small></h2>',
'userchromejs':'<div id="userchromejs" class="tab-element">\n<h2><img alt="" style="float: right; margin: 0.5ex 1ex 0 0;" width="16" height="16" src="/assets/images/fx_javascript.gif" />userChromeJS <small>(%%count%%)</small></h2>'
},
'tpladdongrp_intro':{
'default':'',
'greasemonkey-user-script':'<p>Einige Skripte stammen direkt von mir (s. auch <a href="http://www.ardiman.de/sonstiges/fxconfig/gmskripte.html">Greasemonkey-Skripte</a> bzw. <a class="extlink" href="https://openuserjs.org/users/ardiman/scripts" rel="nofollow">https://openuserjs.org/users/ardiman/scripts</a>), andere wurden nur geringfügig angepasst.</p>',
'userchromejs':'<p id="fxcuclisteintro">Durch die Erweiterung userChromeJS eingebundene Skripte ergänzen den Firefox um diverse Funktionen.</p>'
},
'tpladdongrp_list_intro':{
'default':'<ul>',
'userchromejs':'<ul id="fxcucliste">'
},
'tpladdon':'<li class="%%class%%"><a href="%%homepageURL%%" rel="nofollow" class="extlink">%%name%%</a> %%version%%: %%description%%%%disabled%%</li>\n',
'tpladdon_without_url':'<li class="%%class%%">%%name%% %%version%%: %%description%%%%disabled%%</li>\n',
'activeclass':'addonactive',
'inactiveclass':'addoninactive',
'disabledtext':' <small>[deaktiviert]</small>',
'tpladdongrp_list_outro':'</ul>\n',
'tpladdongrp_outro':'</div>\n\n',
'outro':''
}
},
// ----- Ende Expertenkonfiguration
MYSTOR: {},
FILEUTILS: Cu.import("resource://gre/modules/FileUtils.jsm").FileUtils,
init: function() {
// legt verschiebbaren Button und Menü unter Extras an
// Button
if (location != "chrome://browser/content/browser.xul") return;
try {
CustomizableUI.createWidget({
id: 'adonli-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 attributes = {
id: 'adonli-button',
class: 'toolbarbutton-1 chromeclass-toolbar-additional',
removable: 'true',
label: 'AddonLister',
tooltiptext: 'AddOnLister starten (Erstellung im Format »'+ADONLI.FORMAT+'«):\nLinksklick öffnet Ergebnis im Editor\nMittelklick öffnet Ergebnis als Tab im Browser\nRechtsklick exportiert die Liste ohne Anzeige im Editor oder Browser',
style: 'list-style-image: url(' + ADONLI.ICON_URL + ')',
onclick: 'event.preventDefault(); return ADONLI.launch(event.button, \"' + ADONLI.FORMAT +'\");'
};
for (var a in attributes)
toolbaritem.setAttribute(a, attributes[a]);
return toolbaritem;
}
});
} catch(e) { };
// Menü
function addNode(parentId, type, attributes) {
let node = document.createElement(type);
for (let a in attributes) {
node.setAttribute(a, attributes[a]);
};
document.getElementById(parentId).appendChild(node);
};
addNode("menu_ToolsPopup", "menu", {
id: "menu_ucjsAddonLister",
accesskey: "L",
label: "AddonLister",
class: "menu-iconic",
style: "list-style-image: url(" + ADONLI.ICON_URL + ")"
});
document.getElementById("menu_ToolsPopup")
.insertBefore(document.getElementById("menu_ucjsAddonLister"),
document.getElementById("menu_openAddons").nextSibling);
addNode("menu_ucjsAddonLister", "menupopup", {
id: "menu_ucjsAddonLister-popup"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-bbcode",
accesskey: "B",
label: "BBCODE",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-bbcode", "menupopup", {
id: "menu_ucjsAddonLister-popup-bbcode"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_editor-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'bbcode\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_browser-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'bbcode\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-bbcode", "menuitem", {
id: "menu_ucjsAddonLister_write-bbcode",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'bbcode\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-html",
accesskey: "H",
label: "HTML",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-html", "menupopup", {
id: "menu_ucjsAddonLister-popup-html"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_editor-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'html\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_browser-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'html\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-html", "menuitem", {
id: "menu_ucjsAddonLister_write-html",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'html\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menu", {
id: "menu_ucjsAddonLister-custom",
accesskey: "C",
label: "Custom",
class: "menu-iconic"
});
addNode("menu_ucjsAddonLister-custom", "menupopup", {
id: "menu_ucjsAddonLister-popup-custom"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_editor-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'custom\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_browser-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'custom\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup-custom", "menuitem", {
id: "menu_ucjsAddonLister_write-custom",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'custom\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_editor",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(0,\'" + ADONLI.FORMAT + "\')",
accesskey: "E",
label: "Liste erstellen und im Editor anzeigen"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_browser",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(1,\'" + ADONLI.FORMAT + "\')",
accesskey: "A",
label: "Liste erstellen und im Browser anzeigen"
});
addNode("menu_ucjsAddonLister-popup", "menuitem", {
tooltiptext: "Erstellung im Format »" + ADONLI.FORMAT + "«",
id: "menu_ucjsAddonLister_write",
class: "menAddonLister_item",
oncommand: "ADONLI.launch(2,\'" + ADONLI.FORMAT + "\')",
accesskey: "o",
label: "Liste erstellen ohne Anzeige"
});
},
launch: function(e,format) {
// ruft alle noetigen Funktionen nach Klick auf Toolbarbutton auf
var ctrlConf = "";
if (this.CHECKCONFIG) ctrlConf = this.configCheck();
if (ctrlConf === "") {
var expfile = this.EXPORTPATH + this.EXPORTFILE + "." + this.MYTPLS[format].fileext;
this.getOtherValues();
this.resetStor();
this.getAddons();
if (this.WHICHTYPES.indexOf('userchromejs') !== -1) this.getScripts();
var result = this.writeAddons(expfile,format);
this.showAddons(e,this.TEXTOPENEXE,expfile,format,result);
} else {
alert ("Lt. Konfigurationstest des AddonListers muss folgendes kontrolliert werden:\n" + ctrlConf);
}
},
configCheck: function() {
var fehler = "";
// Kontrolle des Pfades
if (this.EXPORTPATH.substr(-1) !== "\\" && this.EXPORTPATH.substr(-1) !== "/") fehler += "\n - Der Pfad in EXPORTPATH endet nicht mit einem Verzeichnistrenner.";
if (!this.fileExists(this.EXPORTPATH)) fehler += "\n - Der Pfad »" + this.EXPORTPATH + "« in EXPORTPATH existiert nicht.";
// Kontrolle des Dateinamens
if (this.EXPORTFILE.indexOf(".") !== -1) fehler += "\n - Der Dateiname in EXPORTFILE sollte keinen Punkt enthalten (ohne Erweiterung sein).";
if (this.EXPORTFILE.length === 0) fehler += "\n - Es wurde kein Dateiname in EXPORTFILE hinterlegt.";
// Kontrolle des Formates
var formate = ["bbcode", "custom", "html"];
if (formate.indexOf(this.FORMAT) === -1) fehler += "\n - Ungültiges FORMAT »" + this.FORMAT + "«.";
// Kontrolle des Editors
if (!this.fileExists(this.TEXTOPENEXE)) {
var pref = Cc["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
if (!this.fileExists(pref.getCharPref("view_source.editor.path"))) {
fehler += "\n - Der in TEXTOPENEXE und about:config [view_source.editor.path] hinterlegte Editor kann nicht gefunden werden.";
}
}
// Kontrolle der gewünschten Addon-Typen, folgende sind momentan gültig:
var addontypes = ["extension","theme","plugin","dictionary","service","userstyle","greasemonkey-user-script","userchromejs"];
var w;
for (w = 0; w < this.WHICHTYPES.length; w++) {
if (addontypes.indexOf(this.WHICHTYPES[w]) === -1) {
fehler += "\n - In WHICHTYPES wurden ein oder mehrere unbekannte Add-on-Typen (z.B. »" + this.WHICHTYPES[w] + "«) gewählt.";
break;
}
}
return fehler;
},
fileExists: function(mypath) {
// kontrolliert, ob Pfad oder Datei gültig/vorhanden ist
var file = new this.FILEUTILS.File(mypath);
return file.exists();
},
resetStor: function() {
// setzt das JSON-Object (bzw. die "Listen" darin) zurueck
var h;
for (h = 0; h < this.WHICHTYPES.length; h++) {
this.MYSTOR[this.WHICHTYPES[h]] = [];
}
},
getOtherValues: function() {
// speichert momentan Auswertungsdatum und useragent im JSON-Object
var options;
options = {weekday: "long", year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", second: "numeric", hour12: false};
if (this.SHOWDATE) this.MYSTOR["lastupd"] = new Date().toLocaleDateString("de-DE", options);
if (this.SHOWUSERAGENT) this.MYSTOR["useragent"] = window.navigator.userAgent;
},
getAddons: function() {
// speichert die gewaehlten Addons (s. WHICHTYPES) im JSON-Object
var i, x, j, iAo, Addons, added, storedItems;
AddonManager.getAddonsByTypes(this.WHICHTYPES).then(function(addonlist) {
Addons = addonlist;
});
var thread = Cc['@mozilla.org/thread-manager;1'].getService().mainThread;
while (Addons === void(0)) {
thread.processNextEvent(true);
}
// Schleife ueber Addons
for (i = 0; i < Addons.length; i++) {
iAo = Addons[i];
added = false;
storedItems = this.MYSTOR[iAo.type].length;
// nächste Aktionen nur, wenn Addon *nicht* in BLACKLIST steht
if (this.BLACKLIST.indexOf(iAo.name) === -1) {
// Ablage gleich sortiert vornehmen
for (j = 0; j < storedItems; j++) {
if (iAo.name.toLowerCase() < this.MYSTOR[iAo.type][j].name.toLowerCase()) {
this.MYSTOR[iAo.type].splice(j,0,{ 'name': iAo.name, 'version': iAo.version, 'active': iAo.isActive, 'homepage': iAo.homepageURL});
added = true;
break;
}
}
if (!added) this.MYSTOR[iAo.type].push({ 'name': iAo.name, 'version': iAo.version, 'active': iAo.isActive, 'homepage': iAo.homepageURL});
}
}
},
getScripts: function() {
// speichert ggf. im Chrome-Ordner vorhandene uc.js und uc.xul-Dateien im JSON-Object
var hp, j, storedItems, added;
// Suchmuster, also die Dateierweiterungen uc.js und uc.xul
let extjs = /\.uc\.js$/i;
let extxul = /\.uc\.xul$/i;
let aFolder = Cc["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("UChrm", Components.interfaces.nsIFile);
// files mit Eintraegen im Chrome-Ordner befuellen
let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
// Ordner bzw. Dateien durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
while (files.hasMoreElements()) {
let file = files.getNext().QueryInterface(Ci.nsIFile);
// keine gewuenschte Datei, deshalb continue
if ((!extjs.test(file.leafName) && !extxul.test(file.leafName)) || this.BLACKLIST.indexOf(file.leafName) !== -1) continue;
// uc.js bzw. uc.xul gefunden, die nicht in der Blacklist stehen -> Ablage sortiert (unter Linux erforderlich) im JSON vornehmen
hp = this.githubLink(file.leafName);
added = false;
storedItems = this.MYSTOR.userchromejs.length;
for (j = 0; j < storedItems; j++) {
if (file.leafName.toLowerCase() < this.MYSTOR.userchromejs[j].name.toLowerCase()) {
this.MYSTOR.userchromejs.splice(j,0,{'name': file.leafName, 'version': undefined, 'active': true, 'description': undefined, 'homepage': hp});
added = true;
break;
}
}
if (!added) this.MYSTOR.userchromejs.push({'name': file.leafName, 'version': undefined, 'active': true, 'description': undefined, 'homepage': hp});
}
},
githubLink: function(sName) {
// übergibt für gegebenen Skriptnamen den Link zu github
// früher Ausstieg, da Skript nicht verlinkt werden soll
if (this.GITHUBBLACKLIST.indexOf(sName) !== -1 || this.GITHUBBLACKLIST.indexOf("*") !== -1) return null;
sName = sName.toLowerCase();
/* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
/Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
/ "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
*/
var regs = [/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
for (var i = 0; i < regs.length; i++) {
sName = sName.replace(regs[i],"");
}
return "https://github.com/ardiman/userChrome.js/tree/master/" + sName;
},
writeAddons: function(file,format){
var a, t, c, n, d, atype, aout, thisaddon;
var output = "";
var addontpl = "";
var addontplwithouturl = "";
Cu.import("resource://gre/modules/osfile.jsm");
addontpl = this.MYTPLS[format].tpladdon;
addontplwithouturl = this.MYTPLS[format].tpladdon_without_url;
output += this.MYTPLS[format].intro;
if (this.SHOWDATE) output += this.MYTPLS[format].tpllastupd.replace(/%%lastupd%%/g,this.MYSTOR.lastupd)+"\n";
if (this.SHOWUSERAGENT) output += this.MYTPLS[format].tpluseragent.replace(/%%useragent%%/g,this.MYSTOR.useragent)+"\n";
for (t = 0; t < this.WHICHTYPES.length; t++) {
atype = this.WHICHTYPES[t];
c = this.MYSTOR[atype].length;
n = 0;
d = 0;
output += this.MYTPLS[format].tpladdongrp_title[atype].replace(/%%count%%/g,c)+"\n";
if (this.MYTPLS[format].tpladdongrp_intro[atype] == undefined) {
output += this.MYTPLS[format].tpladdongrp_intro.default + (this.MYTPLS[format].tpladdongrp_intro.default.length > 0 ? "\n" : "");
} else {
output += this.MYTPLS[format].tpladdongrp_intro[atype] + (this.MYTPLS[format].tpladdongrp_intro[atype].length > 0 ? "\n" : "");
}
if (this.MYTPLS[format].tpladdongrp_list_intro[atype] == undefined) {
output += this.MYTPLS[format].tpladdongrp_list_intro.default+"\n";
} else {
output += this.MYTPLS[format].tpladdongrp_list_intro[atype]+"\n";
}
for (a = 0; a < c; a++) {
thisaddon = this.MYSTOR[atype][a];
// console.log(atype + " " + thisaddon.name + " " + thisaddon.active);
if (thisaddon.homepage == undefined) {
aout = addontplwithouturl;
} else {
aout = addontpl;
aout = aout.replace(/%%homepageURL%%/g,thisaddon.homepage.replace(/&(?!amp;)/g,'&'));
}
aout = aout.replace(/%%name%%/g,thisaddon.name);
if (thisaddon.version == undefined) {
if (thisaddon.description != undefined) {
aout = aout.replace(/ %%version%%: /g,": ");
} else {
aout = aout.replace(/ %%version%%: /g,"");
}
}
aout = aout.replace(/%%version%%/g,thisaddon.version);
if (thisaddon.description != undefined) {
aout = aout.replace(/%%description%%/g,thisaddon.description);
} else {
aout = aout.replace(/%%description%%/g,"");
}
if (thisaddon.active !== true) {
aout = aout.replace(/%%class%%/g,this.MYTPLS[format].inactiveclass);
aout = aout.replace(/%%disabled%%/g,this.MYTPLS[format].disabledtext);
d++;
} else {
aout = aout.replace(/%%class%%/g,this.MYTPLS[format].activeclass);
aout = aout.replace(/%%disabled%%/g,"");
n++;
}
output += aout;
}
output = output.replace(/%%countactive%%/g,n).replace(/%%countinactive%%/g,d);
output += this.MYTPLS[format].tpladdongrp_list_outro;
output += this.MYTPLS[format].tpladdongrp_outro;
}
output += this.MYTPLS[format].outro+"\n";
let encoder = new TextEncoder();
let myarray = encoder.encode(output);
let promise = OS.File.writeAtomic(file, myarray);
return output;
},
showAddons: function(e,RanPath,OpenPath,format,myoutput) {
// zeigt das EXPORTFILE im Editor oder im Browser (Mittelklick) an
switch (e) {
case 0:
var file = new this.FILEUTILS.File(RanPath);
var proc = Cc["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
var args = [OpenPath];
// falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
if (!this.fileExists(RanPath)) {
console.log("AddonLister meldet: Editor nicht gefunden, ausweichen auf about:config.");
var pref = Cc["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
RanPath = pref.getCharPref("view_source.editor.path");
file = new this.FILEUTILS.File(RanPath);
}
proc.init(file);
proc.run(false, args, args.length);
break;
case 1:
if (this.MYTPLS[format].opendatauri) {
var datastring = myoutput.replace(/\n/g,"%0A").replace(/#/g,"%23");
getBrowser().selectedTab = getBrowser().addTab('data:text/plain;charset=utf-8,' + datastring);
XULBrowserWindow.statusTextField.label = "Export nach »"+ OpenPath + "« ist erfolgt.";
} else {
// alert sorgt ein wenig dafür, dem OS Zeit fürs Speichern der Datei zu geben ...
alert("Export nach »"+ OpenPath + "« ("+ format + "-format) ist erfolgt.");
getBrowser().selectedTab = getBrowser().addTab(OpenPath);
}
break;
default:
XULBrowserWindow.statusTextField.label = "Export nach »"+ OpenPath + "« ist erfolgt.";
break;
}
}
};
ADONLI.init();
Alles anzeigen
Die gibt es schon, aber das letzte Update war vor fünf Jahren.
Da ich eh eine andere Basis präferiere...
Immer das, was man für richtig hält und verstehen kann.
Aber weil dort erwähnt wurde, warum man keinen Laufbalken bei 7zip sieht - die Kommandozeilenversion zeigt den (vermutlich) auch nicht, die läuft im Hintergrund ab. Einen Dialog bekommt man nur mit der "7zG.exe" & "7z.dll" (müssen beide sein), möchte man dann noch deutsch, muss zur EXE diese Struktur angelegt sein \Lang\de.txt. Und dann gibt es da noch die 64-Bit als auch 32-Bit Ausgabe - 64-Bit sind unter x64 auch performanter als 32-Bit unter x64. 7zg ist auch erheblich schneller als 7z. (7za ist 7zextra, ist aber unnötig)
Deshalb meine Einschätzung, viel zu kompliziert.
Das Script aus #71 wäre auch ein guter Kandidat für Subroutinen.
Das wäre für Dich dann ein Betätigungsfeld, für mich war das schon ein Erfolg, dass ich das so hin bekommen habe.
- Die Reihenfolge der Erweiterungen im Erweiterungsmenü kann jetzt beliebig geändert werden.
Danke, da gibt es Arbeit.
Das Einfachste wäre in about:config die Einstellung browser.tabs.tabMinWidth zu verändern.
Danke für den Hinweis.