Skip to content

v1.2.0

Choose a tag to compare

@nikitapn nikitapn released this 10 Oct 20:44
· 126 commits to main since this release

LavaUI v1.2.0

24 commits since v1.1.1.

Desktop

  • Lava surfaces are damaged per 32 px tile instead of whole, so a caret
    blink or a clock no longer recomposites the window. Frost refreshes only
    for paints behind a frosted window. LAVA_FULL_DAMAGE=1 for the old path.
  • Idle clients stop polling: no 50 ms lease watch, heartbeats only from the
    supervised panel and dock, and GLib is pumped when the bus delivers
    rather than on a timer (panel ~48 -> 6 wakeups/s, LavaTerm ~58 -> 11).
  • Images are decoded off the compositor's loop (Compositor.GetImages): a
    24-megapixel JPEG stalled every window for 609 ms, now 70-100 ms.
  • The launcher and the switcher open maximized, which fixes the dimmed ring
    and rounded corner the launcher's drop shadow drew around it. New IDL
    call SetMaximized.
  • LavaShot opens fullscreen instead of jumping to it, and labels keep the
    keyboard.
  • LavaDebug is packaged as a desktop app, with an icon.
  • The app list finds Flatpak desktop entries.

LavaExplorer

  • Extract Here, Compress... (zip, tar.*, 7z; AES-256 zip passwords),
    locked zips, double-click to extract, Cancel. New LavaArchive target
    over libarchive.
  • Folders refresh themselves through inotify.
  • Listing from lstat: 100,000 files 50.9 s -> 255 ms.
  • Thumbnails from the freedesktop cache, an icon view, and each folder's
    view remembered between launches.

LavaUI

  • TextField(secure:).
  • ScrollView(indicatorInset:) keeps the bar clear of a rounded
    container's corners.
  • Centred and trailing wrapped labels align each row, not the block.

Compatibility

  • LavaClient.open(fillScreen:) takes ScreenFill?: .maximized (was
    true) or .output.
  • SetMaximized renumbers the IDL methods after it: rebuild clients and
    compositor together.
  • liburing and OpenSSL are dropped from the dependency lists.