Commit graph

12 commits

Author SHA1 Message Date
Michel Abboud
a51651e34a fix: Use US spelling 'Canceled' instead of 'Cancelled'
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 13:43:21 +00:00
Michel Abboud
fd2100193a feat: Add ARM64 support section to help output
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 12:31:16 +00:00
Michel Abboud
6a0b6a1511 feat: Add ARM64 architecture auto-detection and image selection
Auto-detect machine architecture via uname and use the correct Docker
image (dockurr/windows for x86, dockurr/windows-arm for ARM64). Block
unsupported versions on ARM with a clear error message, and show
[x86 only] tags in the list command. Compose files now use a
configurable WINDOWS_IMAGE variable with a default fallback.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 07:24:03 +00:00
Michel Abboud
d75f6b23b1 fix: Replace all echo with printf for reliable ANSI color output
- Changed color definitions from '\033[...]' to $'\033[...]'
  (actual escape bytes instead of literal strings)
- Replaced all display echo -e/echo -n/echo with printf
- Kept echo only for function return values and JSON output
- Fixes ANSI escape codes showing as raw text in list/inspect/monitor

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 01:51:05 +00:00
Michel Abboud
8864309c7d feat: Add 'stop all' to stop all running containers
- ./winctl.sh stop all finds and stops all running containers
- Updated help, WINCTL_GUIDE.md, and readme.md

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:54:47 +00:00
Michel Abboud
5b274afbba fix: Monitor command exiting immediately due to arithmetic error
- Changed post-increment to pre-increment in cmd_monitor
  ((total_count++)) → ((++total_count)) to avoid set -e exit on ((0))
- Added invalidate_cache for accurate real-time status updates

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 00:32:34 +00:00
Michel Abboud
e78fed6bd3 feat: Auto-create data directory before starting container
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:55:51 +00:00
Michel Abboud
620cda9282 fix: Use printf for ANSI colors in interactive menus
Replace echo with printf '%b' in select_category and select_versions
to properly interpret ANSI escape sequences.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:38:36 +00:00
Michel Abboud
978abbe7ec feat: Add JSON file cache for container status
- Cache container statuses in ~/.cache/winctl/status.json
- Auto-refresh if cache older than 7 days or data is stale
- Add 'refresh' command to force cache refresh
- Dramatically faster menus (single Docker call vs 44 calls)
- Bump version to 1.1.0

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:35:28 +00:00
Michel Abboud
b06f53cb17 fix: Interactive menu not displaying and slow status checks
- Send menu prompts to stderr so they display in terminal
- Read user input from /dev/tty for proper interactive mode
- Add status cache to fetch all container states in one Docker call
- Handle interactive_select errors properly in all callers

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:28:56 +00:00
Michel Abboud
f642f8faa2 fix: Escape ANSI color codes properly in help output
Use printf '%b' instead of cat heredoc to properly interpret
ANSI escape sequences in the show_usage function.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:22:18 +00:00
Michel Abboud
effdbe0f6f feat: Add winctl.sh management script and multi-version setup
Add winctl.sh with 12 commands for managing Windows Docker containers:
- start, stop, restart, status, logs, shell, stats
- build, rebuild, list, inspect, monitor, check
- Interactive menus, prerequisites checking, color output
- Support for 22 Windows versions across 4 categories

Multi-version compose structure:
- Split base.yml into base-modern.yml (8G) and base-legacy.yml (2G)
- Add .env.example for configuration
- Update all compose files to use env_file
- Add unique port mappings per version
- Update README with winctl.sh documentation

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 23:14:45 +00:00