New Release Schedule and Lumina Desktop 0.9.0 Released 5

First, I would like to thank everyone for their patience as we continue working toward the first non-beta release of the Lumina desktop. We are still planning on version 1.0.0 getting released later this year (aligning with the FreeBSD 11.0 Release Schedule or earlier), but some issues have come to light that required we adjust our feature list for version 1.0.0 a bit.

The “major” change is we decided to push the new Lumina window manager back a bit in the schedule. There were a number of session-security issues we uncovered in the traditional WM/DE pairing methodology which is going to require a much more rigorous framework for securing the user’s graphical session and require a fair amount more development time (probably 2.0.0). The good news about this is we have already worked out the “big picture” solution for addressing these issues and the new implementation should enable tons of unique features for the Lumina desktop in the future. Additionally, we are going to start releasing more regular “checkpoint” releases on a weekly/monthly basis leading up to 1.0.0, so the final number of the version string will now correspond to the revision number (1.2.3 -> Major release 1, minor release 2, revision 3), with only major/minor releases getting full announcements/changelogs.

Due to moving the WM back on the time schedule, we have also moved a lot of smaller tasks forward which will improve the overall “quality-of-life” for desktop users. The first two of these improvements are available in 0.9.0-Release:

Desktop Compositing (cross-window transparency)

Since we are sticking with Fluxbox for the window manager (which does not provide compositing), I have enabled the optional use of the “xcompmgr” utility for providing low-level transparency effects between windows. If this tool is not installed on the system, Lumina will still function perfectly fine without any compositing effects.


New Plaintext Editor (lumina-textedit)

This is a brand new, standalone, pure Qt5, plaintext editor for the Lumina Desktop. It provides syntax highlighting (primarily for C/C++/Qt files at the moment), customizable colors, find/replace functionality, optional line numbers, optional line wrapping, and multiple file/tab support. There are simple hooks in place to add syntax highlighting rules for additional types of files/languages (see syntaxSupport.cpp), so feel free to send in updates or any new highlighting rules that you might need!



We have a number of new tools and plugins planned for Lumina here in the next few releases as well as some streamlining/cleaning of current tools, so stay tuned for new changes incoming!

In the meantime, we have decided to publish version 0.9.0 with the current level of changes. There are a number of important fixes in this version for multiple monitor arrangements and/or screen resize detection within virtual machines in addition to the new tools mentioned previously. Please be aware that if you are updating a previously checked-out version of the Lumina source repository, you will need to run “make distclean” to clean things up first due to the source files getting re-organized for future expansion/updates.


Have fun!

~~ Ken Moore


ChangeLog from 0.8.8-Release[-P2]

Visual Changes:

  • Change the default wallpapers for Lumina/PC-BSD and add some more 4K Lumina wallpapers.
  • Significant update to lumina-screenshot. Now there is quicksave/open button for opening a full editor, windows to snapshot may now be clicked on to select them rather than using the list of open windows, and screenshots may be cropped as needed within the utility before saving them to a file.
  • New Utility: lumina-textedit. This is a simple plaintext editor with syntax highlighting, find/replace support, line numbers, and bracket highlighting.
  • The Lumina theme engine will no longer use stylesheets to modify non-desktop applications (including the Lumina tools/utilities). This opens the door for a full Qt5 theme plugin to be used for non-desktop utilities instead.

Backend Changes:

  • Update which XDG mime-types are used for the default web browser and file manager. This should make it align a bit better with what applications expect (if they try to read/use the database directly – such as some popular web browsers do).
  • Some minor updates for Linux harddrive device detection (“nvme” devices).
  • Add Gentoo Linux support and an “ebuild” file.
  • Cleanup some minor source syntax issues with Qt 5.6
  • Fix up a number of multi-monitor issues. Screen resizes/changes will now be properly detected on the fly (on any system – including VM’s), and panels will be placed properly on monitors not aligned with the y=0 axis.
  • Ensure the current system volume gets saved on logout so it can be reloaded on next login (in case the volume was changed by some external tool during the session).
  • New startup binary: “start-lumina-desktop”. This will be used as the primary “entry point” for launching the desktop as opposed to the “Lumina-DE” binary (Please adjust your .xinitrc files and wrapper scripts as needed). The xsession desktop entry that Lumina installs was already changed to run this tool instead, so graphical desktop managers should be unaffected by this change. This tool will eventually be used to perform the X session setup/configuration (so CLI users will not need to run xinit or startx directly anymore), but the X integration has not been implemented yet.
  • Update the FreeBSD appstore shortcut to point to the new appcafe.desktop file from PC-BSD.

Organizational changes:

  • Cleanup a lot of old shell scripts from the source tree (not needed for builds any more)
  • Streamline the build procedures a little bit.
  • Completely reorganize the source tree. Now all the Lumina tools/utilities are kept separate from the general build scripts/files within a src-qt5 directory, and additionally organized into categories (core, core-utils, desktop-utils). Automated build systems should not be impacted by this change, as the main project file ( has been left in the same place within the repository and just had all the internal paths adjusted accordingly.

Bug Fixes:

  • Make all the installed desktop entries use relative paths for the icons (better cross-OS support).
  • Fix up the detection of “sloppy” URL’s given to lumina-open.
  • Adjust one of the include files for the Lumina library so that now external applications can link against the lib without the availability of the Lumina source tree (although still not recommended).
  • Stability fix for the desktop when an invalid desktop plugin is set/registered.