How ceuw/winmedia-linux works
WinMedia Linux is a Linux desktop application for inspecting Windows installation media and planning USB creation under safety gates. The principal workflow runs from the GUI through local ISO selection or explicit-URL download, checksum verification, read-only device discovery, and guarded USB planning; actual disk writes are fail-closed. The graph preserves documented planning stages and diagnostics, but only asserts source relationships visible in excerpts or the source index; unsampled integrations and implementation details are left unlinked.
Main entry points: usb_manager.py USB plan guards · main_window.py Main window · download_page.py Download page · usb_page.py USB page
Components 20
Application UI
- Application entry
src/winmedia/main.py - Main window
src/winmedia/gui/main_window.py - Theme styling
src/winmedia/gui/styles.py
ISO Workflow
- Download page
src/winmedia/gui/download_page.py - HTTP downloader
src/winmedia/core/downloader.py - ISO inspection
src/winmedia/core/iso_manager.py - SHA-256 verifier
src/winmedia/core/verifier.py
USB Planning
- USB page
src/winmedia/gui/usb_page.py - Device detection
src/winmedia/services/device_detection.py - USB plan guards
src/winmedia/core/usb_manager.py - Partition planning
src/winmedia/core/partition_manager.py - Boot planning
src/winmedia/core/bootloader.py - WIM planning
src/winmedia/core/wim_handler.py
System Services
- Settings page
src/winmedia/gui/settings_page.py - Dependency checks
src/winmedia/services/dependency_checker.py - Logging setup
src/winmedia/utils/logging_config.py - App paths
src/winmedia/utils/paths.py
Other components
- Desktop user
- Linux tools
- Local files
Connections 24
- Desktop user → Application entry: launches
README.md - Application entry → Main window: opens
src/winmedia/main.py - Application entry → Logging setup: configures
src/winmedia/main.py - Main window → Download page: instantiates
src/winmedia/gui/main_window.py - Main window → USB page: instantiates
src/winmedia/gui/main_window.py - Main window → Settings page: instantiates
src/winmedia/gui/main_window.py - Main window → Theme styling: applies
src/winmedia/gui/main_window.py - Download page → HTTP downloader: starts downloads
src/winmedia/gui/download_page.py - Download page → ISO inspection: inspects ISO
src/winmedia/gui/download_page.py - Download page → SHA-256 verifier: verifies hash
src/winmedia/gui/download_page.py - Download page → Local files: selects ISO
README.md - HTTP downloader → Local files: saves download
- USB page → Device detection: scans devices
src/winmedia/gui/usb_page.py - USB page → USB plan guards: requests plan
src/winmedia/gui/usb_page.py - USB page → ISO inspection: checks source ISO
src/winmedia/gui/usb_page.py - USB plan guards → Device detection: validates target
src/winmedia/core/usb_manager.py - USB plan guards → Partition planning: plans layout
src/winmedia/core/usb_manager.py - USB plan guards → Boot planning: plans boot
src/winmedia/core/usb_manager.py - USB plan guards → WIM planning: plans WIM
src/winmedia/core/usb_manager.py - USB plan guards → Linux tools: checks tools
src/winmedia/core/usb_manager.py - Device detection → Linux tools: reads lsblk
README.md - Settings page → Dependency checks: runs checks
src/winmedia/gui/settings_page.py - Dependency checks → Linux tools: checks availability
README.md - Logging setup → App paths: gets log path
src/winmedia/utils/logging_config.py