Habe es noch einmal etwas überarbeitet, d.h. Kommentare eingefügt
und für mich das CSS inkl. Symbole angepasst.
JavaScript
// ==UserScript==
// @name Appmenu.uc.js
// @namespace Appmenu@gmail.com
// @description Basiert auf dem Script externalFuncButtonM.uc.js, Wiederherstellung der Orangenen FF-Menü Schaltfläche
// @include main
// @author defpt
// @charset UTF-8
// @version 2025.10.05
// ==/UserScript==
// Definiere den Profilpfad für die Symbole
let ProfilePath = PathUtils.toFileURI(
PathUtils.join(PathUtils.profileDir, 'chrome', 'icons')
);
// Standard-Symbol-Dateiname
let ButtonIcon01 = 'restart.svg'; // Neustart
let ButtonIcon02 = 'quit.svg'; // Beenden
let Icon01 = 'profile.svg'; // Profil-Verzeichnis
let Icon02 = 'chrome.svg'; // Chrome-Ordner
let Icon03 = 'css4.svg'; // CSS-Ordner
let Icon04 = 'js.svg'; // JS-Ordner
let Icon05 = 'folder-plus.svg'; // Icons-Ordner
let Icon06 = 'addons.svg'; // Addon-Verzeichnis
let Icon07 = 'folder.svg'; // Programm-Verzeichnis
let Icon08 = 'folder-1.svg'; // Startup-Cache
let Icon11 = 'Themes.svg'; // Anpassen
let Icon12 = 'debugging-workers.svg'; // Neustart im abgesicherten Modus
let Icon13 = 'command-console.svg'; // Browser-Konsole
let Icon14 = 'window-dev-tools.svg'; // Browser-Werkzeuge
let Icon15 = 'developer.svg'; // Web-Entwickler
let Icon16 = 'sync.svg'; // Firefox synchronisieren
let Icon17 = 'passwords.svg'; // Zugangsdaten und Passwörter
let Icon18 = 'performance.svg'; // Task Manager
let Icon19 = 'plug-disconnected.svg'; // Offline arbeiten
let Icon21 = 'firefox.svg'; // about:about
let Icon22 = 'info.svg'; // about:cache
let Icon23 = 'settings.svg'; // about:config
let Icon24 = 'warning.svg'; // about:crashes
let Icon25 = 'downloads.svg'; // about:downloads
let Icon26 = 'home.svg'; // about:home
let Icon27 = 'passwords.svg'; // about:logins
let Icon28 = 'debugging-workers.svg'; // about:support
let Icon29 = 'settings.svg'; // about:preferences
let Icon30 = 'profile.svg'; // about:profiles
var Appmenu = {
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
// Editor mit angegebenem Pfad verwenden
// editor: 'C:\\Program Files\\Notepad++\\notepad++.exe',
editor: "C:\\Program Files\\Microsoft VS Code\\Code.exe",
// oder
// in 'view_source.editor.path' eingetragenen Editor verwenden
editor: Services.prefs.getCharPref('view_source.editor.path'),
// Dateimanager mit angegebenem Pfad verwenden oder leer ('') wenn System-Dateimanager verwenden
//fileManager: 'C:\\Program files\\FreeCommander XE\\FreeCommander.exe',
fileManager: "",
// Parameter für Dateimanager oder leer ('')
//FMParameter: '/T',
FMParameter: "",
// Submenüs ohne Inhalt im Hauptmenü automatisch ausblenden
autohideEmptySubDirs: true,
// Submenüs im Hauptmenü nach unten verschieben
moveSubDirstoBottom: false,
// Ort und Aussehen des Menü-Buttons einstellen
// isUrlbar: 1, // 0: TabsToolbar; 1: navbar,
isUrlbar: 2, // 0: TabsToolbar; 1: navbar; 2: toolbar-menubar
isButton: 0, // 0: Hamburger,klein; 1: Firefox,groß,
// Hotkey zum Öffnen des Appmenüs oder leer ('')
hotkey: "f",
hotkeyModifier: "alt",
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
// Submenüs im Hauptmenü nach unten verschieben
subdirPopupHash: [],
subdirMenuHash: [],
toolbar: {
// Submenüs des Hauptmenüs definieren; Separator einfügen mit {name: 'separator'}
subdirs: [
{
name: 'Firefox Verzeichnisse',
image: `${ProfilePath}/folder_currentColor.svg`, // Der Pfad wird direkt verwendet, ohne `url()`
},
{
name: 'Firefox Funktionen',
image: `${ProfilePath}/settings_currentColor.svg`, // Der Pfad wird direkt verwendet, ohne 'url()'
},
{
name: 'separator',
},
{
name: '1',
image: `${ProfilePath}/1.svg`, // Der Pfad wird direkt verwendet, ohne 'url()'
},
{
name: '2',
image: `${ProfilePath}/2.svg`, // Der Pfad wird direkt verwendet, ohne 'url()'
},
{
name: '"about:"-Seiten',
image: `${ProfilePath}/firefox_currentColor.svg`, // Der Pfad wird direkt verwendet, ohne 'url()'
},
],
apps: [
// Untermenü Firefox Verzeichnisse
{
name: 'Profil-Verzeichnis',
id: 'AMProfil',
root: 'ProfD',
path: '\\',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon01}`,
},
{
name: 'Chrome-Ordner',
id: 'AMchrome',
root: 'ProfD',
path: '\\chrome',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon02}`,
},
{
name: 'CSS-Ordner',
id: 'AMCSS',
root: 'ProfD',
path: '\\chrome\\css',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon03}`,
},
{
name: 'JS-Ordner',
id: 'AMJS',
root: 'ProfD',
path: '\\chrome\\scripts',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon04}`,
},
{
name: 'Icons-Ordner',
id: 'AMICO',
root: 'ProfD',
path: '\\chrome\\icons',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon05}`,
},
{
name: 'Addon-Verzeichnis',
id: 'AMAddons',
root: 'ProfD',
path: '\\extensions',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon06}`,
},
{
name: 'Programm-Verzeichnis',
id: 'AMProgramm',
root: 'CurProcD',
path: '\\',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon07}`,
},
{
name: 'Startup-Cache',
id: 'AMCache',
root: 'ProfLD',
path: '\\startupCache',
subdir: 'Firefox Verzeichnisse',
image: `${ProfilePath}/${Icon08}`,
},
],
configs: [
// Untermenü Firefox Funktionen
{
name: 'Anpassen',
id: 'AMAnpassen',
command: 'gCustomizeMode.enter()',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon11}`,
},
{
name: 'Neustart im abgesicherten Modus',
id: 'AMModus',
command: 'safeModeRestart();',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon12}`,
},
{
name: 'Browser-Konsole',
id: 'AMKonsole',
command: 'goKonsole',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon13}`,
},
{
name: 'Browser-Werkzeuge',
id: 'AMWerkzeuge',
command: 'goWerkzeuge',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon14}`,
},
{
name: 'Web-Entwickler',
id: 'AMEntwickler',
command: 'goEntwickler',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon15}`,
},
{
name: 'Firefox synchronisieren',
id: 'AMsynchron',
command: 'gSync',
subdir: 'Firefox Funktione',
image: `${ProfilePath}/${Icon16}`,
},
{
name: 'Zugangsdaten und Passwörter',
id: 'AMdaten',
command: 'LoginHelper.openPasswordManager(window, { entryPoint: "mainmenu" })',
tooltiptext: 'about:logins',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon17}`,
},
{
name: 'Task Manager',
id: 'AMManager',
command: 'switchToTabHavingURI("about:processes", true)',
tooltiptext: 'about:processes',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon18}`,
},
{
name: 'Offline arbeiten',
id: 'AMOffline',
command: 'BrowserOffline.toggleOfflineStatus();',
subdir: 'Firefox Funktionen',
image: `${ProfilePath}/${Icon19}`,
},
/*
{
name: 'separator',
},
*/
{
name: 'Neustart',
id: 'AMreboot',
tooltiptext: 'userChrome.js-Cache wird geleert',
command: 'goReeboot',
image: `${ProfilePath}/${ButtonIcon01}`,
},
{
name: 'Beenden',
id: 'AMquit',
command: 'goQuitApplication(event);',
image: `${ProfilePath}/${ButtonIcon02}`,
},
// about:-Seiten
{
name: 'about:about',
id: 'AMaboutAbout',
command: 'openTrustedLinkIn("about:about", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon21}`,
},
{
name: 'about:cache',
id: 'AMaboutCache',
command: 'openTrustedLinkIn("about:cache", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon22}`,
},
{
name: 'about:config',
id: 'AMaboutConfig',
command: 'openTrustedLinkIn("about:config", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon23}`,
},
{
name: 'about:crashes',
id: 'AMaboutCrashes',
command: 'openTrustedLinkIn("about:crashes", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon24}`,
},
{
name: 'about:downloads',
id: 'AMaboutDownloads',
command: 'openTrustedLinkIn("about:downloads", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon25}`,
},
{
name: 'about:home',
id: 'AMaboutHome',
command: 'openTrustedLinkIn("about:home", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon26}`,
},
{
name: 'about:logins',
id: 'AMaboutLogins',
command: 'LoginHelper.openPasswordManager(window, { entryPoint: "mainmenu" })',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon27}`,
},
{
name: 'about:support',
id: 'AMaboutSupport',
command: 'openTrustedLinkIn("about:support", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon28}`,
},
{
name: 'about:preferences',
id: 'AMaboutPreferences',
command: 'openTrustedLinkIn("about:preferences", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon29}`,
},
{
name: 'about:profiles',
id: 'AMaboutProfiles',
command: 'openTrustedLinkIn("about:profiles", "tab")',
subdir: '"about:"-Seiten',
image: `${ProfilePath}/${Icon30}`,
},
]
},
_externalAppPopup: null,
_isready: false,
init: function() {
this.handleRelativePath(this.toolbar.apps);
const XULNS = 'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul';
var ExternalAppBtn = document.createElementNS(XULNS, 'toolbarbutton');
ExternalAppBtn.id = 'AppMenuButton';
ExternalAppBtn.setAttribute('label', 'AppButton');
//ExternalAppBtn.setAttribute("onclick", "event.preventDefault();event.stopPropagation();");
ExternalAppBtn.addEventListener('click', event => {
event.preventDefault();
event.stopPropagation();
});
ExternalAppBtn.setAttribute('tooltiptext', 'Firefox Menü');
ExternalAppBtn.setAttribute('type', 'menu');
ExternalAppBtn.setAttribute('removable', 'true');
// Definiere den Profilpfad
let ProfilePath = PathUtils.toFileURI(
PathUtils.join(PathUtils.profileDir, 'chrome', 'image')
);
// Symbole
let DefaultIcon = 'Button_groß.png';
let AlternateIcon = 'Button_klein-5.png';
if (Appmenu.isButton) {
ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${DefaultIcon}')`; // Großes Symbol
ExternalAppBtn.style.width = '94px'; // Feste Breite für großes Symbol
ExternalAppBtn.style.height = '24px'; // Feste Höhe für großes Symbol
} else {
ExternalAppBtn.style.listStyleImage = `url('${ProfilePath}/${AlternateIcon}')`; // Kleines Symbol
//ExternalAppBtn.style.width = "16px"; // Feste Breite für kleines Symbol
ExternalAppBtn.style.width = '48px';
ExternalAppBtn.style.height = '21px'; // Feste Höhe für kleines Symbol
}
if (Appmenu.isUrlbar === 1) {
var navBar = document.getElementById('nav-bar-customization-target');
navBar.insertBefore(ExternalAppBtn, navBar.firstChild);
} else if (Appmenu.isUrlbar === 2) {
var menubar = document.getElementById('toolbar-menubar');
menubar.insertBefore(ExternalAppBtn, menubar.firstChild);
} else {
var TabsToolbar = document.getElementById('TabsToolbar');
TabsToolbar.insertBefore(ExternalAppBtn, TabsToolbar.firstChild);
}
var ExternalAppPopup = document.createElementNS(XULNS, 'menupopup');
//ExternalAppPopup.setAttribute('onpopupshowing', 'event.stopPropagation(); Appmenu.onpopupshowing();');
ExternalAppPopup.addEventListener('click', event => {
event.stopPropagation();
});
ExternalAppPopup.setAttribute('id', 'AMpopup');
this._externalAppPopup = ExternalAppPopup;
ExternalAppBtn.appendChild(ExternalAppPopup);
Appmenu.onpopupshowing();
// Menü mit Tastaturkürzel öffnen
if (Appmenu.hotkey) {
let key = document.createXULElement('key');
key.id = 'key_AppMenuPopup';
key.setAttribute('key', Appmenu.hotkey);
if (Appmenu.hotkeyModifier)
key.setAttribute('modifiers', Appmenu.hotkeyModifier);
// key.setAttribute('oncommand', 'document.getElementById("AMpopup").openPopup();');
key.addEventListener('command', function () {
document.getElementById('AMpopup').openPopup();
});
document.getElementById('mainKeyset').appendChild(key);
}
},
onpopupshowing: function() {
if (this._isready) return;
if (this._externalAppPopup === null) return;
var ExternalAppPopup = this._externalAppPopup;
for (let subdir of this.toolbar.subdirs) {
if (subdir.name == 'separator') {
ExternalAppPopup.appendChild(document.createXULElement('menuseparator'));
} else {
var subdirItem = ExternalAppPopup.appendChild(document.createXULElement('menu'));
var subdirItemPopup = subdirItem.appendChild(document.createXULElement('menupopup'));
subdirItem.setAttribute('class', 'menu-iconic');
subdirItem.setAttribute('label', subdir.name);
subdirItem.setAttribute('image', subdir.image);
Appmenu.subdirPopupHash[subdir.name] = subdirItemPopup;
Appmenu.subdirMenuHash[subdir.name] = subdirItem;
}
}
for (let app of this.toolbar.apps) {
var appItem;
if (app.name == 'separator') {
appItem = document.createXULElement('menuseparator');
} else {
appItem = document.createXULElement('menuitem');
appItem.setAttribute('class', 'menuitem-iconic');
appItem.setAttribute('label', app.name);
appItem.setAttribute('image', app.image);
//appItem.setAttribute('oncommand', "Appmenu.exec(this.path, this.args);");
appItem.addEventListener('command', function () {
Appmenu.exec(this.path, this.args);
});
appItem.setAttribute('tooltiptext', app.name);
appItem.path = app.path;
appItem.args = app.args;
}
if (app.subdir && Appmenu.subdirPopupHash[app.subdir])
Appmenu.subdirPopupHash[app.subdir].appendChild(appItem);
else ExternalAppPopup.appendChild(appItem);
}
for (let config of this.toolbar.configs) {
var configItem;
if (config.name == 'separator') {
configItem = document.createXULElement('menuseparator');
} else {
configItem = ExternalAppPopup.appendChild(document.createXULElement('menuitem'));
configItem.setAttribute('class', 'menuitem-iconic');
configItem.setAttribute('label', config.name);
configItem.setAttribute('image', config.image);
//configItem.setAttribute('oncommand', config.command);
// configItem.addEventListener('command', () => {
// eval(config.command);
// });
configItem.addEventListener('command', () => {
Appmenu.executeCommand(config.command);
});
if (config.tooltiptext) {
configItem.setAttribute('tooltiptext', config.tooltiptext);
} else {
configItem.setAttribute('tooltiptext', config.name);
}
configItem.setAttribute('id', config.id);
}
if (config.subdir && Appmenu.subdirPopupHash[config.subdir]) {
Appmenu.subdirPopupHash[config.subdir].appendChild(configItem);
} else {
ExternalAppPopup.appendChild(configItem);
}
}
if (this.autohideEmptySubDirs) {
for (let i = 0; i < Appmenu.subdirPopupHash.length; i++) {
if (Appmenu.subdirPopupHash[i].hasChildNodes()) {
continue;
} else {
Appmenu.subdirMenuHash[i].setAttribute('hidden', 'true');
}
}
}
if (this.moveSubDirstoBottom) {
let i = ExternalAppPopup.childNodes.length;
while (ExternalAppPopup.firstChild.getAttribute('class') != 'menuitem-iconic' && i-- != 0) {
ExternalAppPopup.appendChild(ExternalAppPopup.firstChild);
}
}
this._isready = true;
},
executeCommand: function(command) {
const commandMap = {
'gCustomizeMode.enter()': () => gCustomizeMode.enter(),
'safeModeRestart();': () => safeModeRestart(),
'goKonsole': () => {
var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});
var { BrowserConsoleManager } = require('resource://devtools/client/webconsole/browser-console-manager');
BrowserConsoleManager.openBrowserConsoleOrFocus();
},
'goWerkzeuge': () => {
var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});
var { BrowserToolboxLauncher } = require('resource://devtools/client/framework/browser-toolbox/Launcher.sys.mjs');
BrowserToolboxLauncher.init();
},
'goEntwickler': () => {
var { require } = ChromeUtils.importESModule('resource://devtools/shared/loader/Loader.sys.mjs', {});
var { gDevToolsBrowser } = require('resource://devtools/client/framework/devtools-browser');
gDevToolsBrowser.toggleToolboxCommand(window.gBrowser, Cu.now());
},
'gSync': () => gSync.openPrefs('menubar'),
'LoginHelper.openPasswordManager(window, { entryPoint: "mainmenu" })': () => LoginHelper.openPasswordManager(window, { entryPoint: 'mainmenu' }),
'switchToTabHavingURI("about:processes", true)': () => switchToTabHavingURI('about:processes', true),
'BrowserOffline.toggleOfflineStatus();': () => BrowserOffline.toggleOfflineStatus(),
'goReeboot': () => {
Services.appinfo.invalidateCachesOnRestart();
Services.startup.quit(Ci.nsIAppStartup.eRestart | Ci.nsIAppStartup.eAttemptQuit);
},
'goQuitApplication(event);': () => goQuitApplication(event),
'openTrustedLinkIn("about:about", "tab")': () => openTrustedLinkIn("about:about", "tab"),
'openTrustedLinkIn("about:cache", "tab")': () => openTrustedLinkIn("about:cache", "tab"),
'openTrustedLinkIn("about:config", "tab")': () => openTrustedLinkIn("about:config", "tab"),
'openTrustedLinkIn("about:crashes", "tab")': () => openTrustedLinkIn("about:crashes", "tab"),
'openTrustedLinkIn("about:downloads", "tab")': () => openTrustedLinkIn("about:downloads", "tab"),
'openTrustedLinkIn("about:home", "tab")': () => openTrustedLinkIn("about:home", "tab"),
'openTrustedLinkIn("about:support", "tab")': () => openTrustedLinkIn("about:support", "tab"),
'openTrustedLinkIn("about:preferences", "tab")': () => openTrustedLinkIn("about:preferences", "tab"),
'openTrustedLinkIn("about:profiles", "tab")': () => openTrustedLinkIn("about:profiles", "tab"),
};
if (commandMap[command]) {
commandMap[command]();
} else {
console.warn('Unbekannter Befehl: ', command);
}
},
handleRelativePath: function(apps) {
for (let app of apps) {
if (app.path) {
app.path = app.path.replace(/\//g, '\\');
var ffdir = Cc['@mozilla.org/file/directory_service;1'].getService(Ci.nsIProperties).get(app.root, Ci.nsIFile).path;
if (/^(\\)/.test(app.path)) {
app.path = ffdir + app.path;
}
}
}
},
exec: function(path, args) {
args = args || [];
var args_t = args.slice(0);
for (let arg of args_t) {
arg = arg.replace(/%u/g, gBrowser.currentURI.spec);
}
var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
file.initWithPath(path);
if (!file.exists()) {
//Cu.reportError('Datei nicht gefunden: ' + path);
alert('Datei nicht gefunden: ' + path);
return;
}
if (file.isExecutable() && !path.endsWith('.js')) {
var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
process.init(file);
process.run(false, args_t, args_t.length);
} else if (file.isFile()) {
if (this.editor) {
let UI = Cc['@mozilla.org/intl/scriptableunicodeconverter'].createInstance(Ci.nsIScriptableUnicodeConverter);
UI.charset = window.navigator.platform.toLowerCase().includes('win') ? 'Shift_JIS' : 'UTF-8';
let path = UI.ConvertFromUnicode(file.path);
let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
app.initWithPath(this.editor);
let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
process.init(app);
process.run(false, [path], 1);
} else {
file.launch();
}
} else if (file.isDirectory()) {
if (this.fileManager) {
let args=[this.FMParameter,path];
let app = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
app.initWithPath(this.fileManager);
let process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
process.init(app);
process.run(false, args, args.length);
} else {
file.launch();
}
}
},
};
(function () {
// StyleSheetService zum Hinzufügen der CSS-Regeln
let sss = Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService);
let uri = Services.io.newURI(
'data:text/css;charset=utf-8,' +
encodeURIComponent(`
menuitem[label='Profil-Verzeichnis'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='Chrome-Ordner'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='CSS-Ordner'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='JS-Ordner'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='Icons-Ordner'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='Addon-Verzeichnis'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='Programm-Verzeichnis'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
menuitem[label='Startup-Cache'] { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMAnpassen { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMModus { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMKonsole { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMWerkzeuge { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMEntwickler { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMsynchron { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMdaten { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMManager { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMOffline { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
/* Neustart-Button */
#AMreboot { -moz-context-properties: fill, fill-opacity !important;
fill: #fbc96e !important;
padding-left: 10px !important;
}
#AMreboot > img:nth-child(1) {
width: 20px !important;
height: 20px !important;
}
/* Beenden-Button */
#AMquit { -moz-context-properties: fill, fill-opacity !important;
fill: red !important;
}
#AMaboutAbout { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutCache { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutConfig { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutCrashes { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutDownloads { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutHome { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutLogins { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutSupport { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutPreferences { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
#AMaboutProfiles { -moz-context-properties: fill, fill-opacity; fill: currentColor; }
`),
null,
null
);
// CSS-Regeln registrieren
sss.loadAndRegisterSheet(uri, sss.AUTHOR_SHEET);
})();
if (window.gBrowser) Appmenu.init();
Alles anzeigen
2002Andreas Es ging mir eher um die "about"-Seiten, bzw, deren Aufruf.