Skip to content

v1.3.0 — a native window: faster to start, a third of the memory

Choose a tag to compare

@physics515 physics515 released this 02 Oct 19:06
fda347d

Skidbladnir 1.3.0 draws its window natively. It looks and works the same, starts faster and uses far less memory.

New

  • A native window, drawn with gpui. It replaces the web view the window was drawn in until now, control for control: the same layout, colours, fonts, focus outlines and keyboard behaviour. The difference was measured on Linux:

    1.2.0 1.3.0
    Start-up 976 ms 678 ms
    Memory, idle 380 MB 109 MB
    Memory after a preview 438 MB 147 MB

    Conversions and previews take the same time as before, because the encoders are unchanged.

  • The web-view window is still built in.

    • Start the app with SKIDBLADNIR_UI=webview set to use it.
    • The app also switches to it by itself if the native window can't start, for example on a machine with no usable GPU driver.
  • Updates install the way you installed the app: the AppImage replaces itself; .deb and .rpm updates install through your system's administrator prompt; on Windows the installer runs; on macOS the app bundle is replaced. Every download is checked against the release signing key first, as before.

  • Keyboard and screen readers in the new window:

    • every control has a name and a role;
    • the format rail is a radio group and the queue menu is a menu;
    • number fields step with the arrow keys, Page Up/Down, Home and End;
    • the colour picker works from the keyboard;
    • Escape closes a pop-up and returns focus to the button that opened it;
    • Page Up/Down, Home and End scroll the window.
  • Resize from the window's edges when it is floating, rather than tiled or maximised.

Fixed

  • In the new window, the space under each saved preset was too large.

Packages

  • The Linux .deb and .rpm now depend on xkbcommon, xcb, the Vulkan loader and fontconfig, which the native window draws with. apt and dnf install them.

Known gaps

  • The native window has not yet been opened by a person on macOS or Windows, and no screen reader has been run against it. CI builds and tests it on both, and the Windows installer is installed and launched by CI. If it misbehaves, set SKIDBLADNIR_UI=webview to get the previous window back.
  • The app is not code-signed; the README's "Opening it the first time" shows how to get past each system's warning.
  • macOS builds have still not been opened by a person, and the ARM64 Linux app has not been launched (its packages are installed and checked by CI).
  • Animated AVIF, JPEG XL and HEIC are not written; SVG is read, not written.