0.1.16.2
Nuvio Linux 0.1.16.2
Package-only hotfix release of 0.1.16-alpha (release 3) — addresses the RPM
executable-permission bug (issue #11) and ships several playback/windowing
fixes accumulated since v0.1.16.1. All artifacts share release number 3.
Fixes & features
- #11 — RPM installs a non-executable launcher (fixed).
copyRecursively
reset file permissions to 0644, sobin/nuvio-linuxshipped as 0744
(owner-exec only) and non-root users got "missing executable permissions"
when launching from KDE/dnf. The payload now re-applies executable bits
from the app image (launcher andlibapplauncher.soship as 0755). The
.debhad the same latent bug and is fixed too. - #8 — stuck fullscreen on KDE (self-heal). Compose's placement write is
applied off-EDT viaGraphicsDevice.setFullScreenWindowand never
verified; rapid toggling or monitor switches could drop the exit
transition. Toggles are debounced (250 ms) and the real AWT state is
verified 150 ms after each transition, force-correcting the WM if it
didn't honor the request.NUVIO_FULLSCREEN_DEBUG=1logs the toggle path. - #7 — XWayland sizing (niri et al.). The Compose layout size lags the
compositor-assigned bounds by one event; the video render buffer is now
driven straight from AWTcomponentResizedandwindowState.sizeis
re-asserted synchronously.NUVIO_WINDOW_DEBUG=1also logs a 1 s tick to
capture stuck states. - Tiling window managers (niri, sway, i3, bspwm, …). AWT assumes a
reparenting WM; on tiling compositors it can render into a small box in
the corner of the window. The app now detects non-reparenting WMs before
the first AWT access and enables_JAVA_AWT_WM_NONREPARENTINGin-process
(JDK 21 reads it via native getenv). Conditional — KDE/GNOME unaffected;
NUVIO_FORCE_NONREPARENTING=1overrides; a user-set variable is respected. - #12 — screen sleeping during playback (KDE). While media plays the app
holds a logindInhibit(sleep:idle) viasystemd-inhibit, so KDE
PowerDevil no longer blanks the screen mid-video; falls back to a
cookie-basedorg.freedesktop.ScreenSaver/PowerManagementInhibit via
gdbus inside the Flatpak sandbox. Released on pause/EOF/dispose. - Cursor auto-hide. The OS cursor is hidden (blank 1×1) while the
playback controls overlay is hidden and restored on mouse movement, focus
changes and dispose. - Packaging. A single release counter (
NUVIO_PACKAGE_RELEASE, now 3)
drives the Archpkgrel, RPMReleaseand the DEB/AppImage/Flatpak
filenames so every artifact carries the same release number.
Changelog
e3b19d1f fix(display): enable AWT non-reparenting mode on tiling WMs
da5807de feat(player): keep the desktop awake during playback (issue #12)
b5946f02 feat(player): hide cursor with the playback controls overlay
73871ff2 fix(player): sync render surface size from AWT window (issue #7)
40e56388 fix(player): self-heal dropped fullscreen transitions on KDE (issue #8)
9ed610b7 build(packaging): single package release counter across all formats
572190b2 fix(packaging): restore executable bit in rpm/deb payload (issue #11)
Artifacts
nuvio-linux-0.1.16alpha-3-x86_64.pkg.tar.zst (Arch; signed, .sig attached)
nuvio-linux-0.1.16alpha-3.x86_64.rpm (Fedora/RHEL, Requires: mpv)
nuvio-linux_0.1.16-alpha-3_amd64.deb (Debian/Ubuntu, Depends: mpv)
nuvio-linux-0.1.16-alpha-3-x86_64.AppImage
nuvio-linux-0.1.16-alpha-3.flatpak
nuvio-linux-gpg-key.asc (packaging signing key)
SHA256SUMS.txt
Issue #11: install the RPM (or the Arch/deb package) and relaunch —
the launcher is executable for all users again.