Files
fn_registry/bash/functions/infra/refresh_windows_icon_cache.md
T

2.2 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, params, output
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path params output
refresh_windows_icon_cache function bash infra 1.0.0 impure refresh_windows_icon_cache() -> void Fuerza a Windows Explorer a recargar la cache de iconos desde WSL2 via ie4uinit.exe. Best-effort: nunca aborta, retorna 0 si alguna estrategia tuvo exito.
windows
wsl
deploy
shell
icons
cpp-windows
false error_go_core
false
bash/functions/infra/refresh_windows_icon_cache.sh
0 si al menos una estrategia tuvo exito, non-zero si todas fallaron. Imprime una linea de estado en stdout.

Ejemplo

source bash/functions/infra/refresh_windows_icon_cache.sh
refresh_windows_icon_cache
# icon cache refresh: ok via ie4uinit -show

O directamente via fn run:

./fn run refresh_windows_icon_cache_bash_infra

Uso tipico en un pipeline de redeploy tras reconstruir el .exe:

source bash/functions/infra/deploy_cpp_exe_to_windows.sh
source bash/functions/infra/refresh_windows_icon_cache.sh

deploy_cpp_exe_to_windows "registry_dashboard" "apps/registry_dashboard"
refresh_windows_icon_cache

Cuando usarla

Despues de redeployar un .exe Windows cuyo appicon.ico cambio (via windres embebido en el build), antes de que Windows muestre el icono nuevo en taskbar, Alt+Tab y File Explorer. Sin esta llamada Windows puede tardar minutos en reflejar el icono actualizado, o no actualizarlo hasta reiniciar Explorer.

Gotchas

  • ie4uinit.exe debe estar en el PATH de WSL2 (normalmente via /mnt/c/Windows/System32/). Si Windows esta muy roto puede no encontrarse — la funcion retornara 1 con mensaje de error.
  • El cambio puede tardar 1-2 segundos en propagarse visualmente despues de que la funcion retorne.
  • Algunos casos extremos (icono cacheado en el dockable taskbar previamente fijado) requieren desanclar y volver a anclar el ejecutable, o reiniciar explorer.exe. Esta funcion no mata Explorer — seria demasiado disruptivo.
  • Solo funciona desde WSL2 con acceso a herramientas Windows (/mnt/c/Windows/System32/ en PATH). No tiene efecto en Linux nativo.