Hallo zusammen,

habe im Firefox-Profil einen Ordner namens "chrome" angelegt und dort die Datei "userContent.css" erzeugt. in dieser Datei liegt folgender Eintrag vor. Unter Windows 10 habe ich mit denselben Einstellungen auf der Firefox Startseite und jedem neuen Tab ein lokales Hintergrundbild, das ebenfalls im Ordner "chrome" liegt. Unter Arch Linux funktioniert dies nicht - hat jemand von Euch eine Idee, woran das liegt?


/* userContent.css *********************************************/
/* Do not remove the @namespace line -- it's required for correct functioning
* set default namespace to XUL
*/
@-moz-document url("about:newtab"), url("about:home")
{
html > body
{
background: no-repeat center/100% url("sh8.jpg") !important;
background-attachment: fixed !important;
}
}
@namespace url("http://www.mozilla.org/keymaster/gateke ... s.only.xul");
Der Linux-Firefox 57+ weigert sich, auf diesem Weg Bilddateien einbinden. Ich bin mir auch nicht sicher, ob das Verhalten nun ein Bug des Linux- oder des Windows-Firefox ist. Mozilla nagelt die NewTab-Funktionen ihrer heiligen Geldquelle ja schon geraume Zeit kontinuierlich zu. (Sowas weckt bei mir immer sportlichen Ehrgeiz 🙂)

Aber egal, ob Absicht oder nicht. Bilder lassen sich offenbar nur noch dann einbinden, wenn sie in "chrome://" hinterlegt sind. Diese chrome-Pfade weisen nach omni.ja, einem obskuren zip-Format. Du kannst dein Bild einbinden, wenn du es in der entsprechenden omni.ja hinterlegst. Das sind die Schritte:
$ unzip /usr/lib/firefox/browser/omni.ja -d ~/FF57-omnija
$ cp sh8.jpg FF57-omnija/chrome/browser/skin/classic/browser/
$ cd ~/FF57-omnija
$ zip -qr9XD omni.ja *
$ su
# cp omni.ja /usr/lib/firefox/browser/omni.ja
In der userContent.css würde ich es so schreiben:
@-moz-document url(about:newtab), url(about:home) {
	body {
		background-image: url("chrome://browser/skin/sh8.jpg") !important;
		background-repeat: no-repeat !important;
		background-position: 50% 50% !important;
		background-size: cover !important;
		background-color: #2e2e2e !important;
		overflow: hidden !important;
		color: #f7f7f7 !important;
	}
	#newtab-customize-overlay {
		background: #2e2e2e !important;
	}
	.card,
	.prefs-pane .sidebar {
		background-color: #2e2e2e !important;
		color: #f7f7f7 !important;
	}
	.prefs-pane .actions {
		background-color: #2e2e2e !important;
		border-left: 1px solid #ededed;
	}
	.prefs-pane-button button {
		fill: #f0f0f0 !important;
		border: 1px solid #ededed !important;
	}
	.prefs-pane-button button:hover {
		background-color: #8e8e8e !important;
	 	border: 1px solid #ededed !important;
	}
	.context-menu, .section-top-bar .info-option {
		background: #444 !important; /* Farbe Kontextmenue des verwendeten Themes */
		color: #ededed !important;
		font-size: 13px !important;
	}
	#onboarding-notification-bar.onboarding-opened {
		display: none !important; /* Keine Reklame auf der Startseite */
	}
}
(Deine @namespace url-Zeile kann weg.)
Der Vorgang mit der omni.ja muss dann halt nach jedem Firefox-Update erneut durchgeführt werden. Aber das ist ja schnell erledigt.


Edit userContent.css: Farbe der Kontextmenüs angepasst, keine Werbung nach dem Start.
Edit 2 : Kommentarzeichen korrigiert, overflow abgeschnitten.
Hallo, erst einmal vielen Dank für die ausführliche Antwort und Beschreibung. Ich werde mal versuchen, dies heute Abend umzusetzen.