I am pleased to announce the immediate availability of version 1.4.0 of the Lumina Desktop Environment! This release contains a few major changes, plus a whole host of runtime optimizations, feature expansions, ZFS integrations, and more.
In particular, there are two significant additions to the project that I would like to highlight:
The Lumina Theme Engine (and associated configuration utility)
The Lumina theme engine is a new component of the “core” desktop, and provides enhanced theming capabilities for the desktop as well as all Qt5 applications. While it started out life as a fork of the “qt5ct” utility, it quickly grew all sorts of new features and functionality such as system-defined color profiles, modular theme components, and built-in editors/creators for all components. The backend of this engine is a standardized theme plugin for the Qt5 toolkit, so that all Qt5 applications will now present a unified appearance (if the application does not enforce a specific appearance/theme of it’s own). Users of the Lumina desktop will automatically have this plugin enabled: no special action is required.
Please note that the older desktop theme system for Lumina has been rendered obsolete by the new engine, but a settings-conversion path has already been implemented which should transition your current settings to the new engine the first time you login to Lumina 1.4.0. Custom themes for the older system may not be converted though, but it is trivial to copy/paste any custom stylesheets from the old system into the editor for the new theme engine to register/re-apply them as desired.
I also want to give a shout-out to the trueos/lumina-themes github repository contributors. All of the wallpapers in the 1.4.0 screenshots I posted come from that package, and they are working on making more wallpapers, color palettes, and desktop styles for use with the Lumina Theme Engine. If your operating system does not currently provide a package for lumina-themes, I highly recommend that you make one as soon as possible!
The Lumina PDF Viewer (lumina-pdf)
This is a new, stand-alone desktop utility for viewing/printing/presenting PDF documents. It uses the poppler-qt5 library in the backend for rendering the document, but uses multi-threading in many ways (such as to speed up the loading of pages) to give the user a nice, streamlined utility for viewing PDF documents. There is also built-in presentation functionality which allows users to easily cast the document to a separate screen without mucking about in system menus or configuration utilities.
Important Packaging Changes
One significant change of note for people who are packaging Lumina for their particular operating system is that the minimum supported versions of Qt for Lumina have been changed with this release:
lumina-core: Qt 5.4+
lumina-mediaplayer: Qt 5.7+
- Everything else: Qt 5.2+
Of course, using the latest version of the Qt5 libraries is always recommended.
When packaging for Linux distributions, the theme engine also requires the availability of some of the “-dev” packages for Qt itself when compiling the theme plugin. For additional information (specifically regarding Ubuntu builds), please take a look at a recent ticket on the Lumina repository.
The new lumina-pdf utility requires the availability of the “poppler-qt5” library. The includes for this library on Ubuntu 17.10 were found to be installed outside of the normal include directories, so a special rule for it was added to our OS-Detect file in the Lumina source tree. If your particular operating system also places the the poppler include files in a non-standard place, please patch that file or send us the information and we can add more special rules for your particular OS.
Other Changes of Note (in no particular order)
- Add a new page for changing audio theme (login, logout, low battery)
- Add option to replace fluxbox with some other WM (with appropriate warnings)
- Have the “themes” page redirect to launching the Lumina theme engine configuration utility.
- Auto-detect the active X11 displays and create a new display for the Lumina session (prevent conflict with prior graphical sessions).
- Add a process-failure counter & restart mechanism. This is particularly useful for restarting Fluxbox from time to time (such as after any monitor addition/removal)
- Restart fluxbox after making any monitor changes with xrandr. This ensures a more reliable session.
- Implement a new 2D monitor layout mechanism. This allows for the placement of monitors anywhere in the X/Y plane, with simplification buttons for auto-tiling the monitors in each dimension based on their current location.
- Add the ability to save/load monitor profiles.
- Distinguish between the “default” monitor arrangement and the “current” monitor arrangement. Allow the user to set the current arrangement as the new default.
- Completely revamp the icon loading mechanisms so it should auto-update when the theme changes.
- Speed up the initialization of the desktop quite a bit.
- Prevent loading/probing files in the “/net/” path for existance (assume they exist in the interest of providing shortcuts). On FreeBSD, these are special paths that actually pause the calling process in order to mount/load a network share before resuming the process, and can cause significant “hangs” in the desktop process.
- Add the ability to take a directory as a target for the wallpaper. This will open/probe the directory for any existing image files that it can use as a wallpaper and randomly select one.
- Remove the popup dialog prompting about system updates, and replace it with new “Restart (with updates)” buttons on the appropriate menus/windows instead.
- If no wallpapers selection is provided, try to use the “lumina-nature” wallpaper directory as the default, otherwise fall back on the original default wallpaper if the “lumina-themes” package is not installed.
- Make the *.desktop parsing a bit more flexible regarding quoted strings where there should not be any.
- If selecting which application to use, only overwrite the user-default app if the option is explicitly selected.
- Significant cleanup of this utility. Now it can be reliably used for creating/registering XDG application shortcuts.
- Add a whole host of new ZFS integrations:
- If a ZFS dataset is being examined, show all the ZFS properties for that dataset.
- If the file being examined exists within ZFS snapshots, show all the snapshots of the file
- Significant use of additional multi-threading. Makes the loading of directories much faster (particularly ones with image files which need thumbnails)’
- Add detection/warning when running as root user. Also add an option to launch a new instance of lumina-fm as the root user.
- [FreeBSD/TrueOS] Fix up the detection of the “External Devices” list to also list available devices for the autofs system.
- Fix up some drag and drop functionality.
- Expose the creation, extraction, and insertion of files into archives (requires lumina-archiver at runtime)
- Expand the “Open With” option into a menu of application suggestions in addition to the “Other” option which runs “lumina-open” to find an application.
- Provide an option to set the desktop wallpaper to the selected image file(s). (If the running desktop session is Lumina).
- Enable the ability to playback local video files. (NOTE: If Qt5 is set to use the gstreamer multimedia backend, make sure you have the “GL” plugin installed for smooth video playback).
- Add CLI flags for auto-archive and auto-extract. This allows for programmatic/scriptable interactions with archives.
That is not mentioning all of the little bugfixes, performance tweaks, and more that are also included in this release.
~~ Ken Moore ~~
Founder and Lead Developer of the Lumina Desktop
- Lumina Bug Tracker: https://github.com/trueos/lumina/issues
- TrueOS Translations Web Portal: https://weblate.trueos.org/projects/
- TrueOS/Lumina Forums: https://discourse.trueos.org/
- TrueOS/Lumina Community Chat on Telegram: https://t.me/TrueOSCommunity
- TrueOS/Lumina Community Chat on Gitter: https://gitter.im/trueos/lumina
- #lumina-desktop IRC channel on Freenode(very low traffic): https://webchat.freenode.net/?channels=%23lumina-desktop