Seite 1 von 1

MS Edge Chromium Avatar Auswahl und Avatar Icon rechts

Verfasst: 05.01.2025, 20:21
von Holgi
mal etwas Nischiges:
wenn man nicht mit einem Microsoft Account im Edge unterwegs ist, dann kann man sich unter Einstellungen > Profile > Ihr Profil eine begrenzte Auswahl von Avataren aussuchen (die ich allesamt nicht sehr gelungen finde).
Sieht so aus:
Avatar0.JPG
Aber es gehen noch ein paar Avatare mehr, als wie dort angeboten.
Dafür habe ich mir unter Zuhilfenahme von ChatGPT mal ein kleines Powershell Script erstellt.
Es bietet nach dem Start eine größere Auswahl von Avataren

Code: Alles auswählen

    0  = "default hell"; 1 = "Notenschlüssel"; 2 = "Herzpfeil"; 3 = "Blume"; 4 = "Regenwolke"
    5  = "Ball"; 6 = "Globus"; 7 = "heisse Tasse"; 8 = "Schach"; 9 = "Obstschale"
    10 = "Gamepad"; 11 = "Luftballons"; 12 = "Flugzeug"; 13 = "Eichenblatt"; 14 = "Surprise"
    15 = "Roboter"; 16 = "Eistüte"; 17 = "Gitarre"; 18 = "Kopfhörer"; 19 = "Auto"
    20 = "default"; 21 = "Hund"; 22 = "Katze"; 23 = "default"; 24 = "Igel"
    25 = "Astronaut"; 26 = "Ninja"; 27 = "Yeti"; 28 = "Dino"; 29 = "Kaffeetasse"
    30 = "Melone"; 31 = "Donut"; 32 = "Sushi"; 33 = "Schultüte"; 34 = "Silhouette Stadt"
    35 = "Basketball"; 36 = "Fußball"; 37 = "Taschenrechner"; 38 = "Bleistift"; 39 = "Kaktus"
    40 = "Kannabis"; 41 = "default"
und setzt das Avatar Icon wieder von links nach rechts, so wie es früher war.
https://www.deskmodder.de/blog/2023/03/ ... -schalter/
Vorher:
Avatar1.JPG
nachher:
Avatar2.JPG
Hier das Script:
edit Profile Icon.ps1

Code: Alles auswählen

# Pfad zur Local State Datei
$LocalStatePath = "$env:LOCALAPPDATA\\Microsoft\\Edge\\User Data\\Local State"

# Überprüfen, ob die Datei existiert
if (!(Test-Path $LocalStatePath)) {
    Write-Host "Die Datei 'Local State' wurde nicht gefunden." -ForegroundColor Red
    Pause
    Exit
}

# Avatar-Optionen anzeigen
Write-Host "Wählen Sie einen Avatar aus:" -ForegroundColor Green
$Avatars = @{
    0  = "default hell"; 1 = "Notenschlüssel"; 2 = "Herzpfeil"; 3 = "Blume"; 4 = "Regenwolke"
    5  = "Ball"; 6 = "Globus"; 7 = "heisse Tasse"; 8 = "Schach"; 9 = "Obstschale"
    10 = "Gamepad"; 11 = "Luftballons"; 12 = "Flugzeug"; 13 = "Eichenblatt"; 14 = "Surprise"
    15 = "Roboter"; 16 = "Eistüte"; 17 = "Gitarre"; 18 = "Kopfhörer"; 19 = "Auto"
    20 = "default"; 21 = "Hund"; 22 = "Katze"; 23 = "default"; 24 = "Igel"
    25 = "Astronaut"; 26 = "Ninja"; 27 = "Yeti"; 28 = "Dino"; 29 = "Kaffeetasse"
    30 = "Melone"; 31 = "Donut"; 32 = "Sushi"; 33 = "Schultüte"; 34 = "Silhouette Stadt"
    35 = "Basketball"; 36 = "Fußball"; 37 = "Taschenrechner"; 38 = "Bleistift"; 39 = "Kaktus"
    40 = "Kannabis"; 41 = "default"
}

# Avatare in nebeneinander liegender Form anzeigen
$FormattedAvatars = $Avatars.GetEnumerator() | Sort-Object Key | ForEach-Object {
    "{0,-2}: {1,-18}" -f $_.Key, $_.Value
} | ForEach-Object -Begin { $Line = "" } -Process {
    $Line += $_ + "   "
    if ($Line.Length -gt 120) { Write-Host $Line -ForegroundColor Cyan; $Line = "" }
} -End {
    if ($Line -ne "") { Write-Host $Line -ForegroundColor Cyan }
}

