#!/usr/bin/env bash
# refresh_windows_icon_cache — Fuerza a Windows Explorer a recargar la cache
# de iconos desde WSL2. Best-effort: nunca aborta, retorna 0 si alguna
# estrategia tuvo exito.

refresh_windows_icon_cache() {
    # Estrategia 1: ie4uinit.exe -show (Windows 10/11 — emite SHCNE_ASSOCCHANGED)
    if command -v ie4uinit.exe >/dev/null 2>&1; then
        if ie4uinit.exe -show >/dev/null 2>&1; then
            echo "icon cache refresh: ok via ie4uinit -show"
            return 0
        fi

        # Estrategia 2: ie4uinit.exe -ClearIconCache (fallback para builds viejos)
        if ie4uinit.exe -ClearIconCache >/dev/null 2>&1; then
            echo "icon cache refresh: ok via ie4uinit -ClearIconCache"
            return 0
        fi
    fi

    echo "icon cache refresh: failed (ie4uinit.exe not found or all strategies failed)"
    return 1
}

if [[ "${BASH_SOURCE[0]}" == "${0}" ]]; then
    refresh_windows_icon_cache "$@"
fi
