codeberg fairyglade/ly v1.5.0-rc1

pre-release4 hours ago

Note

This is a pre-release as Zig 0.17.0 hasn't yet been released.

The customisation update

Hello World! (Programming joke)

For Ly v1.5.0, there are some new customisation features that will make you think: "Wow, what is all of this doing in a display manager?"...wait, no, "Wow, this is so impressive!"

Yeah. That's better.

The new features in question

More seriously, you can now create your own animations in Lua! To show it off, you can find an elementary cellular automata over at https://codeberg.org/fairyglade/ly-community (with a GIF of it running below), which is a brand new repository for community-made animations, both for Lua and .dur animations! (The black hole animation can now be found there, for example.)

animation

You can also customise all UI corners via some new options you can find in the configuration file. They are pretty well documented, so you shouldn't have too much trouble figuring them out. (However, if you do, feel free to join our Matrix space!)

These make up the big new features for this release, but of course, they're far from the only new features available in this release.

Full changelog

To wrap it up, here is the complete changelog for Ly v1.5.0:

  • Added a --validate-config argument to check for any errors in an Ly configuration file
  • Added an error prefix when printing the error messages for when shutting down or rebooting fails
  • Added config.box_h_position and config.box_v_position for relative positioning of the center box
  • Added support for printing Ly logs to syslog by setting config.ly_log = null
  • Fixed incorrect offset calculations for .dur animations bigger than the screen
  • Improved build times by always building translate-c in Debug
  • Improved build times by using Zig's native backend instead of LLVM in Debug on supported platforms (such as x86)
  • Improved .dur animation loading times and memory usage by streaming the decompression phase
  • Improved the errors when failing to get lock state
  • Added support for handling termbox2 errors, as well as logging some of them
  • Added support for KMSCON v10 by removing usage of the --seats argument
  • Set --term=linux in the KMSCON service
  • Added a traditional Chinese translation
  • Added a Cyrillic Serbian translation
  • Added all missing translations
  • Added a contributing guide
  • Fixed fallback user detection when /etc/login.defs doesn't contain both UID_MIN and UID_MAX
  • Fixed XDG_RUNTIME_DIR not being set even if /run/user/UID exists
  • Added support for Lua animations
  • Stopped drawing the info line when automatically logging in
  • Fixed an authentication error when using automatic login on FreeBSD
  • Updated the README to address SELinux issues
  • Added battery capacity support for FreeBSD
  • Added config.type_username to restore previous functionality of manually typing in a username
  • Added support for customising corners via config.corner_bottom_left, config.corner_bottom_right, config.corner_top_left and config.corner_top_right
  • Stopped setting Shift and Ctrl keys for arrow keys
  • Fixed some TTY permission issues by launching Ly with agetty in the default systemd service
    • This should also remove the need for any workaround when using systemd-logind as the service now creates appropriate symbolic links for autovt@.service
  • Fixed some more TTY permission issues by applying chmod and chown to the current TTY
  • Improved the normal and the KMSCON systemd services
  • Removed config.hide_key_hints, config.hide_keyboard_locks, config.hide_version_string and config.show_tty as these are now superseded by the new corner customisation options
    • Do note that these options aren't migrated by default, so you'll have to modify these new options to restore the behavior of the previous options if you have modified them
  • Fixed a use-after-free when migrating the old save file
  • Removed config.hibernate_cmd, config.hibernate_key, config.restart_cmd, config.shutdown_cmd, config.sleep_cmd and config.sleep_key, including the runtime dependency on shutdown
  • Ordered config.battery_id alphabetically
  • Added support for disabling config.brightness_down_key, config.brightness_up_key, config.restart_key, config.show_password_key and config.shutdown_key by setting them to null
  • Replaced config.save with config.save_file_dir to allow decoupling save state from configuration
    • You can disable saving by setting the new option to null
  • Made the code more robust against integer overflows that could occur by having a ridiculously low screen resolution
  • Added more allocation tracking when building in Debug mode
  • Fixed handling of symbolic links for config.session_log

Don't miss a new ly release

NewReleases is sending notifications on new releases.