# Benutzer zur Eingabe auffordern
do {
    $Choice = Read-Host "Geben Sie die Ziffer des gewünschten Avatars ein (0-41)"
    $IsNumber = $Choice -match "^[0-9]+$" -and [int]$Choice -ge 0 -and [int]$Choice -le 41
} while (-not $IsNumber)

# Konvertiere $Choice in Integer
$Choice = [int]$Choice

# Prüfen, ob Avatar existiert
if (-not $Avatars.ContainsKey($Choice)) {
    Write-Host "Fehler: Der gewählte Avatar existiert nicht in der Liste!" -ForegroundColor Red
    Pause
    Exit
}


# Local State Datei lesen
try {
    $JsonData = Get-Content -Path $LocalStatePath -Raw | ConvertFrom-Json -ErrorAction Stop
} catch {
    Write-Host "Fehler beim Lesen der Datei 'Local State'. Überprüfen Sie die Datei." -ForegroundColor Red
    Pause
    Exit
}

# Avatar-Icon ändern
$NewAvatar = "chrome://theme/IDR_PROFILE_AVATAR_$Choice"
$Updated = $false
if ($JsonData.profile.info_cache) {
    foreach ($Profile in $JsonData.profile.info_cache.PSObject.Properties) {
        if ($Profile.Value.avatar_icon) {
            $Profile.Value.avatar_icon = $NewAvatar
            $Updated = $true
        }
    }
}

if (-not $Updated) {
    Write-Host "Kein Eintrag für 'avatar_icon' gefunden." -ForegroundColor Yellow
    Pause
    Exit
}

# Abschnitt "phoenix" prüfen oder hinzufügen
if (-not $JsonData.psobject.Properties["phoenix"]) {
    $JsonData | Add-Member -MemberType NoteProperty -Name "phoenix" -Value @{
        avatar_icon_move_enabled = $false
        rounded_frame_enabled = $false
    }
    Write-Host "Abschnitt 'phoenix' hinzugefügt." -ForegroundColor Green
} else {
    # Abschnitt "phoenix" existiert, Werte prüfen
    if ($JsonData.phoenix.avatar_icon_move_enabled -eq $true) {
        $JsonData.phoenix.avatar_icon_move_enabled = $false
        Write-Host "Wert 'avatar_icon_move_enabled' auf 'false' gesetzt." -ForegroundColor Green
    } else {
        Write-Host "Wert 'avatar_icon_move_enabled' war bereits 'false'." -ForegroundColor Yellow
    }
}

# Geänderte Datei speichern
try {
    $JsonData | ConvertTo-Json -Depth 10 | Set-Content -Path $LocalStatePath -Force -Encoding UTF8
    Write-Host "Avatar erfolgreich auf '$($Avatars[$Choice])' gesetzt!" -ForegroundColor Green
    Write-Host "Abschnitt 'phoenix' erfolgreich aktualisiert!" -ForegroundColor Green
} catch {
    Write-Host "Fehler beim Speichern der Datei 'Local State'." -ForegroundColor Red
    Pause
    Exit
}

# Microsoft Edge automatisch starten
try {
    Start-Process "msedge.exe"
    Write-Host "Microsoft Edge wurde erfolgreich gestartet." -ForegroundColor Green
} catch {
    Write-Host "Fehler beim Starten von Microsoft Edge. Überprüfen Sie, ob Edge installiert ist." -ForegroundColor Red
pause
}

exit
vlt. kann es ja jemand von auch gebrauchen. Viel Spaß damit.
PS: die Bezeichnungen der AVATARE sind mir nicht so gelungen. Teilweise konnte ich nicht mal erkennen, was sie eigentlich darstellen sollen. Verbesserungsvorschläge sind herzlich willkommen.
Vlt. weiß ja auch jemand, wie man ein eigenes Profilbild anstelle eines Avatars per Script dareinbekommt? Muss irgendwas mit

Code: Alles auswählen

            "gaia_picture_file_name": "User.png",
            "has_migrated_to_gaia_info": true,
            "use_gaia_picture": true,
in der Datei Local State zu tun haben.

Re: MS Edge Chromium Avatar Auswahl und Avatar Icon rechts

Verfasst: 20.02.2025, 08:42
von GustavGast
Moin,
es gab vor ewigen Zeiten mal einen Test für die Canary. War extra für lokale Konten gedacht.
Probiert habe ich es nie so wirklich und ob das Feature weitergereicht wurde in andere Versionen oder überhaupt noch vorhanden ist, weiß ich nicht.
Aber vielleicht kannst du ja was damit anfangen.

--enable-features=msAvatarCustomizationAllowed

Re: MS Edge Chromium Avatar Auswahl und Avatar Icon rechts

Verfasst: 20.02.2025, 10:10
von Holgi
Danke! Werde ich mal testen.