Remove binary icon asset and align icon config/docs (#18)

This commit is contained in:
Pandipipas
2026-02-11 00:15:35 +01:00
committed by GitHub
parent 1b184bf258
commit f87db975ba
4 changed files with 199 additions and 110 deletions
+49 -35
View File
@@ -9,7 +9,7 @@ Wrapper de Electron para empaquetar una instalación de NodeCG que incluya el bu
## Qué hace
- Arranca `lib/nodecg/index.js` como proceso hijo desde Electron.
- Muestra la ruta de dashboard de carga del bundle (`/bundles/<bundle>/dashboard/loading.html`) servida por NodeCG mientras inicia (no usa un archivo local del wrapper).
- Muestra la ruta de dashboard de carga del bundle (`/bundles/<bundle>/dashboard/loading.html`) servida por NodeCG mientras inicia.
- Carga el dashboard del bundle en `http://localhost:<puerto>/bundles/<bundle>/<ruta-dashboard>`.
- Empaqueta NodeCG + assets dentro de la app final con `electron-builder`.
@@ -24,6 +24,7 @@ scoreko-electron-dev/
│ └─ bundles/
│ └─ scoreko-dev/
├─ src/main/main.ts
├─ static/icons/
└─ package.json
```
@@ -35,61 +36,74 @@ scoreko-electron-dev/
- `npm run pack`: genera app sin instalador.
- `npm run dist`: genera instalador.
- `npm run rebuild:native`: rebuild nativo auxiliar en `lib/nodecg`.
## Variables de entorno útiles
- `NODECG_BUNDLE_NAME` (default: `scoreko-dev`)
- `NODECG_PORT` (default: `9090`)
- `SCOREKO_DASHBOARD_ROUTE` (default: `dashboard/example/main.html?standalone=true`)
- `SCOREKO_LOADING_ROUTE` (default: `dashboard/loading/main.html?standalone=true`)
- `SCOREKO_APP_TITLE` (default: `Scoreko`)
- `SCOREKO_APP_USER_MODEL_ID` (default: `com.scoreko.desktop`)
- `SCOREKO_APP_ICON_PATH` (default: búsqueda automática en `static/icons/icon.ico` y `static/icons/icon.png`)
- `ELECTRON_LOAD_DELAY_MS` (default: `10000`)
- `NODECG_STARTUP_TIMEOUT_MS` (default: `30000`)
- `NODECG_KILL_TIMEOUT_MS` (default: `2500`)
## Assets de íconos incluidos
Se incluye `static/icons/` con placeholder editable:
- `static/icons/icon.svg`
> En este repo no se versionan binarios. Para distribución final agrega localmente `static/icons/icon.ico` (Windows) y/o `static/icons/icon.png` (Linux/macOS runtime).
## Personalización (Windows / Electron)
### 1) Título de la app
- **Durante ejecución**: cambia `SCOREKO_APP_TITLE` para sobreescribir el título de ventana.
- **En instalador y ejecutable**: cambia `build.productName` en `package.json`.
- **Runtime (ventanas):** `SCOREKO_APP_TITLE`.
- **Build (instalador y ejecutable):** `build.productName`.
### 2) Ícono en barra de tareas y esquina superior de la ventana
### 2) Ícono en barra de tareas y esquina superior
Coloca tu icono en uno de estos paths (prioridad de arriba hacia abajo):
Electron toma automáticamente el primer archivo existente en este orden:
- `static/icons/icon.ico`
- `static/icons/icon.png`
- `static/icon.ico`
- `static/icon.png`
1. `SCOREKO_APP_ICON_PATH` (si lo defines)
2. `static/icons/icon.ico`
3. `static/icons/icon.png`
4. `static/icon.ico`
5. `static/icon.png`
Electron tomará automáticamente el primero que exista.
### 3) Ícono del `.exe` y accesos directos
### 3) Ícono del `.exe` (instalador/app empaquetada)
Quedó configurado en `package.json` con `build.win.icon` + `build.nsis.installerIcon`/`uninstallerIcon`.
En `package.json` dentro de `build.win` agrega:
### 4) Nombre/autor del popup de Firewall de Windows
```json
"icon": "static/icons/icon.ico"
```
Ese diálogo usa metadata del ejecutable firmado:
> Recomendado: `.ico` multi-resolución (16/24/32/48/64/128/256).
- Nombre de app: normalmente `build.productName` y metadata del binario.
- Publisher/autor: certificado de firma de código (si no firmas puede verse `Unknown publisher`).
### 4) Texto y autor que muestra el popup del Firewall de Windows
Campos clave a revisar:
Ese diálogo toma datos del ejecutable final:
- `description`
- `author`
- `build.productName`
- `build.win.executableName`
- `build.appId`
- **Nombre de app**: suele venir de `productName` y metadatos del ejecutable.
- **Publisher/Autor**: viene de la **firma de código** (certificado). Sin firma, suele salir `Unknown publisher`.
Además, firma el `.exe` con certificado (`CSC_LINK` / `CSC_KEY_PASSWORD` en `electron-builder`).
Para personalizarlo correctamente en builds de distribución:
## Checklist de personalización extra
1. Ajusta en `package.json`:
- `description`
- `author`
- `build.productName`
2. Firma el `.exe` con un certificado de tu empresa/persona (`CSC_LINK`/`CSC_KEY_PASSWORD` en `electron-builder`).
> Nota: en desarrollo (`npm run start` / `npm run dev`) puedes ver `GitHub, Inc.` porque estás ejecutando el binario de Electron oficial.
### 5) Otros campos personalizables que te conviene revisar
- `build.appId` (identificador único de la app).
- `build.win.executableName` (nombre del ejecutable sin extensión).
- `build.nsis` (nombre del instalador, iconos de instalador/desinstalador, etc.).
- `build.artifactName` (patrón de nombre del archivo de salida).
- `build.appId`
- `build.artifactName`
- `build.win.executableName`
- `build.win.icon`
- `build.nsis` (nombre del setup, íconos, shortcut)
- `build.mac.icon`
- `build.linux.icon`
- `SCOREKO_APP_USER_MODEL_ID`
- `SCOREKO_APP_ICON_PATH`