Commit graph

4 commits

Author SHA1 Message Date
X9 Dev
d06af1a87f gui: auto-reboot after deployment with 60s countdown
All checks were successful
release / build-and-release (push) Successful in 22s
Summary screen shows countdown "Restart za Xs..." and reboots automatically.
Buttons: "Restartovat ted" (immediate) and "Zrusit restart" (cancel).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 14:30:15 +02:00
X9 Dev
cf2037ae7d Replace Fyne GUI with Walk (Win32 native, no OpenGL)
All checks were successful
release / build-and-release (push) Successful in 22s
Walk uses Win32 controls directly — no GPU/OpenGL dependency — so the app
renders correctly on VMware ESXi, Hyper-V and any other VM. No MinGW needed
in CI; pure cross-compile with GOOS=windows.

- internal/gui/gui.go: rewrite with Walk declarative API (3 phases:
  form → live run → summary); load/save config via native FileDialog;
  Closing event cancels running scripts cleanly
- cmd/xetup/app.manifest: UAC requireAdministrator + ComCtl32 v6 +
  per-monitor DPI awareness (rsrc generates rsrc.syso in CI)
- .forgejo/workflows/release.yml: drop MinGW, add rsrc generation step
- go.mod/go.sum: remove Fyne and all its deps; only Walk (3 deps total)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 13:50:16 +02:00
X9 Dev
54ea9a1b0d gui: force software renderer for VM compatibility
All checks were successful
release / build-and-release (push) Successful in 8m25s
VMware SVGA II (ESXi) and similar virtual GPUs don't support the OpenGL
version Fyne needs - window opens but stays blank. Force FYNE_RENDERER=software
so Fyne uses CPU/GDI rendering instead. No visible difference for this UI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 12:47:28 +02:00
X9 Dev
0cc4779ed6 Replace bubbletea TUI with Fyne GUI
All checks were successful
release / build-and-release (push) Successful in 8m25s
- Drop bubbletea, huh, lipgloss and all their transitive deps
- Add fyne.io/fyne/v2 – native Windows GUI, dark theme
- New internal/gui/gui.go: 3-phase window (form → live run → summary)
  - Form: PC name, product key, profile, per-step checkboxes
  - Load config / Save config buttons for per-client presets
  - SPUSTIT button auto-saves to default config.json
  - Live run: virtualised log list, ZASTAVIT button
  - Summary: per-step status + elapsed time, ZAVRIT button
- cmd/xetup/main.go: pass cfgPath to gui.Run so save/load works
- CI: add mingw-w64-gcc, CGO_ENABLED=1, -H windowsgui flag

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 12:29:38 +02:00