Hallo Andreas,
vielen Dank, hat Icon funktioniert.
Gibt es außer Betriebssystem keine Möglichkeit dass man Farbe ändern oder gibt es eine Trick?
Mfg
Hallo Andreas,
vielen Dank, hat Icon funktioniert.
Gibt es außer Betriebssystem keine Möglichkeit dass man Farbe ändern oder gibt es eine Trick?
Mfg
keine Möglichkeit dass man Farbe ändern oder gibt es eine Trick?
Mir zumindest ist keiner bekannt.
Evtl. weiß ein anderer User ja mehr.
vielen Dank, hat Icon funktioniert.
Gern geschehen
sam2008 :
Anscheinend willst du ja die Windows-Titelleiste überhaupt nicht nutzen (was ich gut verstehen kann). Du kannst ja den Profil-Namen auch z.B. in die Menüleiste schreiben. Den gesamten Code von Alice habe ich durch diesen Aufruf über den nsIToolkitProfileService ersetzt (verstehe nicht, warum Alice den Namen über die 'profiles.ini' ausliest... ) :
let currentProfileName = Cc["@mozilla.org/toolkit/profile-service;1"].getService(Ci.nsIToolkitProfileService).currentProfile.name;
Habe diese Zeile dann in das bekannte Skript für die Anzeige der Version und der Uhr gepackt (Zeile 49/50). Nachteil: ein zur Laufzeit umbenanntes Profil wird dann erst nach Neustart erkannt, wenn dir das reicht, dann kannst du das ja mal testen:
// VersionClockRightPos.uc.js: Anzeige der FireFox-Version und Datum/Uhrzeit in der 'Titlebar'
(function() {
if (!window.gBrowser){
return;
}
function doDatClock() {
date = new Date();
var timestr = date.toLocaleDateString( locale, { weekday: "long", year: "numeric", month: "long", day: "numeric"} ) +
' - ' + date.toLocaleTimeString( locale, { hour: '2-digit', minute: '2-digit', second: '2-digit' } ) +
' Uhr';
if( count == 1 ) {
var counter = new Date( 1000 * sec ).toISOString().substr( 11 , 8 ); // .replace(/^[0:]+/, '') // if you want to replace zeroes and colons
timestr = timestr + ' (' + counter + ')';
sec++;
}
ClockLabel.setAttribute( 'value', timestr );
}
var count = 0; // if you don't want a counter set this to zero
var agent = 1; // if you just want the clock set this to zero
var language = 'de-DE'; // locale, e.g. 'de-DE' , 'en-US' , 'fr-FR'
var personalText = ','; // your personal text here
var sec = 0;
var locale = language || window.navigator.languages[0];
var position = document.getElementsByClassName('titlebar-button titlebar-min')[0];
var ClockLabel = document.createXULElement('label');
ClockLabel.setAttribute('id', 'titlebar-clock-display');
ClockLabel.setAttribute('class', 'titlebarpanel-text');
position.parentNode.insertBefore(ClockLabel, position );
if( agent == 1 ) {
var AgentLabel = document.createXULElement('label');
AgentLabel.setAttribute('id', 'titlebar-agent-display');
AgentLabel.setAttribute('class', 'titlebarpanel-text');
var FFstr = AppConstants.MOZ_MACBUNDLE_NAME.split('.');
var mbName = FFstr[0];
let currentProfileName = Cc["@mozilla.org/toolkit/profile-service;1"].getService(Ci.nsIToolkitProfileService).currentProfile.name;
var text = '' + mbName + ' ' + AppConstants.MOZ_APP_VERSION_DISPLAY + " [" + currentProfileName + "] " + personalText;
AgentLabel.setAttribute( 'value', text );
position.parentNode.insertBefore(AgentLabel, position.previousSibling);
}
if( count == 1 ) {
ClockLabel.addEventListener('dblclick', function() { sec = 0; });
}
window.setInterval( doDatClock , 1000 );
})();
Alles anzeigen
Sieht dann z.B. so aus:
Darf ich fragen, wie hast du Fox Icon neben Datei angebaut?
Gar nicht, es ist das Favicon vom Forum hier.
Das Favicon vom Forum ist eine Flamme und befindet sich nicht neben dem Datei-Menüpunkt.
Danke. Das habe ich gar nicht gesehen, so ganz oben ganz links und so klein in der Ecke.
wie hast du Fox Icon neben Datei angebaut?
Ich bin zwar nicht gemeint, aber:
Entweder ist es der verschiebbare Button von einem Skript, oder einfach nur so ein Icon.
#file-menu::before {
margin-right: 0px !important;
margin-left: 8px !important;
padding-left: 0px !important;
content: '' !important;
display: block !important;
width: 19px !important;
height: 15px !important;
background-image: url("file:///C:/Users/Andi/Icons%20Firefox/main-window.ico") !important;
background-repeat: no-repeat !important;
background-position: 0px 0px !important;
background-size: 15px 15px !important;
}
Alles anzeigen
Darf ich fragen, wie hast du Fox Icon neben Datei angebaut?
Es ist so wie 2002Andreas geschrieben hat, einfach mit content in der 'userChrome.css' . Soll das fehlende Icon der Windows-Titelleiste ersetzen:
#file-menu::before
{
display: block !important;
content:url('./image/FireFox-ESR-Icon-18px.png') !important;
position: relative !important;
margin-left: 3px !important;
margin-top: 3px !important;
}
Ich brauche das, weil ich ständig die ESR/Release/Nightly parallel offen habe. So sehe ich auf einen Blick, was was ist.
Hier die 'png'-Icons für ESR/Release/Nightly:
Es ist so wie 2002Andreas geschrieben hat, einfach mit content in der 'userChrome.css' . Soll das fehlende Icon der Windows-Titelleiste ersetzen:
Siehe Korrektur in rot... könnte wichtig sein...
Siehe Korrektur in rot... könnte wichtig sein...
Danke, habe es korrigiert...
Moin Zusammen,
diese UserScript funktioniert nicht mehr mit Firefox 115 Version.
Kann bitte jemand helfen?
location == "chrome://browser/content/browser.xhtml" && (function () {
(function (m) {
m.id = "context-copyplain";
m.addEventListener("command", function () {
Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(content.getSelection());
}, false);
m.setAttribute("label", "Nur Text kopieren");
})(document.getElementById("contentAreaContextMenu").insertBefore(document.createXULElement("menuitem"), document.getElementById("context-paste")));
(function (m) {
m.id = "context-copyHTML";
m.addEventListener("command", function () {
var div = content.document.createXULElement('div');
div.appendChild(content.getSelection().getRangeAt(0).cloneContents());
Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(div.innerHTML);
}, false);
m.setAttribute("label", "Quellcode kopieren");
})(document.getElementById("contentAreaContextMenu").insertBefore(document.createXULElement("menuitem"), document.getElementById("context-paste")));
document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function () {
gContextMenu.showItem("context-copyplain", gContextMenu.isTextSelected);
gContextMenu.showItem("context-copyHTML", gContextMenu.isTextSelected);
}, false);
})()
Alles anzeigen
Vielen Dank
Mfg
diese UserScript funktioniert nicht mehr mit Firefox 115 Version.
Darf ich fragen, wozu du dieses Skript brauchst? Das Kopieren des Quelltextes über eine Auswahl ist doch schon im Firefox enthalten. Oder ist es der zusätzliche Klick um die selektierte Vorschau des Quelltextes dann endgültig in das Clipboard zu kopieren, der dich stört?
diese UserScript funktioniert nicht mehr mit Firefox 115 Version.
Darf ich fragen, wozu du dieses Skript brauchst? Das Kopieren des Quelltextes über eine Auswahl ist doch schon im Firefox enthalten. Oder ist es der zusätzliche Klick um die selektierte Vorschau des Quelltextes dann endgültig in das Clipboard zu kopieren, der dich stört?
Hallo BrokenHeart,
Ahh, habe gerade geprüft und du hast recht, ich brauche nicht diese Userskript.
Mfg
Hallo,
Das Skript öffnet Firefox-Ordner und startet externe Anwendungen. Die Skript-Schaltfläche nimmt eine feste Position in der Nähe der Hamburger-Schaltfläche ein, sie kann verschoben werden, aber nur bis der Browser neu gestartet wird.
Bitte korrigieren Sie den Code so, dass die Schaltfläche vollständig verschoben werden kann und die Position beim Neustart erhalten bleibt.
// ==UserScript==
// @name Appmenu_Lite.uc.js
// @description Basiert auf dem Script externalFuncButtonM.uc.js, Wiederherstellung der Orangenen FF-Menü Schaltfläche
// @include main
// @version update for Firefox 68+ by aborix
// @author defpt
// @charset UTF-8
// @version 2019.08.04
// ### Z.181 geändert von Toolbar in Menüleiste
// zurück in Toolbar (Z.191)
// https://www.camp-firefox.de/forum/thema/112673/?postID=1159814#post1159814
// ==/UserScript==
var Appmenu = {
// Editor mit angegebenem Pfad verwenden
editor: 'notepad.exe',
// in 'view_source.editor.path' eingetragenen Editor verwenden
editor: Services.prefs.getCharPref('view_source.editor.path'),
// Dateimanager mit angegebenem Pfad verwenden
//fileManager: '""',
autohideEmptySubDirs: true,
// Submenüs ohne Inhalt im Hauptmenü automatisch ausblenden
moveSubDirstoBottom: true,
// Submenüs im Hauptmenü nach unten verschieben
subdirPopupHash: [],
subdirMenuHash: [],
toolbar: {
// Submenüs des Hauptmenüs definieren; Separator einfügen mit {name: 'separator'}
subdirs: [
],
// Untermenü Firefox Funktionen
apps: [{
name: 'userChrome.css',
path: '\\chrome\\userChrome.css',
image:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jXXR3U9bdQDG8fMHbFcjLjFRE2PIEhsTTfTOK++8UmNc2JzeaIQ0GzFBnSxLUDvs1DnCRJSgvIjsFUYXNg/Ki8IKnfQFCm3T0xZq11Eobc/pK6ft+fXrxYyhMT7Jc/l8bh5J2heLZeKxmZlQdGU1oblXtjWXN6m5fBlt2ZfRFr2aKk/Hfzt84PAj0v/lwjcLjelkTvBP8gIeFAWr6Qq3lQLTgTIX+mZ+P7AfmYjSfS0o+q9E6B9yF8cmAyVjJlrlTrjCLaXMgLfEoCeDM17E5lZxx+BM38KCdPDgIUmSJOlnP7WLdsHQSpWh1QoDrj0653L0O3K8O7bDs71/0XIjSDRdYno9hyOgsxiBiz/MLTQ0NDwqjfrQupcENwNVuhb3sPl0+hx5bKt5Prid5LneKO9PBNnN6Tg3Svy6nuXassovCrSe7uqRBjcQX3lgJAwjCnzrrHD+bpEue573bCkaL8Uwjytki2UiqoE7UWZ2o4QtbGD97s6S9NTRsz1PvH5m9PFXP/rpyTfOTjYPOIzWy25ahpd550cHb35vp3tqjVTRYFM1WNup4IjrzCfB0ntrqe6Fl196q3Ezsq0blRJqrviw2QKpfJlEocb9nCCUruJNVnCp8FnPxGIdYLXOPq1Es/oesFuCnSIkCrCVrxHPGsQ0QSRtEEhV8Rfgk0s364GOjkmTP5LRCwK2C4KtvCCeE9zPCmJZQVQ1iKhVQqpAKUFH93g90N4+bvKGUrpWhQf7h5ogouko2Sz2eBRHPE9Yh/avx+qBtrYrJldwV09X+Xe4oQoiWo3lrTh3E2HkYIZR/xoezeDjL/8DDJuWAkk9WYZNTRBWBUrmYWeDGtfXfVz1xBj88x72ZIXTX1yvB06dGjbN+5J6ogwhtUYwLQikBYGMYH6zwohTYdC+zpgzgTsHbZ9frQdaWoee+SOQZxuI6hDZA6UE/iKs5cCegLkYONLg0qHt/A1PHXDkyAuHXjvx4eW3T1qmTpgt8nGzRT7Wck4+2nxObmrulJvMVvmY2So3NXfKx09ap55/8ZVP/waJWLfEOCt3rAAAAABJRU5ErkJggg=='
},
{
name: 'userContent.css',
path: '\\chrome\\userContent.css',
image:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADFklEQVQ4jXXR3U9bdQDG8fMHbFcjLjFRE2PIEhsTTfTOK++8UmNc2JzeaIQ0GzFBnSxLUDvs1DnCRJSgvIjsFUYXNg/Ki8IKnfQFCm3T0xZq11Eobc/pK6ft+fXrxYyhMT7Jc/l8bh5J2heLZeKxmZlQdGU1oblXtjWXN6m5fBlt2ZfRFr2aKk/Hfzt84PAj0v/lwjcLjelkTvBP8gIeFAWr6Qq3lQLTgTIX+mZ+P7AfmYjSfS0o+q9E6B9yF8cmAyVjJlrlTrjCLaXMgLfEoCeDM17E5lZxx+BM38KCdPDgIUmSJOlnP7WLdsHQSpWh1QoDrj0653L0O3K8O7bDs71/0XIjSDRdYno9hyOgsxiBiz/MLTQ0NDwqjfrQupcENwNVuhb3sPl0+hx5bKt5Prid5LneKO9PBNnN6Tg3Svy6nuXassovCrSe7uqRBjcQX3lgJAwjCnzrrHD+bpEue573bCkaL8Uwjytki2UiqoE7UWZ2o4QtbGD97s6S9NTRsz1PvH5m9PFXP/rpyTfOTjYPOIzWy25ahpd550cHb35vp3tqjVTRYFM1WNup4IjrzCfB0ntrqe6Fl196q3Ezsq0blRJqrviw2QKpfJlEocb9nCCUruJNVnCp8FnPxGIdYLXOPq1Es/oesFuCnSIkCrCVrxHPGsQ0QSRtEEhV8Rfgk0s364GOjkmTP5LRCwK2C4KtvCCeE9zPCmJZQVQ1iKhVQqpAKUFH93g90N4+bvKGUrpWhQf7h5ogouko2Sz2eBRHPE9Yh/avx+qBtrYrJldwV09X+Xe4oQoiWo3lrTh3E2HkYIZR/xoezeDjL/8DDJuWAkk9WYZNTRBWBUrmYWeDGtfXfVz1xBj88x72ZIXTX1yvB06dGjbN+5J6ogwhtUYwLQikBYGMYH6zwohTYdC+zpgzgTsHbZ9frQdaWoee+SOQZxuI6hDZA6UE/iKs5cCegLkYONLg0qHt/A1PHXDkyAuHXjvx4eW3T1qmTpgt8nGzRT7Wck4+2nxObmrulJvMVvmY2So3NXfKx09ap55/8ZVP/waJWLfEOCt3rAAAAABJRU5ErkJggg=='
},
{
name: 'user.js',
path: '\\user.js',
image:'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArBJREFUeNqMU11IFFEU/vbO7Iyuums/GvmXhISBiOWWGFgGiyaC0UMkWRT11FNPQbEl9iNb0mtgUEQW+xjUQ5RrlClZ5IbaQ0bpw+paSGLGbrs7O3emc2d/kKjowBnm3HvnO9/5vju2Tb4ARJiUOjcQ1fhizUZnkVORsBzXMT7/HZLNZp0RT8ZssEuUjEGVWZWMdJimibhuXO4/UFvUWVeKf0Xg0yJcOXa03359i2UWDQKIackTmY91qkXyVWmmz/qezyBBbCvX5TXLGfpUo7mquETUEY1bgKtD0JeIvsMu4cXsNxz2R6DIDHJGAOqQX6CmyjjnEN/bfqPuYJIFrPLY5Ly346RYyzLQE/Hq7SUu66CWNFJd0+KZaTYFioxgeAV2mKH1vYPBfFVCWgOa0eB76stcpHwSmmFAQMiktkjxLpJUR2glBtlIzArsn9QoxYAaGJxXr8lVECHruGHSrEDxhccWfLinLcXozEM4cmTkJmITWVuzNkpKQ32pC1GuW1039DzB6OlWSCQaSUoacTCJYfiUB2ZRxR3RRAzGLAeIQmFeTrkAUumCVF4ZxMCR3bg0HLaU13UDMaJr0GjnhkLoP9gIjXNT1CxJUHT7zKhuFO68MYKqa8/g62jEgw/LePP5I3ZVroV/cgGin9m3HyPT0/BPLcHbskOMasoJQl+52Ja1ip19hIWoBofKLG2ut29Fp/8duraVIvwjBiGe2AtHEpYIjGnRt30vZxCizTnKJRLs7qsp5NOdONRQi703x9Dt2QInWbj56hC6GutQoNpxb+w9vpzf57Y5Pcc9SlNngEaxRJFpZoVEFN4fbarDwMhkyiXaFYofo7X7oxP42t3mrvAFgsIJlbLmTz9NWe/TcRvxnPO2uEVd3js4LrSY97a66S8O4j+iPp1/q/FLgAEAGto2bg8Nx1UAAAAASUVORK5CYII='
},
{
name: 'separator'
},
// Lokaler Pfad
{
name: 'Profiles folder',
path: '\\',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABqUlEQVQ4jZWRvYsTURTFf2/mhYiwIqjFEvxYRIlVQFgUbC0strSwsxC009ZuwcZa7AT9G0QrEW0EWUUEBbVQBDG6hKjrJqvJvDfvXot5SWZMNuLAhXnnnnPulwG4f31f68jyymWTpqAKCL3up87LR49XL93CM+ez91bZ2zp94e7+5qlDIKA5qEfy39TqtWM36g/OXblJtp2Beffw/Frz5NkTZTGagWZIGNB+/+KLIWyNc3iCG+Rvnj2/uHK1/9R8fX0tLC61koLgYmSTkBImI9zRXW/3Xj1ZO2PRUeWq0A02Gf7aiLgvmXuMOnbUk12Nw43bFvKx60i82f3MoP+Nhd0LoCEa5KA5EjI0mqVpqNnv7beI60VSQez/7NA8vhxbTkBNDIorKaCw0U132j2NJRYPHq12IQdK85a7cxXMJgGLOJDhhCDbiaaXK+JqFhzVjc+rWuWkJqR2fPd/VZ7KZ6AuKQzmzTtbGHFft4gHHc4Q/tW6To9qTI4F/9/CESbB10o7mH2qiXh6PJP4xK5//HCn/6OTIDkQQwPgQQIQ/zUUOYlvAlu9IH8ApVrKnkSFVL8AAAAASUVORK5CYII='
},
{
name: 'Chrome folder',
path: '\\chrome',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsSAAALEgHS3X78AAABqUlEQVQ4jZWRvYsTURTFf2/mhYiwIqjFEvxYRIlVQFgUbC0strSwsxC009ZuwcZa7AT9G0QrEW0EWUUEBbVQBDG6hKjrJqvJvDfvXot5SWZMNuLAhXnnnnPulwG4f31f68jyymWTpqAKCL3up87LR49XL93CM+ez91bZ2zp94e7+5qlDIKA5qEfy39TqtWM36g/OXblJtp2Beffw/Frz5NkTZTGagWZIGNB+/+KLIWyNc3iCG+Rvnj2/uHK1/9R8fX0tLC61koLgYmSTkBImI9zRXW/3Xj1ZO2PRUeWq0A02Gf7aiLgvmXuMOnbUk12Nw43bFvKx60i82f3MoP+Nhd0LoCEa5KA5EjI0mqVpqNnv7beI60VSQez/7NA8vhxbTkBNDIorKaCw0U132j2NJRYPHq12IQdK85a7cxXMJgGLOJDhhCDbiaaXK+JqFhzVjc+rWuWkJqR2fPd/VZ7KZ6AuKQzmzTtbGHFft4gHHc4Q/tW6To9qTI4F/9/CESbB10o7mH2qiXh6PJP4xK5//HCn/6OTIDkQQwPgQQIQ/zUUOYlvAlu9IH8ApVrKnkSFVL8AAAAASUVORK5CYII='
},
{
name: 'CSS folder',
path: '\\chrome\\CSS',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsSAAALEgHS3X78AAABQklEQVQokWP03NZ67s19BuKAnpA882d3pX////9nYCAGvfj+gYlIs+GAZA0M4otSnnx5+/ffv7///r34+l50Vjx+LgsDA4Mkl+Ds45t///2TZRP49/E7/FwWiD2nHl3fdv3Ejhun/v35i5/LAnfbj9+/jt6/zMDA8O//vwrnaCMZtd03z2BysXg6bGHDvtvn3DXM1iU1MzIyonERGthZWM3ltRgYGL7+/N6wc37TzoVMjEyMGFyok4xl1HUllfLsgkVq/Lakds44tpGB4T9ECo3LwsDA8Pr7xyybAAYGhjdfPzL8Z3j77WOubRCE+x+Dyyi+KOXfj99/H79j+Pvv/3+G/wz/GRkYGRkZGBgYsHKZIM5nkhX8x8T4n+E/AwPDf4b///7///f/P1Yu1NOM7KwsckIMzIRTCpOukDzxenQkFQF0hPh3MT13CgAAAABJRU5ErkJggg=='
},
{
name: 'separator'
},
// Run external applications
{
name: 'Notepad',
path: 'C:\\Windows\\notepad.exe',
image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACoUlEQVQ4jaWTzYtVdRjHP7/febln7rnee53ROSEZQotBcpGgiwiamGghUjT9ASG4cVO0HNoOroJ2BkJughBBpDZilIW50jB1AhXipjWT4Ghz7znn3vP2e2sxpBMMuOi7eeCB58P3efg+8D8ltmt+d/Xqmw8e/DkXRuFfQspVJ8TaB4uLG0II91zAp9/eig/PuJVbt3/ZK6AWzmqHcJ6UqVXVoK6K339dufHFl2fOXt8WMNjIPtkdR8vKOjkaT3g0TFldf8J6mpJmY6xWBMW6Hf/w2b6T5war/tbhr+/+scf3xPFh2eB5EhGExP0+SdSGSQVFRVrWzD40cuTMNPBfQL8dfFwo6xzIvKgAaIwlqxWVNtTakEQBLWeojekCPAV8fv3OgXFjXqvNZNQOfBywUdaUytAYQ9ooKqU5vGuae5MxgS96zwDOiernu8dW82IYeV4QhwEOsM4xrBryRlEbQ0c4kjjiZlnirP/MwUff33j9vnMzoS+Hu1ph0p+yaGtRZrMWSlMpzcGkj9WKosixsOngw4sXW3ce/X3UCTmJQl/s73c6xlmMdU8h1jm6niCJIybjHN2UIOUmYGWdd34bjXZKhPU94ZJAJlXT4IB/U+MJOJT00dqg8jFNkdEKg80Vdvc6R8J4x0uPx5NCN40slZop6wZwCARCCGYjnxfjKazRZHmGrnJ63U4PQJ5ffOP49OTxiYPT0VfvvvxCP9nRYSqOIWxROyiV4pWdHbTROGMYpRlOFcgwmgU8H+DcsfcHwODylStr7V77vWEjFjIZvbpWGy+rFfu6bZTWTEnBMB0xzOsV6dnbgNj2mQCWlpZm5hfenu9047ec8Be8VmtO16W4dPnHny59c+HEzWvX7m0503MllpeX9546fXp+a/gA/gHvcVhlUwp3wwAAAABJRU5ErkJggg=='
},
{
name: 'separator',
},
],
// Firefox Funktionen definieren
configs: [
{
name: 'Clear History',
command: "Sanitizer.showUI(window);",
id: 'AMsanitize',
image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACh0lEQVQ4jZWRa0jTARTFTyoYWqSpJGpEFGJ9sZIekFGZ5aOHJBSRkJhEho5AqIVmrBrLuU3BjNK9tBeZFSYZgSn5RDJTVNTmNNLN5eaDfMxw/j19E8QsvZ/v78e59+DaUey/eRyGtCgMiCMRgZVOWhTMz6+4sUTkzvRoTN2IQPiKBOlRGClLXcPqDA8WJ7sxPRoGCeCkluNOngxe/xWII3BVFus0+TFtHaszPCg9jfF8Kb5qFKBajm3LCeGUFo0HkpOYLLvuzqLMVax6s3OuVB8wrs7CgWWfIkvEbU0m5porD9PWJ2Zp0obpwj0w6bPRplFAnCuDz5KwRoHzOhXs3Y0xHDYmsVEUwhL/tex6e5FWYyqbKsOmH+estutV0D+Uwn+xQI54rRK2imdB9oroIH7Yt5H27gQK1kQKthQKoxn8bc3kl6rwGX22y7ROhSfqezgkkcBpXpIrgmvhVnS9Cls/67BKKQwnUxiTUhgWURiKpcMczomBS7T1itlSHTn3Wus3oVXAujDJLcR/Kg2eEsayKFjjKdgSKAzFUhgM5UTPdlpafWls8KCpLYr9HZepV2JogeC+HH5P8zynHSMKzppD6TDtpb0vmKNdW2hu9mZPrQsNNc4c7DzL+vchDp0KLxb9ozAbHb0tFzhiOEZLqy8HmjxprHOlocaZhhpnmtpP0Nh8jnqV86RajoBFgkdyHHlZ4Gf/aUihsd5jHjQ2+NDSFcfOxjNzhTkuvwqycHDJWnUq1NeX756xdMfz++dAmjtO0fJNxLp3uxxaFQYLZAhcEgaAPBm8dEr0t9XGCD/a49hQvmOmKMfVrlOiOF8C73/C8xIpNmmUGNEpMaxVQqe+i81/2/sDdNth33v8JSgAAAAASUVORK5CYII="
},
]
},
_externalAppPopup: null,
_isready: false,
init: function() {
var isUrlbar = 1; // 0: TabsToolbar; 1: navbar
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.setAttribute("tooltiptext", "Firefox Menü");
ExternalAppBtn.setAttribute("type", "menu");
ExternalAppBtn.setAttribute("removable", "true");
if (isUrlbar) {
document.getElementById("nav-bar-customization-target").appendChild(ExternalAppBtn);
ExternalAppBtn.style.listStyleImage = "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAA6SURBVDhPYxgcIDg+6z8IQ7lwPiEMVT4YDBh4gO4kZGfiw1Dlg8GAgQfoTkJ2Jj4MVT4YDCAfMDAAAFSm42US1bMnAAAAAElFTkSuQmCC)";
} else {
ExternalAppBtn.style.listStyleImage = "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAAUCAYAAAAwaEt4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAF3SURBVFhH7ZUxS8RAEIX9M1fb29vb+wP8AdaCYCVY2FmInY1YWmlrp7WtNp6ihyKKCDYrb7kPxsuMJiG5CO6DR5LZmd2Zl9ndhduNUSqssggTsAgTsAgTsAgTsLEw71enyYPGHvZW8vvHzUUlrinvd5e/reX59Mk/K8zn5DrPBTyfPtlamOeTTXe8K4LHg1V3vG92KgwdI2ADT8fr+UmcfNVZ4OVspzIH0Joau9teSq/n+1Nryl1l8yA3/LUdgWLxq8NOthKJ/CQMUCE2YQuJEwkz3lqsbC+AOCoeaB5y1U8hn7qcmzB0hArkr79dHuVvhFLhs3GaU9+Tw7WpJWV/2SQIIA4bIpJbU85tK1Gg6IkLojgKtoV664kWbc+oQYRRpwh0DHZLQJztGM6LOh3T9oYcRBjrZ2F9ADYJGIFcZg9bxPFy/Y2DCCOqxe2tpHd7cwAbp3G6TVDh9mBlPp1h+va6rC4bC/NfWIQJWIQJWIQJWIRxOUpfQ+jqXwPuQ7IAAAAASUVORK5CYII=)";
var TabsToolbar = document.getElementById("nav-bar");
TabsToolbar.insertBefore(ExternalAppBtn, TabsToolbar.firstChild);
}
var ExternalAppPopup = document.createElementNS(XULNS, 'menupopup');
//ExternalAppPopup.setAttribute('onpopupshowing', 'event.stopPropagation(); Appmenu.onpopupshowing();');
ExternalAppPopup.setAttribute('id', 'AMpopup');
this._externalAppPopup = ExternalAppPopup;
ExternalAppBtn.appendChild(ExternalAppPopup);
Appmenu.onpopupshowing();
},
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.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.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;
},
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("ProfD", 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 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, [path], 1);
} else {
file.launch();
}
}
},
};
if (window.gBrowser)
Appmenu.init();
Alles anzeigen
Dies ist ein leichtgewichtiges Skript, das ursprüngliche Skript mit denselben Funktionen finden Sie hier
Vielen Dank für Ihre Hilfe
Bitte korrigieren Sie den Code so, dass die Schaltfläche vollständig verschoben werden kann und die Position beim Neustart erhalten bleibt.
Bitte testen: Dieses Skript zusätzlich ausführen oder an das bestehende AppMenü-Skript anhängen!
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
var appButton = document.getElementById('AppMenuButton');
if (!CustomizableUI.getPlacementOfWidget('MoverAppMenuButton')) {
try {
CustomizableUI.createWidget({
id: 'MoverAppMenuButton',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
toolbaritem.id = 'MoverAppMenuButton';
toolbaritem.className = 'chromeclass-toolbar-additional';
toolbaritem.setAttribute('label', 'Firefox Menü');
return toolbaritem;
}
});
if (!CustomizableUI.getPlacementOfWidget('AppMenuButton')) {
menuButton.style.display = 'none';
return;
};
} catch(e) {
menuButton.style.display = 'none';
return;
};
};
setTimeout(function() {
document.getElementById('MoverAppMenuButton').appendChild(appButton);
appButton.setAttribute('consumeanchor', 'MoverAppMenuButton');
appButton.setAttribute('label', 'Firefox Menü');
appButton.setAttribute('tooltiptext', 'Firefox Menü');
}, 0);
}());
Alles anzeigen
Falls es nicht sofort funktioniert, den Timeout am Ende des Skripts etwas erhöhen.
Die ID im AppMenü-Skript (=Zeile 107) und die ID (=Zeile 4) im neuen "Verschiebe"-Skript müssen identisch sein,
also hier: "AppMenuButton"
Bitte testen: Dieses Skript zusätzlich ausführen oder an das bestehende AppMenü-Skript anhängen!
Danke, Ich habe den neuen Code am Ende des Hauptcodes hinzugefügt. Es funktioniert, aber wenn man die Schaltfläche auf der vertikalen Aris-t2-Symbolleiste platziert, bewegt sich das Symbol nach links. Wenn Sie das Symbol durch ein anderes ersetzen, bleibt der Fehler bestehen. Die Schaltflächen anderer Skripte werden korrekt angezeigt.
Wenn Sie die Schaltfläche in der Navigationsleiste platzieren, bleibt der Fehler bestehen, aber er ist nicht bemerkbar, da die Verschiebung horizontal ist.
bewegt sich das Symbol nach links.
und jetzt?
(function() {
if (location != 'chrome://browser/content/browser.xhtml')
return;
var appButton = document.getElementById('AppMenuButton');
if (!CustomizableUI.getPlacementOfWidget('MoverAppMenuButton')) {
try {
CustomizableUI.createWidget({
id: 'MoverAppMenuButton',
type: 'custom',
defaultArea: CustomizableUI.AREA_NAVBAR,
onBuild: function(aDocument) {
var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbaritem');
toolbaritem.id = 'MoverAppMenuButton';
toolbaritem.className = 'chromeclass-toolbar-additional';
toolbaritem.setAttribute('label', 'Firefox Menü');
toolbaritem.style.marginLeft = '8px';
return toolbaritem;
}
});
if (!CustomizableUI.getPlacementOfWidget('AppMenuButton')) {
menuButton.style.display = 'none';
return;
};
} catch(e) {
menuButton.style.display = 'none';
return;
};
};
setTimeout(function() {
document.getElementById('MoverAppMenuButton').appendChild(appButton);
appButton.setAttribute('consumeanchor', 'MoverAppMenuButton');
appButton.setAttribute('label', 'Firefox Menü');
appButton.setAttribute('tooltiptext', 'Firefox Menü');
}, 0);
}());
Alles anzeigen
und jetzt?
Geändert 8px zu 12px. Bitte beachten Sie die Hover, alle anderen Schaltflächen sind hintergrundbeleuchtet wie die auf der rechten Seite und die Schaltfläche unter Diskussion ist drastisch anders. Wenn die Schaltfläche auf der Navigationsleiste platziert ist, wenn schwebte, wird seine Hervorhebung nicht quadratisch wie alle anderen Schaltflächen, sondern rechteckig, wo die Höhe größer ist als die Breite.