Commit Graph

544 Commits

Author SHA1 Message Date
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
Michel Abboud
c1d3f8e886 feat: Add multi-version compose structure with organized data folders
- Add compose/ folder with modular compose files for all Windows versions
- Organize by category: desktop, legacy, server, tiny
- Create data/ subfolders for each version's storage
- Update .gitignore to track folder structure via .gitkeep files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:37:10 +00:00
Michel Abboud
acdeb62db2 docs: Add CLAUDE.md for Claude Code guidance
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 22:29:45 +00:00
Azim Muradov
588969ae5f
fix: Path to "Desktop" folder on Windows XP (#1625)
Fix path to "Desktop" folder to work correctly with different locales on Windows XP.
2026-01-13 13:43:48 +01:00
Kroese
c7aac1edcf
build: Update QEMU base image to v7.29 (#1583)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled
2025-11-22 05:02:48 +01:00
renovate[bot]
ea03c67a04
chore(deps): update actions/checkout action to v6 (#1580) 2025-11-21 12:38:58 +01:00
Gamal Moussa
bdb0488151
refactor: replace PID cleanup with loop (#1579) 2025-11-20 08:49:24 +01:00
Kroese
ad6f87046a
build: Update VirtIO drivers to v1.9.49 (#1570) 2025-11-14 07:18:24 +01:00
Kroese
e7a3894210
fix: Update Workspaces configuration (#1569) 2025-11-14 06:26:07 +01:00
Kroese
8443559a76
build: Update QEMU base image to v7.28 (#1562) 2025-11-12 07:08:22 +01:00
Kroese
6dbac13cd1
fix: Use pcnet network adapter for Win9x (#1558) 2025-11-07 06:06:01 +01:00
Kroese
fd907bb78a
feat: Update Windows Server download links (#1555) 2025-11-06 01:27:27 +01:00
Kroese
1a6a2dbad0
build: Use Github token (#1539) 2025-10-29 14:06:26 +01:00
Kroese
11a19f6a9d
fix: Remove unnecessary operation (#1534) 2025-10-24 04:33:47 +02:00
Kroese
544501107a
feat: Check if shared folder is writeable (#1531) 2025-10-22 12:19:39 +02:00
Kroese
122d1ff98e
fix: Inherit owner from parent folder (#1526) 2025-10-22 10:06:26 +02:00
Kroese
c1c44c4da7
build: Add code quality checks (#1529) 2025-10-22 01:23:25 +02:00
Kroese
f661df3abc
build: Update QEMU base image to v7.27 (#1528) 2025-10-21 23:19:54 +02:00
Kroese
a0bcd719be
build: Add review workflow for shell formatting (#1527) 2025-10-21 22:46:06 +02:00
Kroese
9236127a86
fix: Add SELinux warning for shared folder (#1522)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled
2025-10-20 14:50:37 +02:00
Kroese
fa606aec53
build: Update wsddn package to v1.22 (#1521) 2025-10-20 14:48:46 +02:00
Kroese
8790b4ec7c
fix: Remove SeaBIOS control characters (#1520) 2025-10-20 13:59:27 +02:00
Kroese
e3cf3ccf3d
docs: Update docker run command (#1519) 2025-10-20 12:29:03 +02:00
Kroese
b244fa544f
build: Update QEMU base image to v7.26 (#1517) 2025-10-19 18:01:17 +02:00
Kroese
4cb7e1074f
fix: Kill QEMU after 5 seconds if it hangs (#1516) 2025-10-19 17:57:18 +02:00
Kroese
ac106067bd
feat: Display ESD processing progress (#1514) 2025-10-19 17:47:44 +02:00
Kroese
0e95680704
fix: Kill QEMU after 5 seconds when it hangs (#1515) 2025-10-19 16:59:48 +02:00
Kroese
5476760551
feat: Update Tiny11 version to 25H2 (#1513) 2025-10-19 13:16:22 +02:00
Kroese
0caa4d76b8
feat: Improve Github Codespaces configuration (#1512) 2025-10-19 12:49:32 +02:00
Kroese
4e0a29605b
feat: Display extraction progress (#1511) 2025-10-19 11:08:57 +02:00
Kroese
c3ba25bfb7
feat: Improve Github Codespaces configuration (#1510) 2025-10-19 10:50:46 +02:00
Kroese
10449a3d29
feat: Improve Github Codespaces configuration (#1506) 2025-10-19 01:31:23 +02:00
Kroese
b998cd4c7f
fix: Remove version variable in Codespaces (#1500) 2025-10-17 19:03:03 +02:00
Kroese
6f84823117
build: Update QEMU base image version to v7.25 (#1496) 2025-10-17 13:45:46 +02:00
Kroese
c997bf7765
feat: Improve Github Codespaces configuration (#1497) 2025-10-17 13:42:41 +02:00
Kroese
c6a8c0b702
feat: Load memory module (#1495) 2025-10-17 13:38:11 +02:00
Kroese
f1ea8ee227
build: Update VirtIO drivers to v1.9.48 (#1494) 2025-10-17 12:53:48 +02:00
Kroese
0ab3198ded
build: Validate JSON and YML files (#1493) 2025-10-17 10:05:12 +02:00
Kroese
42a149d7b9
feat: Make Windows version selectable in Codespaces (#1489) 2025-10-16 10:54:06 +02:00
Kroese
0b0de7de14
feat: Improve Github Codespaces configuration (#1488) 2025-10-16 00:03:24 +02:00
Kroese
8472d700dc
feat: Improve Github Codespaces configuration (#1487) 2025-10-15 23:47:29 +02:00
Kroese
ab457abc3c
feat: Add custom .yml for Github Codespaces (#1486) 2025-10-15 21:54:52 +02:00
Kroese
70dce80aec
docs: Readme (#1484)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled
2025-10-15 13:15:31 +02:00
Kroese
5e2ca4c1b6
build: Update QEMU base image to v7.24 (#1476) 2025-10-13 15:06:21 +02:00
Kroese
3c029582d6
build: Update QEMU base image version to v7.23 (#1470) 2025-10-12 02:03:16 +02:00
Kroese
8846aad171
build: Run check for all files (#1469)
Removed specific paths from pull request triggers.
2025-10-12 00:22:18 +02:00
Kroese
44dd2b67c8
docs: Update image link (#1468)
Some checks failed
Update / dockerHubDescription (push) Has been cancelled
2025-10-11 17:33:02 +02:00