FAQ & Status Update
With the amount of changes to the Lumina® desktop environment and the increasing number of questions/comments we are receiving, I thought it would be a good time to post a status report about it and answer many of the commonly asked questions.
If you wish to get involved in the development of the Lumina® Desktop Environment, you can find the source code in our repository on GitHub.
What is the current development status?
Lumina® desktop is currently in 1.0 RELEASE status. There are many utilities that are built into Lumina that help it function as a complete desktop environment. Lumina® is very stable and completely usable on a daily basis for both developers and non-developers alike. The window manager portion of Lumina® is still in active development and will most likely be released sometime in 2017.
How is it different from other desktop environments?
- Designed to work best with TrueOS®, but specifically works very well for the BSD community at large. Lumina® can also be easily ported to any OS, including Linux distros).
- Does not require any of the commonly-used desktop implementation frameworks (DBUS, policykit, consolekit, systemd, HALD, etc..).
- Does not come bundled with any “end-user” applications (web browsers, email clients, multimedia software, office suites, etc..). The only utilities that Lumina brings to the table by default are the ones written specifically for the project and are generally for background/utilitarian functionality (the largest utility is the file manager).
- Simple text-based configuration file for setting system-wide defaults for new users. This allows distributors of the desktop to easily pre-set the system defaults/interface so it just works for the end user.
- Plugin-based interface design. This allows the user to make the desktop as light/heavy as desired (within reason) simply by choosing which plugins to have running on their desktop/panels.
- Designed to function as a general-purpose system interface – easily pre-configured to run on any type/size of device or screen.
- See the features page for additional details.
Are there any TrueOS® / PC-BSD® specific features?
- Hardware-level screen brightness control (sysctl control through pc-sysconfig on PC-BSD 10.1.2+), and available in TrueOS to reduce the actual monitor backlight, with a software-level fallback for systems/hardware which do not provide control of the current backlight level.
- Detects when system updates are in progress and prevents the user from shutting down the system until that is complete (you can log out of Lumina and then shutdown the computer from the PCDM login manager if absolutely necessary).
- Designed to work hand-in-hand with the TrueOS® utilities (mounttray, AppCafe, Life Preserver, etc.) preventing conflicts between DE and OS utilities.
What operating systems is it available for?
Lumina is highly portable and should work on any Unix-like operating system, with a single OS-compatibility class for porters to check/update as necessary. Please view the “Get Lumina” page to see all the various operating systems that we know it is currently available for, as well as instructions for how to built it from source on other operating systems as necessary.
What graphical systems is it available for?
Lumina is currently only available on the X11 graphical system. The code-base is designed to be easily ported to another graphical system sometime down the road (only a single file to re-implement in the new system), but at the present moment, there is no scheduled time for any conversions to take place.
What does it look like?
- Due to the flexibility of Lumina®’s plugin-based framework, the interface can take almost any appearance that you want (including copying other common desktop interfaces). Please view our “Screenshots” page for some examples.
- Note that as we continue to create more plugins with every new version of Lumina®, the variability of the interface just continues to grow. If you have a particular plugin/feature that you would like to see, please post a feature request!
What plugins are currently available?
- Panel Plugins: AppLauncher, AppMenu, BatteryMonitor, Clock, DesktopBar, DesktopSwitcher, HomeButton, Spacer, SystemDashboard, SystemTray, TaskManager(with or without grouping), UserButton.
- Desktop Plugins: AppLauncher, AudioPlayer, Calendar, DesktopView, Notepad
- Menu Plugins: AppLauncher, AppMenu, LineBreak, OpenTerminal, OpenFileManager, SettingsMenu, WindowList
- More plugins are being created all the time!
What is being worked on right now?
Right now, we are mainly focused on expanding the scope of the desktop through creation of new plugins and enhancement of the existing plugins. The next big change planned is the move to a new window manager which is in the process of being written right now. This change will correspond with version 0.9.0. We are also working on tweaking the default themes and colors right now, and are looking into adding new themes & color schemes “out of box” for people to be able to simple select and use.
A new window manager? Is something wrong with Fluxbox?
- Fluxbox is a great WM, and the Lumina® project will be still be using it for quite some time yet while the replacement is being written. The main reason a new WM is planned is for better integration with the Lumina® desktop in the following areas:
- Interface/font scaling
- Keyboard shortcuts (particularly with using the default application registrations in Lumina®)
- The addition of WM “modes” for use on various types of devices.
- Allow compositing between windows (for better transparency effects)
- Uniform Theme/Appearance
- In addition, having a custom WM specifically for Lumina® allows us to be able to combine the functionality of a few common background daemons into a single utility (since at their core they all revolve around responding to particular base system events).
- Window Manager (ICCCM/EWMH events)
- Screensaver/Screen Locker (All Input Events – transparent watcher)
- Keyboard shortcuts (Keyboard Input Events)
- Application message logger/viewer (some EWMH events – transparent watcher)
- Power management (system events through devd/HALD/other)
- Having all these systems within the same utility allows us to be able to create a much tighter level of inter-functionality between them. For a few quick examples:
- Temporarily disable the screensaver while a window is full-screen (such as when watching a video)
- While the screen is locked, prevent the window manager from showing any new windows on the screen and stop all keyboard shortcut handling (preventing possible security issues), while still allowing some notifications and background procedures.
- Enable different levels of power management while the screen is locked or the screensaver is active.
- This is a fairly massive undertaking, so I want to re-iterate that I expect it to be quite some time until this new window manager is ready for use and we will continue to use Fluxbox in the meantime. The Lumina® desktop will remain within the 0.8.x series of version numbers while this new utility is in development.
How can I get involved?
- If you are a C++/Qt developer, there are tons of areas where you could contribute! Some of them are: finding/fixing bugs, writing new interface plugins, adding functionality to existing plugins, and more!
- If you are a CSS developer, then you might be interested in making new themes for Lumina® (using QSS: it is very similar to CSS but specifically for Qt applications/widgets). These themes can be created/modified directly within the Lumina® configuration utility, and also provides an easy way to directly implement the user’s current color scheme. Once you have a theme put together that you like, you can just send us that file (located in ~/.lumina/themes) and we can get that included with any future versions of the desktop.
- If you want to create new color schemes, you can do so via the Lumina® configuration utility. Once you have one that you like, just send in that file (located in ~/.lumina/colors) and we can get that included with any future versions of the desktop.
- If you found a bug or have an idea for a cool new feature, you can post bug reports or feature requests on our Github @ TrueOS – Lumina Github!
How can I contact the developer(s) with questions/comments/snide remarks?
View the contacts page for methods of communication with the developers.
NOTE FOR DEVELOPERS: The Lumina desktop environment is not an application development toolkit/framework – it is only a system interface. If you want to create applications for users of the Lumina® desktop, simply create/install the registration file(s) for your application according to the XDG/FreeDesktop standards (the desktop entry, menu, and autostart specifications in particular – depending on the needs of your application). If you wish to reduce the number of additional dependencies for your application on a Lumina® system, simply write it using the Qt5 graphical toolkit and not the KDE-based variant/offshoot of Qt.