Skip to content

0.1.16.2

Choose a tag to compare

@JJDizz1L JJDizz1L released this 06 Aug 07:24
· 13 commits to dev since this release
e3b19d1

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, so bin/nuvio-linux shipped 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 and libapplauncher.so ship as 0755). The
    .deb had the same latent bug and is fixed too.
  • #8 — stuck fullscreen on KDE (self-heal). Compose's placement write is
    applied off-EDT via GraphicsDevice.setFullScreenWindow and 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=1 logs 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 AWT componentResized and windowState.size is
    re-asserted synchronously. NUVIO_WINDOW_DEBUG=1 also 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_NONREPARENTING in-process
    (JDK 21 reads it via native getenv). Conditional — KDE/GNOME unaffected;
    NUVIO_FORCE_NONREPARENTING=1 overrides; a user-set variable is respected.
  • #12 — screen sleeping during playback (KDE). While media plays the app
    holds a logind Inhibit (sleep:idle) via systemd-inhibit, so KDE
    PowerDevil no longer blanks the screen mid-video; falls back to a
    cookie-based org.freedesktop.ScreenSaver/PowerManagement Inhibit 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 Arch pkgrel, RPM Release and 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.