v0.7.1
[0.7.1] - 2026-06-13
Added
- Quick app launcher (
winpodx launch). A Start-menu-style picker for your Windows apps — search, category pills, reveal-highlight tiles, and a compact mode — sourced from the same app registry as the main GUI and launched throughwinpodx app run. Bind it to a desktop-environment custom shortcut (KDE/GNOME) for a system-wide hotkey; no extra dependencies and Wayland-safe (#561). - Automatic file associations — discovered Windows apps now appear in your file manager's "Open with" menu (#545). On by default; disable with
winpodx config set desktop.mime_associations falseor the GUI Settings toggle. Apps are only added to the "Open with" / Recommended list — winpodx never sets a Windows app as the default handler for a type. The associations are read live from Windows and unioned across every place an app declares what it can open (per-extensionUserChoice, per-appCapabilities\FileAssociations,Applications\<exe>\SupportedTypes, and the UWP AppxManifestwindows.fileTypeAssociation), so e.g..pngoffers Paint/Photos/Snipping Tool,.pdfoffers Edge,.txtoffers Notepad. Extensions are mapped to MIME types via the systemshared-mime-infodatabase (no hardcoded tables), and the change auto-applies on the nextinstall.shupdate via the discovery refresh — no manualapp refresh. - GUI app management — reset, custom icons, and multi-select (#530). Per-app Reset to detected restores the auto-discovered name/icon; a custom icon picker overrides the icon; multi-select enables bulk Hide selected / Remove selected; and removed apps land in a restore list so a deletion can be undone (plus a full re-detect button). Checkboxes now use a visible (contrasting) colour.
winpodx doctorwarns on an old FreeRDP build with broken RemoteApp windows (#546). A nativexfreerdp3.x below 3.6.0 (e.g. the 3.5.1 that Ubuntu/Budgie 24.04 ships via apt) has RAIL window-mapping bugs that leave a RemoteApp connected but its window never shown. doctor now flags this as a warning (not a failure) and points to an upgrade or the winpodx AppImage.- Checksum-gated periodic icon refresh. Discovered-app icons re-sync from the guest only when the source executable's checksum changes, so a routine refresh no longer rewrites unchanged icons (#539).
Fixed
winpodx guino longer blocks the terminal (#549). Launched from a shell it now detaches into its own session, brings up the tray + dashboard, and returns the prompt immediately..desktopautostart and the quick launcher already ran it detached;winpodx gui --foregroundkeeps it attached for debugging.install.sh --main(and--ref/--source/--image-tar) is honoured on Atomic Fedora (#548). rpm-ostree systems (Silverblue/Kinoite/Bazzite/...) defaulted to the OBS RPM and ignored an explicit source override; the RPM only ships tagged releases, so--maincould never reach you. The rpm-ostree path is now gated on those flags being unset, so custom-image builders can layer winpodx from source. Default Atomic installs are unchanged.install.shauto-loads thekvmmodule when/dev/kvmis missing but the CPU supports virtualization (#541).- Bare-metal disguise no longer crash-loops the container (#246 follow-up). After winpodx re-writes the synthetic SMBIOS blob, the file is relabelled so the container can read it back; a stale label previously broke the next boot.
winpodx doctorno longer flags intentionally hidden apps as missing desktop entries (#535).uninstall.shnow removes everything winpodx creates — the consolidated "WinPodX" menu folder (.directory/.menufragments, which otherwise left an empty submenu), stalemimeapps.listhandler entries, and (on--purge) the/etc/modules-load.d/winpodx-kvm.confdrop-in.- A discovered app name can no longer inject extra keys into its
.desktoplauncher. Control characters in the guest-supplied name are stripped from theName=field, matching the existingComment=handling (hardening; a hostile guest is required to trigger it).
Changed
winpodx guidetaches by default for interactive launches, with--foregroundto opt out (#549).
Contributors
Thanks to @MirzaAyBaig12 for contributing the app launcher (#561) and for reporting #530, #535, and #545; to @hermitguo for reporting #541 and #546; to @notnotno for reporting #548; and to @ismikes for reporting #549.