Seite 2 von 2

Re: Menüleiste in Firefox schmaler machen, aber wie?

Verfasst: 22.06.2025, 17:09
von mpt
wie hoch und breit ist das Tab im originalen Zustand?

Re: Menüleiste in Firefox schmaler machen, aber wie?

Verfasst: 24.06.2025, 12:40
von giolefac
Holgi hat geschrieben: 17.06.2025, 13:46 die von @John-Boy aufgezeigte Seite mit den CC-Hacks ist echt genial.
Insbesondere die Autohide CSS ist super.
Das wollte ich natürlich automatisieren. Da zickt Firefox etwas rum, weil man einige Sicherheitsfunktionen "übertölpeln" muss. Normalerweise kann man die Einstellung

Code: Alles auswählen

"toolkit.legacyUserProfileCustomizations.stylesheets", true
nur in about:config ändern.
Aber es gibt einen anderen Weg über die prefs.js/user.js
Darüberhinaus verwendet Firefox normalerweise dynamische Namen für die Profilordner (abcd1234default-release bzw. abcd1234default). Das kann man mit einer profiles.ini umgehen.
Das nachfolgende Script setzt die Profilordner auf Standardnamen (default-release und default), erstellt die prefs.js und user.js sowie den Ordner "chrome", lädt eine angepasste userChrome.css von der Seite https://funbet-de.com/ herunter, benennt sie um, kopiert sie in den Ordner Chrome und erstellt einen Eintrag user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true) in der Prefs-Datei.
Funktioniert zumindest mit einer frisch aufgesetzten Firefox Installation.

wer das z.B. mal in einer Windows Sandbox ausprobieren möchte, installiert dort zuvor Winget:

Code: Alles auswählen

@Echo off
chcp 1252 >nul 
cmd.exe /c powershell -command "$ProgressPreference = 'SilentlyContinue' ; write-host "Downloade und installiere Abhängigkeiten" ; Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/download/v1.10.390/DesktopAppInstaller_Dependencies.zip -OutFile .\DesktopAppInstaller_Dependencies.zip ; Expand-Archive -Path .\DesktopAppInstaller_Dependencies.zip -Force ; Add-AppXPackage -Path .\DesktopAppInstaller_Dependencies\x64\Microsoft.UI.Xaml.2.8_8.2501.31001.0_x64.appx ; Add-AppXPackage -Path .\DesktopAppInstaller_Dependencies\x64\Microsoft.VCLibs.140.00.UWPDesktop_14.0.33728.0_x64.appx ; write-host "Installiere Winget" ; Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/download/v1.10.390/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -OutFile .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle ; Add-AppXPackage -Path .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle"
dann den Firefox:
Kommandozeile (cmd):

Code: Alles auswählen

winget install --id "Mozilla.Firefox.de" -h --source winget
und dann Firefox_CSS.cmd:

Code: Alles auswählen

@echo off
setlocal enabledelayedexpansion

echo == Firefox Setup beginnt ==

:: --- 1. profiles.ini schreiben ---
set "FF_DIR=%APPDATA%\Mozilla\Firefox"
rmdir "%FF_DIR%\Profiles" /s /q >nul 2>&1
mkdir "%FF_DIR%\Profiles"

echo Erstelle profiles.ini...

(
echo [Install308046B0AF4A39CB]
echo Default=Profiles/default-release
echo Locked=1
echo.
echo [Profile0]
echo Name=default-release
echo IsRelative=1
echo Path=Profiles/default-release
echo Default=1
echo.
echo [Profile1]
echo Name=default
echo IsRelative=1
echo Path=Profiles/default
echo Default=0
echo.
echo [General]
echo StartWithLastProfile=1
echo Version=2
) > "%FF_DIR%\profiles.ini"

:: --- 2. Profilordner erstellen ---
echo Erstelle Profilordner...
mkdir "%FF_DIR%\Profiles\default-release" >nul 2>&1
mkdir "%FF_DIR%\Profiles\default" >nul 2>&1

