Anwendungsmenü. Das ist das hinter der Schaltfläche mit den drei Strichen in der Navigationssymbolleiste.
naja, ganz schön weit weg..Danke für die Aufklärung! Das war mir gänzlich unbekannt.
Anwendungsmenü. Das ist das hinter der Schaltfläche mit den drei Strichen in der Navigationssymbolleiste.
naja, ganz schön weit weg..Danke für die Aufklärung! Das war mir gänzlich unbekannt.
Sören Hentzschel Ja genau, genauso ist das hier unter 'Webseiten sind manchmal in mehr als einer Sprache verfügbar. Wählen Sie die Sprachen für die Darstellung von Webseiten in der von Ihnen bevorzugten Reihenfolge:'
'eingestellt' ist: 2. Sprache: Englisch [en]. In diesem Fall kann der Button schon hilfreich sein. Im Kontextmenü (Linux) sehe ich diese Funktion nicht. Beispiel: https://www.nytimes.com/
U.U. kann ja jemand diesen Button gebrauchen:
Es geht um das Icon des Firefox Übersetzers, dass in der Urlbar aus unterschiedlichen Gründen manchmal nicht erscheint.
EDIT: Die Lösung von 2002Andreas aus userChrome.js Scripte für den Fuchs (Diskussion) ist einfacher und deshalb besser, der Button wird dann nicht benötigt.
Bei mir habe ich englisch als Zweitsprache in 'Sprache für die Anzeige von Menüs, Mitteilungen und Benachrichtigungen von Firefox' gewählt. Manchmal bietet auch die Website deutsch als zweite Sprache an. Dann wird das Icon scheinbar nicht eingeblendet. Ich möchte aber 'ab und zu' die englischsprachliche Website dann doch von FF offline übersetzt bekommen. Deshalb ist dieser Button entstanden, der das #full-page-translations-panel einblendet.
// JavaScript Document
// B_TranslFullPage.uc.js
(function() {
if (!window.gBrowser)
return;
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const icon = '16_translate.svg'; // [Name.Dateiendung] des anzuzeigenden Symbols
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet
const id = 'FullPageTransl-button'; // Id des neuen Buttons (wie in CSS: [#FullPageTransl-button])
const label = 'Ganze Seite übersetzen'; // Bezeichnung des neuen Buttons
const tooltiptext = 'Open FullPageTranslationsPanel'; // selbsterklärend
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const oncommand = 'FullPageTranslationsPanel.open(event);';
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
CustomizableUI.createWidget({
id: id,
defaultArea: CustomizableUI.AREA_NAVBAR,
label: label,
tooltiptext: tooltiptext,
onCreated: function(button) {
button.style.listStyleImage = 'url("' + curProfDir + iconPath + icon + '")';
button.setAttribute('oncommand', oncommand);
}
});
//---
const sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
const uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
#${id} image {
-moz-context-properties: fill;
fill: gold;
}
#${id}:hover image {
fill: currentcolor;
}
`), null, null);
sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
//---
})();
Alles anzeigen
Die Position des Panels ist 'gewöhnungsbedürftig', vielleicht hat ja jemand eine Lsg. dazu? Hier das Icon: 16_translate.svg
Danke für den Screen. Je kürzer der Code, desto länger die Ruhe...
Mit dieser Version - ohne Icon - sollte es auch ohne css klappen :
// JavaScript Document
// M_Close_Firefox_ohne Icon.uc.js
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
// ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const label = 'Fox schließen';
//const tooltiptext = 'Firefox beenden';
const oncommand = 'goQuitApplication(event);';
// ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const menuitem1 = document.createXULElement('menuitem');
menuitem1.id = 'contextClose';
menuitem1.setAttribute('label', label);
// menuitem1.setAttribute('tooltiptext', tooltiptext);
menuitem1.setAttribute('oncommand', oncommand);
const refItem1 = document.getElementById('context-inspect');
refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling);
})();
Alles anzeigen
clio so vielleicht? Hier das Icon: 16power_off_redorange.svg
// JavaScript Document
// M_Close_Firefox.uc.js
(function() {
if (location.href !== 'chrome://browser/content/browser.xhtml')
return;
// ■■ START UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const icon = '16power_off_redorange.svg'; // Name.Dateiendung des anzuzeigenden Symbols | Name.file extension of the symbol to be displayed
const iconPath = '/chrome/icons/'; // Pfad zum Ordner der das Icon beinhaltet | Path to folder containing the icon
const label = 'Firefox beenden';
const tooltiptext = 'Firefox beenden';
const oncommand = "goQuitApplication(event);";
// ■■ END UserCustomisation ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
const curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
const menuitem1 = document.createXULElement('menuitem');
menuitem1.id = 'contextTest';
menuitem1.setAttribute('label', label);
menuitem1.setAttribute('tooltiptext', tooltiptext);
menuitem1.setAttribute('oncommand', oncommand);
menuitem1.classList.add('menuitem-iconic');
menuitem1.style.listStyleImage = 'url("' + curProfDir + iconPath + icon + '")';
const refItem1 = document.getElementById('context-inspect');
refItem1.parentNode.insertBefore(menuitem1, refItem1.nextSibling);
})();
Alles anzeigen
Ich denke, es könnte dies fehlen:
--panel-shadow-margin: 0px !important;
Im neuen Profil getestet und es funktioniert auch:
Ich nutze das hier:
Aber das ist bestimmt viel zu umfangreich/veraltet...
Edit: Habe gerade in einem neuen Profil getestet und gesehen dass ich das Problem nicht habe. Auch deshalb ist dieser Beitrag unpassend. Da es schon eine Antwort gibt möchte ich diesen aber nicht löschen.
Für diesen partiellen Kram kann es keine Lösung geben.
Ich würde noch weiter gehen:
Für diesen partiellen Kram kann und darf es keine Lösung mehr geben.
Aber es wird wieder und wieder passieren.
@Horstmann ,
genau die gleichen Erfahrungen habe ich auch gemacht. Ich finde aber auch nur dieses Thema:
Ausführlich ist das ja nicht.
Naja, Ordnersymbole gibt es ja sehr viele, da ist für jeden Geschmack etwas dabei, z.B.:
"folder" - iconmonstr
Schwieriger ist dann schon das Einfärben einer .svg-datei.
gerade gehört...![]()
favorite song:
Es fehlt oben übrigens noch etwas
Naja, 'fehlen' tut es ja nicht. Ich nehme das mal als 'Zusatzmöglichkeit'.
Kann man sicherlich so machen, aber das jeweilige #identity-icon ist dann ein anderes Icon und nicht das oben erwähnte 'Schloss'. Es hebt sich also schon durch die jeweilige Form (Puzzleteil usw.) ab.
Ein Screenshot der geöffneten Website (bisher) nicht.
Das ist wohl so gewollt; die geöffnete Website siehst du ja im geöffneten Tab.
So, habe das nochmal ausgiebig getestet und für GUT befunden:
/*■■■■■■■■■■■■■■■■■Schloss■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*Secure lock icon in urlbar*/
/* Green */
#identity-box[pageproxystate="valid"].verifiedDomain #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].verifiedIdentity #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-popup[connection^="secure"] .identity-popup-security-connection {
background-color: green !important;
}
/* Red */
#identity-box[pageproxystate="valid"].notSecure #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].insecureLoginForms #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
.identity-popup-security-connection {
background-color: red !important;
}
/* Orange */
#identity-box[pageproxystate="valid"].mixedDisplayContent #identity-icon {
fill: orange !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-popup[mixedcontent~="passive-loaded"][isbroken] .identity-popup-security-connection {
background-color: orange !important;
}
/* Yellow */
#identity-box[pageproxystate="valid"].mixedDisplayContentLoadedActiveBlocked #identity-icon {
fill: yellow !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].certUserOverridden #identity-icon {
fill: yellow !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
/*■■■■■■■■■■■■■■■■■Schriftfarbe■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/* Mixed content including neterror */
#identity-box[pageproxystate="valid"].unknownIdentity ~ .urlbar-input-box {
color: red !important;
}
/* http: and potentially some other insecure connections */
#identity-box[pageproxystate="valid"].notSecure ~ .urlbar-input-box {
color: red !important;
}
/* Extension pages */
#identity-box[pageproxystate="valid"].extensionPage ~ .urlbar-input-box {
color: purple !important;
}
/* Internal about: and chrome:// urls (includes reader-view) */
#identity-box[pageproxystate="valid"].localResource ~ .urlbar-input-box,
#identity-box[pageproxystate="valid"].chromeUI ~ .urlbar-input-box {
color: green !important;
}
Alles anzeigen
Falsch!
habe nur kurz mal dies getestet und funktionierende Beispiel-URL's einkommentiert!
EDIT: Kommentar in Zeile 6 angepasst
/*■■■■■■■■■■■■■■■■■Schriftfarbe■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/* Mixed content including neterror *//* funzt bei about:neterror/netTimeout/ */
#identity-box[pageproxystate="valid"].unknownIdentity ~ .urlbar-input-box {
color: red !important;
}
/* http: and potentially some other insecure connections: */
/* funzt bei http://fritz.box/*/
#identity-box[pageproxystate="valid"].notSecure ~ .urlbar-input-box {
color: red !important;
}
/* Extension pages *//* funzt bei allen Erweiterungen*/
#identity-box[pageproxystate="valid"].extensionPage ~ .urlbar-input-box {
color: purple !important;
}
/* Internal about: and chrome:// urls (includes reader-view) */
/* funzt bei reader-view*/
/* funzt bei about:about*/
#identity-box[pageproxystate="valid"].localResource ~ .urlbar-input-box,
#identity-box[pageproxystate="valid"].chromeUI ~ .urlbar-input-box {
color: green !important;
}
Alles anzeigen
Ich habe etwas Ähnliches. Vielleicht kannst Du davon ja etwas ableiten?
/*■■■■■■■■■■■■■■■■■Schloss■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/*Secure lock icon in urlbar*/
/* Green */
#identity-box[pageproxystate="valid"].verifiedDomain #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].verifiedIdentity #identity-icon {
fill: green !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-popup[connection^="secure"] .identity-popup-security-connection {
fill: green !important;
}
/* Red */
#identity-box[pageproxystate="valid"].notSecure #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].insecureLoginForms #identity-icon {
fill: red !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
.identity-popup-security-connection {
fill: red !important;
}
/* Orange */
#identity-box[pageproxystate="valid"].mixedDisplayContent #identity-icon {
fill: orange !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-popup[mixedcontent~="passive-loaded"][isbroken] .identity-popup-security-connection {
fill: orange !important;
}
/* Yellow */
#identity-box[pageproxystate="valid"].mixedDisplayContentLoadedActiveBlocked #identity-icon {
fill: yellow !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
#identity-box[pageproxystate="valid"].certUserOverridden #identity-icon {
fill: yellow !important;
fill-opacity: 1 !important;
transition: 100ms linear !important;
}
/*■■■■■■■■■■■■■■■■■Schriftfarbe■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■*/
/* Mixed content including neterror */
#identity-box[pageproxystate="valid"].unknownIdentity ~ .urlbar-input-box {
color: red !important;
}
/* http: and potentially some other insecure connections like ftp: */
#identity-box[pageproxystate="valid"].notSecure ~ .urlbar-input-box {
color: red !important;
}
/* Extension pages */
#identity-box[pageproxystate="valid"].extensionPage ~ .urlbar-input-box {
color: purple !important;
}
/* Internal about: and chrome:// urls (includes reader-view) */
#identity-box[pageproxystate="valid"].localResource ~ .urlbar-input-box,
#identity-box[pageproxystate="valid"].chromeUI ~ .urlbar-input-box {
color: green !important;
}
Alles anzeigen
Mira_Belle Diese Lsg. funzt hier auch gut; es ist aber letztlich auch eine ungeheure 'Fleißarbeit' diesen alten Button - ich denke ursprünglich mal von Aris? - wieder auf heutiges Niveau zu bringen (verschiebbarer Button, base64 entfernen und durch .svg ersetzen, Links auf Profil globalisieren usw.).
Bist Du sicher dass Du dir das antuen willst?