Stream: delta radio UNPLUGGED [mp3 | 192 kbps]
Für Online-Radio oder zum direkt hören im Browser.
Edit: Meine bevorzugte I-Net-Radio-Software unter Linux: Shortwave (aus der Anwendungsverwaltung [Flatpack]).
Stream: delta radio UNPLUGGED [mp3 | 192 kbps]
Für Online-Radio oder zum direkt hören im Browser.
Edit: Meine bevorzugte I-Net-Radio-Software unter Linux: Shortwave (aus der Anwendungsverwaltung [Flatpack]).
Future Sound Of Egypt 829
?
Ich hänge mich mal an (eine andere Art der Einbindung von --menuitem-icon in Zeile 59):
Beispiel:
// JavaScript Document
// M_Quit_Firefox.uc.js
// FF 143
// Quelle: https://www...
// Das Script erstellt einen neuen Menüeintrag, der ein einzelnes Firefox-Fenster separat schließt (Linksklick) oder Firefox beendet (Mittel-/Rechtsklick). Das .svg-Icon kann - je nach Hover-Zustand - mit zwei unterschiedlichen Farben gefüllt werden [fill]. Beim Überfahren des Menuitems rotiert das Icon um 180deg [rotate: 180deg].
// Das Menü für den Menüeintrag kann selektiert werden (Seitenkontextmenü oder Tabkontextmenü).
// Die Position des Menüeintrags innerhalb des Menüs kann bestimmt werden.
// Eine Darstellung des Menüeintrags mit/ohne Icon kann gewählt werden.
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script - bei gewählter Iconanzeige [const isIcon = 1;] - die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
(function() {
if (!window.gBrowser)
return;
const
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
id = 'contextQuit', // ID des neuen menuitems
label = 'Fenster schließen/Firefox beenden', // Bezeichnung des neuen menuitems
tooltiptext = 'Fenster schließen/Firefox beenden\n\nLinksklick: Fenster schließen\nMittel-/Rechtsklick: Firefox beenden',
// Icon-------------------------------------------------------
isIcon = 1,
// isIcon = 1, mit Icon
// isIcon = 0, ohne Icon; die Konstanten icon, iconPath, iconColOu und iconColOv haben dann keine Funktion und sollten unberührt bleiben
icon = 'quit-16.svg', // [Name.Dateiendung] des Symbols
iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon beinhaltet
iconColOu = 'firebrick', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOu keine Funktion)
iconColOv = 'currentColor', // Farbe des Icons beim Überfahren des Items (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOv keine Funktion)
// Menü-------------------------------------------------------
isMenu = 2,
// isMenu = 1, für Seitenkontextmenü;
// isMenu = 2, für Tabkontextmenü';
isPos = 12,
// Option A:
// isPos = 12, [Zahlen von -5 bis 20]
// Menuitem an einer bestimmten Position im Menü einfügen
// wie in CSS: [order:12!important;]
// Option B:
// isPos = 'context-inspect'; [String]
// Menuitem auf diesen Menüpunkt folgend einfügen
// wie in CSS: [#context-inspect]
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)),
cl = '.menu-icon',
menu1 = document.getElementById('contentAreaContextMenu'),
menu2 = document.getElementById('tabContextMenu'),
menuitem = document.createXULElement('menuitem');
//const end
menuitem.id = id;
menuitem.setAttribute('label', label);
menuitem.setAttribute('tooltiptext', tooltiptext);
//mit Icon
if (isIcon === 1) {
//----
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
menuitem.classList.add('menuitem-iconic');
menuitem.setAttribute('style','--menuitem-icon: url("' + curProfDir + iconPath + icon + '")');
menuitem.style.MozContextProperties = 'fill, stroke, fill-opacity';
//Icon start
switch (isMenu) {
case 1:
menu1.addEventListener('popupshowing', () => {
menuitem.querySelector(cl).style.fill = iconColOu;
});
break;
case 2:
menu2.addEventListener('popupshowing', () => {
menuitem.querySelector(cl).style.fill = iconColOu;
});
break;
}
//Icon over
menuitem.addEventListener('mouseover', () => {
menuitem.querySelector(cl).setAttribute('style','fill:'+iconColOv+';rotate: 180deg; transition: rotate 0.2s ease-in-out 0.1s;');
});
//Icon out
menuitem.addEventListener('mouseout', () => {
menuitem.querySelector(cl).setAttribute('style','fill:'+iconColOu+';rotate: 0deg; transition: rotate 0.2s ease-in-out 0.1s;');
});
}
//Icon end
//click
menuitem.addEventListener('click', () => {
if (event.button === 0) {
event.target.ownerGlobal.BrowserCommands.tryToCloseWindow(event);
}
else
if (event.button === 1 || event.button === 2) {
event.target.ownerGlobal.goQuitApplication(event);
}
});
//Position order
if (isPos > -6 && isPos < 21) {
if (isMenu === 1) {
menu1.append(menuitem);
}
else
if (isMenu === 2) {
menu2.append(menuitem);
}
menuitem.style.order = isPos;
}
//Position reference
else {
const refItem = document.getElementById(isPos);
refItem.parentNode.insertBefore(menuitem, refItem.nextSibling);
}
//----
})();
Alles anzeigen
Was hat die Ki verändert? Ein Auszug aus dem Quelltext wäre hilfreich.
Der Fehler könnte in Zeile 73 (#4.582) liegen:
searchfox.org
lenny2, das geht nur mit einer Versionsabfrage (ist das überhaupt möglich?)
Ab 141.0 gibt es diese Änderung:
Der Grund könnte dieser sein (Die Befehle haben sich geändert):
browser-sets.js - mozsearch
Aber ich habe einen Vermerk im Script eingefügt.
// Firefox 141.0+
Für FF 140.0 sollte Zeile 60 ersetzt werden mit: event.target.ownerGlobal.restoreLastClosedTabOrWindowOrSession(); (ungetestet)
Danke für Deine Ausführungen! Aber ändert das irgendetwas an dem Script/Icon aus Beitrag #8? Ich denke nicht...Schöner Beitrag, aber in diesem Thema von Anfang an unpassend und nicht zutreffend!
Zum runterkommen:
wollte nur höflich auf deinen Irrtum hinweisen
Welchen Irrtum meinerseits meinst Du? Das Icon funzt jetzt sowohl im Fileexplorer unter Windows sowie im Script!
Und wie gesagt, color zu setzen kann Nebenwirkungen haben, deshalb ist currentColor oft keine Lösung.
Könntest Du diese Aussage präzisieren?
Ich werde das morgen überprüfen können.
Hat sich erledigt, funzt. Dankeschön für den Hinweis! Habe das Icon in Beitrag #8 ersetzt.
Der Grund könnte dieser sein (Die Befehle haben sich geändert):
EDIT: Icon ausgetauscht (wegen Darstellungsproblemen im Fileexplorer unter Windows)
EDIT: Icons nochmal getauscht 24.07.25, 9:50 Uhr
z.B.:
// JavaScript Document
// B_RestoreLastClosedTab.uc.js
// Firefox 141.0+
// Das Script erstellt einen Button der den letzten geschlossenen Tab/die letzte geschlossene Sitzung oder das letzte geschlossene Fenster wiederherstellt. Das .svg-Icon kann - je nach Hover-Zustand - mit zwei unterschiedlichen Farben gefüllt werden [fill].
// Für das mitgelieferte Icon als .svg-Datei mit [moz-context-properties] ändert das Script die Einstellung [svg.context-properties.content.enabled] in about:config auf 'true'.
(function() {
if (!window.gBrowser)
return;
const
// ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
id = 'restoreLastClosed-button', // Id des neuen Buttons
label = 'Geschl. Tab/Sitzung/Fenster wiederherst.', // Bezeichnung des neuen Buttons
tooltiptext = 'Geschlossenen Tab/Sitzung/Fenster wiederherstellen',
// Icon-------------------------------------------------------
icon = '16_reload_moz.svg', // [Name.Dateiendung] des Symbols
iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon beinhaltet
iconColOu = 'gray', // Farbe des Icons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOu keine Funktion)
iconColOv = 'currentColor', // Farbe des Icons beim Überfahren des Buttons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOv keine Funktion)
// ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir)),
cl = '.toolbarbutton-icon';
//const end
if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
}
//----
CustomizableUI.createWidget({
id: id,
type: 'button',
defaultArea: CustomizableUI.AREA_NAVBAR,
label: label,
tooltiptext: tooltiptext,
onCreated: (button) => {
button.style.MozContextProperties = 'fill, stroke, fill-opacity';
button.style.listStyleImage = 'url("' + curProfDir + iconPath + icon + '")';
button.style.fill = iconColOu;
button.style.minWidth = 'fit-content';
//over
button.addEventListener('mouseover', () => {
button.style.fill = iconColOv;
// button.querySelector(cl).style.rotate = '90deg';
});
//out
button.addEventListener('mouseout', () => {
button.style.fill = iconColOu;
// button.querySelector(cl).style.rotate = '0deg';
});
//contextmenu
button.addEventListener('contextmenu', e => {
if (event.button === 2) {
e.preventDefault();
}
});
//click
button.addEventListener('click', () => {
if (event.button === 0) {
event.target.ownerGlobal.SessionWindowUI.restoreLastClosedTabOrWindowOrSession(window);
}
});
}
});
//----
})();
Alles anzeigen
@Horstmann , es fehlt - damit es in neueren Firefoxversionen funzt - ein Slash nach der Angabe des Profilpfades. Den könnte man z.B. hier einfügen:
style: 'list-style-image: url("' + ProfilePath +'/'+ buttonicon + '");'
Mit dieser allgemeinen Aussage, die mit der Frage des TE's nichts zu tun hat, hat er dem TE sicherlich bei seiner Problemlösung nicht geholfen, das ist reine Selbstdarstellung seinerseits. Ich kann dem TE leider nicht helfen => Linux.
Ich benutze G-Data auf ca. 10 verschiedenen Win10 Systemen.
Nur bei meinem tritt der Fehler ab und zu auf.
deinstalliere diese unnütze Systembremse vollständig und rückstandsfrei. Anschließend bist Du nicht etwa schlechter, sondern mit dem Defender sogar besser geschützt.
schlingo, ist dieser Satz eigentlich der Einzige den du drauf hast? Bei 10 Rechnern liegt das Problem sicherlich woanders!