:: --- 3. Firefox beenden ---
echo Beende Firefox...
taskkill /im firefox.exe /f >nul 2>&1
timeout /t 3 >nul

:: --- 4. Profilpfad ermitteln (default-release bevorzugt) ---
set "INI=%FF_DIR%\profiles.ini"
set "PROFILPFAD="

for /f "tokens=1,* delims==" %%A in ('findstr /i /c:"Path=" "%INI%" ^| findstr /i "default-release"') do (
    set "PROFILPFAD=%%B"
)

if not defined PROFILPFAD (
    for /f "tokens=1,* delims==" %%A in ('findstr /i "^Path=" "%INI%"') do (
        if not defined PROFILPFAD (
            set "PROFILPFAD=%%B"
        )
    )
)

if not defined PROFILPFAD (
    echo Fehler: Profilpfad konnte nicht ermittelt werden.
    pause
    exit /b 1
)

set "PROFILORDNER=%FF_DIR%\%PROFILPFAD%"
set "PREFS=%PROFILORDNER%\prefs.js"
set "USERJS=%PROFILORDNER%\user.js"
set "CHROMEPFAD=%PROFILORDNER%\chrome"

:: --- 5. prefs.js schreiben oder aktualisieren ---
echo Setze Einstellung in prefs.js...

set "TEMPFILE=%TEMP%\prefs_tmp.js"
if exist "!TEMPFILE!" del /f /q "!TEMPFILE!"

set "EINSTELLUNG=user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);"

set "FOUND=0"

if exist "!PREFS!" (
    for /f "usebackq delims=" %%L in ("!PREFS!") do (
        echo %%L | findstr /c:"toolkit.legacyUserProfileCustomizations.stylesheets" >nul
        if errorlevel 1 (
            echo %%L>>"!TEMPFILE!"
        ) else (
            echo !EINSTELLUNG!>>"!TEMPFILE!"
            set "FOUND=1"
        )
    )
    if "!FOUND!"=="0" (
        echo !EINSTELLUNG!>>"!TEMPFILE!"
    )
    copy /y "!PREFS!" "!PREFS!.bak" >nul
    move /y "!TEMPFILE!" "!PREFS!" >nul
) else (
    echo !EINSTELLUNG! > "!PREFS!"
)

:: --- 6. chrome-Ordner erstellen ---
if not exist "%CHROMEPFAD%" (
    echo Erstelle chrome-Ordner...
    mkdir "%CHROMEPFAD%"
)

:: --- 7. CSS-Datei herunterladen ---
echo Lade userChrome.css herunter...
powershell -Command "Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/MrOtherGuy/firefox-csshacks/refs/heads/master/chrome/autohide_toolbox.css' -OutFile '%TEMP%\userChrome.css'"

:: --- 8. CSS verschieben ---
echo Kopiere userChrome.css nach chrome-Ordner...
move /Y "%TEMP%\userChrome.css" "%CHROMEPFAD%\userChrome.css" >nul

:: --- 9. user.js setzen ---
echo Setze Einstellung in user.js...
> "%TEMP%\_new_user.js" (
    if exist "%USERJS%" (
        for /f "usebackq delims=" %%L in ("%USERJS%") do (
            echo %%L | findstr /c:"toolkit.legacyUserProfileCustomizations.stylesheets" >nul
            if errorlevel 1 (
                echo %%L
            )
        )
    )
    echo user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
)
move /Y "%TEMP%\_new_user.js" "%USERJS%" >nul

echo == Vorgang abgeschlossen. Starte Firefox neu. ==
"%programfiles%\Mozilla Firefox\firefox.exe"
exit
bitte beachten:
euer Profilordner wird gelöscht. Von daher vorher sichern, oder eben in einer VM/Sandbox ausprobieren!!
Wer einen anderen Stylesheet benötigt, ändert einfach die Downloadadresse im Script. hier:
https://raw.githubusercontent.com/MrOth ... oolbox.css
Viel Spaß bei Ausprobieren!
Vielen Dank, alles klar und verständlich!