Category Archives: desktop

Lumina Desktop 0.8.6 Released!

Just in time for PC-BSD & FreeBSD 10.2 (coming soon), the Lumina desktop has been updated to version 0.8.6! This version contains a number of updates for non-English users (following up all the new translations which are now available), as well as a number of important bug-fixes, and support for an additional FreeDesktop specification. The PC-BSD “Edge” packages have already been updated to this version and the FreeBSD ports tree will be getting this update very soon as well.

In addition, the Lumina desktop now has its own website! While we are still working on cleaning up some of the visuals, all the information about Lumina (how to download/install it on various OS’s, a summary of the features, description of the project, screenshots, etc..) is all there and up-to-date. We are also working on a full handbook for Lumina (similar to the PC-BSD/FreeBSD handbooks) which can also be viewed directly from the website. Please check it out and let us know what you think!


Changes Since 0.8.5:

  1. Localizations
    • Add the ability to set system-locale overrides (used on login), allowing the user to “mix” locale settings for the various outputs.
    • Add the ability for the user to switch the locale of the current session on the fly (all locale settings changed for the current session only), and these settings will be used when launching any applications later.
    • Fix up the translation mechanisms of the Lumina interface, so everything will instantly get re-translated to the new locale.
    • More languages are now fully translated! Make sure to install the x11/lumina-i18n port or pkg to install the localizations and enable all these new features!
  2. Add support for the “Actions” extension to the XDG Desktop specifications.
    • This allows applications to set a number of various “actions” (alternate startup routines) within their XDG desktop registration file.
    • These actions are shown within Lumina as new sub-menus within the Applications menu as well as in the User button (look for the down arrow next to the application icon).
  3. Change the Lumina OSD to a different widget – allowing it to be shown much faster.
  4. Add new “_ifexists” functionality to any session options in luminaDesktop.conf. This allows the distributor to more easily setup default applications (browser, email, etc..) through an intelligent tree of options (which may or may not be installed).
  5. Bug Fixes
    • Apply a work-around for new users which fixes a bug in Fluxbox where the virtual desktop windows could still be changed/closed by various Fluxbox keyboard shortcuts. If an existing user wants to apply this fix, you need to replace your ~/.lumina/fluxbox-keys file with the new Lumina default (/usr/local/share/Lumina-DE/fluxbox-keys) – which will overwrite any custom keyboard shortcuts you had previously setup.
    • Fix some bugs in the new window detection/adjustment routines – fixing up issues with full-screen apps that change around the X session settings to suit their own temporary needs.
    • Fix a couple bugs with the automatic detection/load routines for the new QtQuick plugins.
    • Add in the “Ctrl-X” keyboard shortcut for cutting items in the Insight file manager.
    • Fix up the active re-loading of icons when the user changes the icon theme.


Lumina Desktop 0.8.5 Released

The next version of the Lumina Desktop Environment is now available! This version includes a significant number of updates, particularly to the main desktop session/interface, so I highly recommend that you update to the new version as soon as possible. While the full list of changes is posted at the bottom of the announcement, there are a few that I want to highlight here:

  • The user button has received a significant speed boost, and can now be used for full browsing of the user’s home directory (files and directories).
  • Desktop icons have received a large number of changes in styling, amount of visible text, and functionality. There is also a new feature to automatically generate plugins for items in the user’s Desktop directory – where each plugin may be individually moved/changed (not trapped within a container like the “desktopview” plugin).
  • A new desktop plugin for monitoring the system hardware status (memory/CPU usage, CPU temperature, disk I/O). This functionality requires support for your particular OS, and is currently only available for: PC-BSD, FreeBSD, and Debian
  • A new desktop plugin container for running custom QtQuick/QML scripts. While there is only a single “sample” plugin of this type available at the present time, it is now possible for users to create their own custom interface plugins using the QML scripting language (similar to javascript or CSS). See the “New Plugins” section in the change log below for details about where these scripts need to be placed/named.


  • Lumina has now been fully translated to German, Russian, and Spanish, and almost-completely translated to Catalan (89%), Chinese (61%), Estonian (53%), Indonesian (76%), Polish (89%), Portuguese (89%), Portuguese-Brazilian (89%), Swedish (91%), and Turkish (88%). Thank you to all our translators for all your hard work!!
  • To install the translation files on PC-BSD/FreeBSD, you will need to install the (new) x11/lumina-i18n port/package. These translations files are located in the lumina-i18n repository on GitHub, if you wish to package up the translations for your particular OS/distribution as well. Details about how to install those translation files are listed in the repository information.
  • To contribute to the translation effort, you may create an account on the PC-BSD translation website and get started today!

 Package Availability:

  • PC-BSD users currently running the EDGE package repo will be able to update their packages via the updater GUI or “pc-updatemanager” utility within the next couple days. Updates for users on the PC-BSD 10.1.2 / PRODUCTION repo will be available once 10.2-RELEASE is available later this year.
  • FreeBSD users may now update Lumina directly from the FreeBSD ports tree (x11/lumina), or wait until the FreeBSD package repository is updated with the latest changes before updating with pkg.
  • For other Linux/BSD users, please contact the packaging team for your distribution/OS to determine the availability of pre-built packages.

Source Repository

  • The Lumina-DE source repository is available on GitHub, and contains a detailed list of instructions on how to build/install Lumina on various types of systems.
  • A static archive of the sources for this release may also be downloaded directly from GitHub, to aid in the creation/distribution of pre-built packages for your particular OS.

Reporting Bugs

  • Found a bug in Lumina 0.8.5? Please report it (with as much detail as possible) to our bugs database.


  • The new system for desktop plugin settings requires that any desktop plugins will be reset back to defaults on upgrade to this version of Lumina.
  • There is a known bug/conflict between Qt 5.4+ and Fluxbox 1.3.7 which results in the “close” button on unlocked desktop plugins having no effect when clicked. To work around this issue, you may right-click on the title for the plugin and select the “close” option from the menu to remove the desktop plugin. Alternatively, you may also remove desktop plugins from the Lumina configuration utility (lumina-config).

Contact Us


Full list of changes since version 0.8.4:

  • Desktop Icons:
    • Always support two lines of text, and uniform icon sizes
    • Allow the ability to remove files/dirs from ~/Desktop through the desktopview/applauncher plugins (as well as increase/decrease icon sizes).
    • Add a new option to automatically generate plugins for each file/dir in the users Desktop directory. This can easily be turned on/off in lumina-config.
    • Completely re-work how desktop plugins save their settings. Now it is extremely fast and much more reliable. NOTE: This change is NOT backwards compatible. On upgrade to this version of Lumina, all desktop plugins will have their settings reset to defaults.
    • Completely re-work how desktop plugins are initially placed/sized. This ensures consistency/reliability
  • New Plugins:
    • System Monitor (Desktop): This will show the current CPU/Memory/Temperature of the system, as well as list the current disk I/O (if supported by the current OS).
    • Quick Plugin (Desktop): This allows the user to load arbitrary QtQuick/QML scripts and display them within containers on the desktop. These scripts need to be located in “~/.lumina/quickplugins/quick-*.qml” or “<Lumina share directory>/quickplugins/quick-*.qml” (other .qml files may be in those directory for additional widget/scripting support, but are not considered full plugins without the “quick-” prefix on the filename). See the “quick-sample.qml” plugin for an example of how to provide additional information about your script/plugin when it is automatically made available in lumina-config.
  • XDG Standards support
    • Convert to the XDG autostart specifications completely for reading/setting/disabling auto-started applications. Previous settings will automatically be converted the new format on update to 0.8.5
    • Assign internal “unknown/<filename/extension>” mimetypes to files that do not have a mimetype in the system database (so default applications may still be registered/used).
    • Ensure that “Lumina” instead of “LUMINA” is used for XDG system registrations (where applicable).
  • Session Startup Procedures:
    • Add a small splashscreen showing the progress/stage of Lumina during the session initialization.
    • Add 1/4 second, non-blocking delay between auto-started application startups (to prevent overloading the system all at once).
    • Proceed immediately to the application autostart routines after session initialization (remove previous two-second delay).
  • Lumina Configuration Utility:
    • Change a number of options so that nothing is changed on the system until the “save” button is clicked (for uniformity).
    • Add a new widget for managing panels – allowing up to 12 panels per screen to be setup in lumina-config.
    • Add full list/add/remove support for desktop plugins (with multi-selection removals).
  •  Miscellaneous:
    • Significantly updated themes, and some updates to color schemes as well.
    • Add support for solid-color backgrounds
    • Significantly speed up the loading of the userbutton on click, and add full home dir browsing/launching/favoriting support (files/dirs)
    • Additional error detection for mis-configured luminaDesktop.conf settings.
    • Make sure to put a line break between the time/date display if both are selected to be shown on the clock plugin.
    • Additional checks/updates to the system tray routines to ensure that nothing gets “missed” on startup.
    • Clean up some handling of “wine” applications in lumina-open.
    • Add binaries in the lumina-search output for applications.
    • Add thumbnail support to a number of plugins (userbutton, desktopbar, etc)
    • Fix a number of issues in various places regarding uniform icons sizing/spacing.
    • Add full desktop re-scaling support if switching to a new monitor/resolution between sessions.
    • Force Fluxbox to completely restart when a monitor is added/removed in the middle of a session (bypassing a couple bugs in Fluxbox).
    • Modify the luminaDesktop.conf file syntax a bit so it can be read/parsed by libUCL. The internal parsing routine does have backwards compatibility for the older syntax though.
    • Bugfix for the favorites system: ensure the favorites directory exists and create it if not.
    • Fix the initial brightness detection for new FreeBSD users.
    • Clean up some case-sensitivity issues when parsing luminaDesktop.conf
    • Remove some built-in Qt context menus on various toolbars.
    • Adjust the initial window geometry check/fix routine to work better.
    • Adjust a couple default key bindings (new users only):
      • Pause key -> Lock screen (new binding)
      • Tile windows left/right -> Alt+[left/right] instead of Ctrl+[left/right] (had conflict with existing Fluxbox shortcut).

Lumina Desktop Status Update/FAQ

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.

As always, please post any bug reports or feature requests on the PC-BSD Bug tracker.

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.

Lumina Desktop FAQ/Status Update:

What is the Lumina Desktop Environment?

  • The Lumina Desktop Environment (sometimes referred to as Lumina-DE or just Lumina) is a BSD-licensed, FreeDesktop-compliant graphical interface for a desktop operating system.
  • It has been written from scratch in C++/Qt5 (it is not based on any existing DE code-base). It uses Fluxbox for the window management in the background and xscreensaver for screensaver/screenlocking functionality. The only other runtime dependencies are a couple of small X11 utilities (xnumlock, xbrightness, xterm, xrandr).
  • This results in a very lightweight, very smooth desktop experience with minimal system overhead.

What is the current development status?

  • While the current version (0.8.4) is still considered to be “Beta” quality, that is primarily because there are still a couple external utilities which have not had in-house replacements written yet (Fluxbox and xscreensaver primarily).
  • In its current state it is very stable and completely usable on a daily basis for both developers and non-developers alike.
  • The only caveat for its “beta” status is that since there are some backend systems which are still in major development, we reserve the right to break a user’s customized settings during the transition to these new systems (the window manager and screensaver settings are where I anticipate this happening once the replacement systems are in place). However, we already have a good track record of backwards compatibility with older settings formats, and will continue to work on ensuring a smooth transition between different versions of the desktop (even during heavy development/backend changes).

What are some of the features of Lumina?

  • Restore files from ZFS snapshots directly through the Insight file manager (lumina-fm).
  • View picture slideshows or play multimedia files through the Insight file manager.
  • Completely configurable – the interface is designed around a plugin-based mentality where everything you see/use is a compiled-in plugin (ensuring that every plugin is guaranteed to work). This means that you can create an interface custom-tailored to your specific needs.
  • Easy-to-use configuration utility (lumina-config). This single utility controls all the different configuration options for the desktop in one simple location.
  • Total system search capabilities through the lumina-search utility (without having a daemon eating memory in the background).
  • Screenshot functionality through the lumina-screenshot utility (also tied to the “print screen” key by default).
  • Multi-monitor support through xrandr (every monitor is treated as a distinct screen, with it’s own background, interface, etc..). Lumina also provides a graphical utility for adding/removing monitors from within the Lumina session (lumina-xconfig).
  • Simple system controls through the “System Dashboard” for things like audio volume, screen brightness, battery status/notifications, and workspace switching.
  • Easily select which application to use when opening a file and set that as the default for the next time. If you happen to remove that default application, it will automatically re-open the application selection dialog the next time you open that type of file again. This utility (lumina-open) is also tied into the commonly used xdg-open utility so that 3rd party applications will automatically use this utility for opening files outside of the application scope.

How is it different from other desktop environments?

  • Designed on PC-BSD, specifically for the BSD community at large (although it is 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.

Are there any PC-BSD specific features?

  • Hardware-level screen brightness control (sysctl control through pc-sysconfig on PC-BSD 10.1.2+).
  • Links to the PC-BSD Control Panel and AppCafe are embedded directly into the Lumina interface for system control/modifications.
  • 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 PC-BSD utilities (mounttray, AppCafe, Life Preserver, etc.) preventing conflicts between DE and OS utilities.

Is it available for any other operating systems?

  • There are currently source files in the project for building/using Lumina on: FreeBSD/PC-BSD, OpenBSD, DragonFlyBSD, kFreeBSD, Debian, and generic “Linux” distributions.
  • Please contact the package management/distribution team for your particular OS to determine the availability of pre-compiled packages.

What does it look like?

  • Due to the flexibility of the interface design and the ease with which the themes may be customized, the Lumina desktop can take many various forms. Here are a just a few of the variations that I have assembled on my system:
Click to view slideshow.
  • 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, please post a feature request on the PC-BSD bug tracker!

What plugins are currently available (as of version 0.8.4)?

  • 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)
    • 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 the PC-BSD bug tracker!

How can I contact the developer(s) with questions/comments/snide remarks?


PC-BSD 10.1.2-RC1, Lumina Desktop 0.8.4 Released!

The PC-BSD team is pleased to announce the availability of RC1 images for the upcoming quarterly 10.1.2 release. Please test these images out and report any issues found on our bug tracker.

What else is new in PC-BSD 10.1.2? How about a new version of the Lumina Desktop Environment! PC-BSD users who stick to the “Production” branch of packages will find that the Lumina desktop has evolved/improved an incredible amount since the last quarterly update for PC-BSD (10.1.1), so I highly recommend that you try it out! The release notes for this new version are also listed at the bottom of this announcement for those of you who have been tracking along with its development, so please try it out and let us know what you think!


PC-BSD 10.1.2 notable Changes

  • New PersonaCrypt Utility
    • Allows moving all of users $HOME directory to an encrypted USB Drive. This drive can be connected at login, and used across different systems
    • Stealth Mode — Allows login to a blank $HOME directory, which is encrypted with a one-time GELI key. This $HOME directory is then discarded at logout, or rendered unreadable after a reboot
  • Tor mode — Switch firewall to running transparent proxy, blocking all traffic except what is routed through Tor.
  • Migrated to IPFW firewall for enabling VIMAGE in 10.2
  • Added sound configuration via the first boot utility
  • Support for encrypted iSCSI backups via Life-Preserver, including support for bare-metal restores via installer media
  • New HTML handbook, updated via normal package updates
  • Media Center support allowing direct login to Kodi and PlexHomeTheater for the 10ft user experience
  • Switch to new AppCafe interface, with remote support via web-browser
  • Improvements to Online Updater, along with GRUB nested menus for Boot-Environments
  • Migrate all ports to using LibreSSL instead of OpenSSL
  • Switch from NTP to OpenNTPD
  • Lumina desktop 0.8.4
  • Chromium 42.0.2311.90
  • Firefox 37.0.2
  • NVIDIA Driver 346.47
  • Pkg 1.5.1 Updating

Package Availability:

  • Users currently running the EDGE package repo can now update their packages via the updater GUI or “pc-updatemanager” utility to be brought up to date with RC1. Updates for users on the 10.1.1 / PRODUCTION repo will be available once 10.1.2-RELEASE is announced.

Getting media

Reporting Bugs

  • Found a bug in PC-BSD 10.1.2 or Lumina 0.8.4? Please report it (with as much detail as possible) to our bugs database.


Lumina Desktop changes since version 0.8.3:

Panel Improvements:

  • Add mouse tracking support
  • Add support for variable-length panels (a percentage of the screen edge length).
  • Add support for pinning the panel to a particular location on the screen edge (either corner, or centered)
  • Automatically re-scale the panel size if the monitor used in the previous session was a different screen resolution.
  • For hidden panels, have 1% of the panel size be visible on the screen while it is “hidden” (rather than a hard-coded pixel size). This is better for high-resolution screens.
  • Remove the restriction that panels be on opposite screen edges.

New options/usage for lumina-search:

  • Easily change file/dir search preferences on a temporary basis
  • New command-line flags for starting searches instantly
  • Search functionality integrated into the Insight file manager. The Ctrl-F keyboard shortcut or the “Search” menu option will start a search for a file/directory with the current directory as the starting point.
  • A “Search” button has been added to the  home directory browser in the user menu. This will allow the user to easily start searching for a file/dir within the selected directory.

New “Favorites” system backend:

  • This new backend is much faster and more reliable than the old system of sym-links.
  • Your favorites should be automatically converted to the new format when you log into the new version of Lumina.

New Utility: lumina-fileinfo

  • This utility allows the user to view basic file information, such as timestamps, owner/group info, file size, and read/write permissions.
  • If the file is a XDG desktop shortcut (that the user has permission to modify), this utility also provides the ability to make changes to that shortcut.
  • This can easily be used by right-clicking on files in the desktop view plugin or within the Insight file manager and selecting the “Properties” option.
  • A big thank you to contributor William (william-os4y on GitHub) for writing this utility!!

Other Random Improvements:

  • Better application recommendations for files/URL’s (especially for web browsers or email clients).
  • Major cleanup of XCB library usage.
  • Hardware-brightness controls now used for PC-BSD by default (if supported by the system hardware).
  • Putting the system into the suspend state is now supported for PC-BSD/Debian.
  • New clock display formats.
  • A large number of session cleanup improvements
  • A large number of session initialization improvements (including resetting the user’s previous screen brightness and audio volume settings).
  • New default keyboard shortcuts for tiling the open windows on the screen (new user configurations only)
  • Better support for the URL input format when required by an application.
  • Make the user’s “log out” window appear much faster when activated.


  • There is a known bug in Lumina 0.8.4 regarding “unlocked” desktop plugins. The close/maximize buttons for the plugin are unresponsive when using Qt 5.4.1, preventing the user from easily removing/maximizing a desktop plugin. We are still looking into this, but at the moment it appears to be a bug in Qt itself. As a temporary workaround, you can simply right-click on the titlebar for the unlocked plugin and select close/maximize from the menu instead.

Lumina Desktop 0.8.3 Released!

The next version of the Lumina Desktop Environment has just been released!

This is mainly a bugfix release to correct an urgent issue with the system tray on FreeBSD 11, but there are a number of other slight improvements/updates included as well. The full list of changes is included at the bottom of this announcement, but the notable changes are as follows:

  • New Panel Plugin: “Application Launcher“
    • This allows the user to pin the shortcut for an application directly to a panel.
  • New Utility: “lumina-xconfig“
    • This utility allows the user to easily enable/disable additional monitors/screens within the desktop session.
  • Fix the issue with transparent system tray icons on FreeBSD 11
  • Add support for the XDG autostart specifications.


The FreeBSD port has already been updated and this version will be included in the next set of PC-BSD package updates (“Edge” packages being created now) as well as included in the next PC-BSD 11 image for April (coming soon).


Reminder: The Lumina desktop environment is still considered to be “beta-quality”, so if you find things that either don’t work or don’t work well, please report them on the PC-BSD bug tracker so that they can get fixed as soon as possible. Feel free to also post tickets for any feature requests or improvements that you think might be useful!




Changes Since 0.8.2

FreeDesktop Standards Compliance:

  •  A number of bugs related to detecting/using XDG mimetypes were fixed.
  • Support for the XDG autostart specifications was added (usage only  — more work is still necessary to convert the current Lumina autostart spec over)
  •  Add some additional fallback routines to account for possible errors in *.desktop files.


New Utility: “lumina-xconfig”

  •  This utility is a graphical front-end to xrandr, and allows the user to easily add/remove screens from the current X session.
  • Shortcuts to this utility are available in the user button plugin, and the settings menu plugin


Insight File Manager:

  •  Add support for creating new (empty) files.
  •  Add an option for enabling/disabling the use of image thumbnails (useful if you have massive directories of pictures — just be sure you disable thumbnails *before* loading the directory).
  •  Add initial drag-and-drop support for moving files/dirs within a directory.
  •  Load the specific icon for any application shortcuts.
  •  Add the ability to view checksums of files.
  •  Add some additional checks/excludes for copy/move operations in the background to prevent the user from performing illegal operations (such as moving a directory into itself).
  •  Add support for listing statistics about the current directory on the window (number of files, total size of files, percent of the filesystem which is used).
  •  Streamline the frequency of the background directory checker — now it runs much less often.


Desktop Changes:

  •  Disable the shutdown/restart options on PC-BSD if the system is in the middle of performing updates. The system may still be shutdown/restart from within PCDM — this just adds an extra layer of safety for users.
  •  Have the shutdown/restart options use the “-o” option on FreeBSD/PC-BSD so that the system performs the action much faster.
  •  Add support for thumbnails, increasing/decreasing icon sizes, removing files, and  cut/copy files to the “desktopview” desktop plugin (the plugin which provides traditional desktop icons).
  •  Add support for increasing/decreasing the icon size for the application launcher desktop plugin.
  •  Update the icon used for the “favorites” system in the user button and the file manager.
  •  Add the ability to display alternate timezones in the system clock. This does *not* change the system time at the moment, it is just a setting for the visual clocks/plugins.
  •  Add a new panel plugin for pinning application shortcuts directly to the panel. (just like the “applauncher” desktop plugin, but on the panel).
  •  Perform the initial search for applications on the system within the session initialization. This ensure that buttons/plugins are responsive as soon as the desktop becomes visible.
  •  Fix an issue with transparent system tray icons on FreeBSD 11, and convert the system tray embed/unembed routines to use the XCB library instead of XLib.

Lumina Desktop 0.8.2 Released!

The next version of the Lumina desktop environment has just been released! Version 0.8.2 is mainly a “spit-and-polish” release: focusing on bugfixes, overall appearances, and interface layout/design. The FreeBSD port has already been updated to the new version, and the PC-BSD “Edge” repository will be making the new version available within the next day or two (packages building now). If you are creating/distributing your own packages, you can find the source code for this release in the “qt5/0.8.2″ branch in the Lumina repository on GitHub.

The major difference that people will notice is that the themes/colors distributed with the desktop have been greatly improved, and I have included a few examples below. The full details about the changes in this release are listed at the bottom of the announcement.

Reminder: The Lumina desktop environment is still considered to be “beta-quality”, so if you find things that either don’t work or don’t work well, please report them on the PC-BSD bug tracker so that they can get fixed as soon as possible.


Click to view slideshow.


Changes from 0.8.1 -> 0.8.2:

New Utility: “lumina-info”
  • This utility provides basic information about the current version of the Lumina desktop as well as link to various information online (source repository, list of contributors, bug tracker, etc…).
  • New Color Scheme: PCBSD10-Default (the default for new PC-BSD users)
  • Lumina-[Red/Green/Gold/Purple] color schemes updated.
  • “Lumina-Default” and “None” theme templates updated significantly.
  • Make it easier for a distributor to set a default theme/color by just supplying the name instead of the full path (since paths can be different on different OS’s)
  • Fix issue with some fonts not loading properly.
  • Distinguish between “Save” and “Apply” in the theme template editor (“Save” to update the file but keep the editor open, “Apply” to update the file and close the editor). This makes it much easier to test changes to the current theme template as you don’t need to close/re-open the editor to try it out.
  • Add the ability to distinguish between transparent/opaque desktop plugins in the theme template.
Configuration Utility Changes:
  • Add a new dialog for selecting plugins of all kinds. This makes it easier to browse through and read the descriptions of the plugins before actually selecting one.
  • Re-arrange the interface quite a bit. Now the general page arrangements make much more sense (Appearance [wallpaper/theme], Interface [desktop/panels], Applications [auto-start/file defaults], Shortcuts, Session [general options/window system] )
  • Add the ability to set your preferred time/date format(s) in the general session options.
  • Add the ability to reset your preferred file manager/terminal/web browser/email client back to defaults.
Insight File Manager Changes:
  • Make all the file operations happen in a separate thread (does not lock the UI any more).
  • Clean up the detection routine for Qt-editable files (for rotating images in the slideshow in particular).
  • When removing a file in the slideshow, make it simply go to the next/previous image instead of the beginning of the list.
  • Make the ZFS snapshot search functionality a lot faster if just refreshing the current directory.
Desktop Session Changes:
  • For vertical panels, have the clock plugin try to use vertical space instead of horizontal.
  • Clean up a few desktop plugin stability issues.
  • Streamline the session cleanup functionality.
  • Fix some issues with 2nd panel functionality.
  • Reduce the number of backend filesystem watchers (only one per session instead of one per screen now).
Lumina Search Changes:
  • When searching for files/directories, make the initial starting point user-configurable as well as add the ability to exclude directories from the search routine (also configurable by the user).

Lumina Desktop 0.8.1 Released

The next version of the Lumina desktop environment (0.8.1) has just been tagged in the source tree, the FreeBSD port has been updated, and pre-built packages will be available in the upcoming PC-BSD 10.1.1 release (or earlier if you are using the “Edge” package repository).

This version includes quite a number of quality-of-life improvements, new plugins, and the usual assortment of bugfixes. There is a full breakdown of the changes below, but for most of you a screenshot (or two) is worth a thousand words.




New Features:

1) New Desktop Plugin: “Audio Player”

This plugin allows the user to play audio files directly from the desktop (with playlist randomization if desired).

2) New Panel Plugin: “Home Button”

This plugin will minimize all open windows so the desktop will be completely visible.

3) New Panel Plugin: “Start Menu”

This plugin is the classical alternative to the “User Button”, and provides a simple menu for quickly launching applications.

4) New Slideshow file interactions in the Insight File Manager

When viewing an image slideshow, the user now has the options to delete the current image file, or rotate that image file clockwise or counter-clockwise (automatically updating the image file as necessary).

5) New Backend distribution customization framework.

There is a new system file (<PREFIX>/etc/luminaDesktop.conf), that can be set by the distributor of the Lumina desktop or a system administrator to provide system-wide defaults. This allows full customization of the initial desktop experience for a new user (will not change existing settings), allowing the distributor of the desktop to easily create a customized experience for their users. Along with this comes the ability for a user to reset their desktop settings back to defaults should the need arise (either system defaults or the defaults set by the Lumina project itself). This can be performed through the desktop configuration utility (in the session settings).


Updated Features:

1) Allow a customized user icon for the user button (this same icon will also be utilized for the user in PCDM). This option is available through the desktop configuration utility (in the session settings).

2) Have panels follow the current desktop theme by default. A customized color may still be specified through through the desktop configuration utility (in the panel settings), and any previous color setting for the panel is still saved as the customized color for that panel.

3) Have desktop plugins now follow the current theme. This allows for a much more unified look and feel, with simple user modification through locally saved modifications to any theme templates.

4) Convert the “Note Pad” desktop plugin to a file-based utility. Now all notes are automatically created in the ~/Notes directory (with the .note extension), and a generic non-note text file may also be loaded into the plugin for editing/watching. All notes in the previous format will be auto-converted to the new format the first time the new version is used. Warning: if you currently have multiple notepad plugins on your desktop, only one of them will have all the notes successfully converted to the new format. Before updating to the new version, it is a good idea to move all your notes into a single plugin instance (and remove the others) to ensure a proper conversion to the new format.

Bug Fixes:

- Fix when auto-hidden panels are re-hidden. This fixes a Qt5 bug where moving the mouse over the system tray was re-hiding the panel, preventing access to the system tray applications.

- Make the userbutton open even faster than before (auto-updates the menu in the background if applications are added/removed from the system).

- Various stability fixes involving the removal of desktop plugins.

- Filenames with multiple “.“s in them will now be properly handled through lumina-open.

- Have the log-out window appear on the current screen (instead of always the left-most screen).

- Make sure the log-out window is closed at the start of the log out procedure.

- Various other small bugfixes


Quick Lumina Desktop FAQ

I am seeing lots of interest and questions about Lumina since it was mentioned in the PC-BSD weekly update last week, so I am just going to try and answer some of the big questions that I have been seeing.

(1) What is Lumina?
Answer: Lumina is a lightweight, BSD licensed, standards-compliant desktop environment based upon Qt and Fluxbox. It is being developed on PC-BSD, and is being packaged for distribution on the PC-BSD package repository as well (although I believe the FreeBSD port is going to be submitted to the FreeBSD ports tree by the PC-BSD project as well).

(2) How complete is it?
Answer: It is currently alpha version 0.1, so lots of things are still unfinished. It has full backend XDG-compliance through the “lumina-open” utility for launching applications or opening files/URLs, but the graphical interface is still being fleshed out. It also has a plugin framework for toolbars, toolbar plugins, and desktop plugins already written, even though there is not many plugins written to actually use yet.

(3) Since it is an alpha, is it usable?
Answer: Yes, if you are used to very minimalistic desktops. I would currently label it a step above pure Fluxbox for usability, since it uses the XDG compatibility to provide access to system applications and desktop files, and is tied in to xdg-open on PC-BSD so that individual applications can open files/URLs using the current system default for that type of file/URL. The main thing is that the interface is extremely bare at the moment (no desktop icons/plugins yet), so you just end up with a background and toolbar(s). It is also still missing some configuration utilities, so you might be stuck with the current defaults for the moment.

(4) Why create a new desktop environment? Whats wrong with KDE/GNOME/XFCE/<other>?
Answer: There are many reasons for needing a new desktop environment instead of using the existing ones, mainly because all the major existing DE’s are developed on/for Linux, not BSD. This causes all sorts of problems on BSD, and I am going to try and list a few of the big ones here:

(4-a) Porting time
Since the DE’s are written on/for linux, they have to be ported over to BSD, and this introduces a (sometimes significant) time-delay before updated versions are available (GNOME 3 anyone?).

(4-b) Porting quality
It takes quite a bit of time/effort to port a DE over to BSD, and I have to give lots of thanks to the people who volunteer their time and energy to make them available. The problem is that quite often “linuxisms” still bleed through the porting process and cause system instability, desktop/X crashes, and loss of usability on the part of the user. This is particularly true when you start looking at KDE/GNOME/XFCE because of the large number of individual pieces/applications/plugins that have to be checked during the porting process, and it gets quite difficult to check everything while doing the port.

(4-c) Linux development trends
As Linux trends continue to diverge from BSD through reliance on Linux kernel functions or Linux-specific systems/daemons, the porting process over to BSD is going to get even more difficult and take longer to accomplish. This means that if we want to have a reliable/stable desktop on BSD going forward, we have to have one designed specifically for the BSD’s.

(4-d) Linux dependency bloat.
If you look at current DE dependency lists, it is easy to see that when you install a desktop, you might be getting a lot more than you bargained for (such as additional compilers/programming languages, network libraries/daemons, audio/video daemons/applications, etc). While there might be some debate on this, my opinion is that it comes from the Linux distro mentality. Just as a Linux distribution is the Linux kernel + the distro’s favorite packages, the desktop environment is becoming the graphical interface for the system + all the favorite applications/libraries of the developers, whether or not they are actually necessary for satisfying the actual purpose of a desktop environment.
I feel like the approach on BSD is quite different because the OS is a complete entity, independent of the packages that get added later, and simply provides the framework for the user to do whatever they want with system. By this same approach, a desktop environment should simply provide the graphical framework/interface for the user to easily interact with the system, independent of what applications are actually installed on the system. Now, I understand that at this point in time a user expects that certain types of applications are expected to be available out-of-box (such as a file manager, audio/video player, pdf viewer, text editor, photo viewer, etc..), but is that really the realm of the DE to decide what the defaults are, or should it be left to the distributor of the OS? I think a point can be made that the file manager is considered essential to integrate with the DE appropriately, but I think that things like audio/video applications, text editors, pdf viewers and such are really up to the preferences of the distributor, not the DE. The DE just needs to provide a simple framework to setup those initial default applications for the distributor, not require a ton of additional applications by default. Because of this, I am taking the approach that Lumina will have a very limited number of applications included by default (there are only about 2–3 that I can think of, all written from scratch for Lumina), and will try to include basic user-level functionality within these few applications to try and cover 90% of standard user needs (at a basic level) without any additional dependencies. For example, the Lumina file manager will have basic audio/video playing and image viewing capabilities built-in because those types of abilities are available through the Qt framework without many/any additional dependencies.

(5) What kind of graphical appearance are you planning for Lumina?
Answer: Highly configurable… :-)
By default, I am planning for Lumina to have a single toolbar on the top of the primary screen with the following item (from left to right): UserButton, DesktopBar, TaskManager, SystemTray, and Clock. This toolbar can be configured as the user desires (or completely removed), and other toolbars can also be added as well (only two per screen at the moment, one on top and one on bottom).
I do *not* plan on having the desktop be covered with the traditional desktop icons (that is taken care of with the DesktopBar toolbar plugin). Instead, it is simply a graphical canvas for the user to place all sorts of desktop plugins (directory viewers, picture viewers, notepads, application launchers, and other “stuff”).  I have not decided on any default desktop plugins yet, simply because I have not written any yet.

(6) What is the “User Button”?
Answer: This is what would correspond to the “Start” button on other desktops. This provides a central place for the user to do things like launch an application, open up one of their directories, configure their desktop settings, or close down their desktop session. Basically, an easy way for the user to interface with the system.

(7) What is the “Desktop Bar”?
Answer: This is a toolbar plugin that takes the place of the traditional system of desktop icons. The original purpose of desktop icons was to provide quick shortcuts for the user to open applications or put links to commonly-used files/directories, but quickly became abused with people putting everything on the desktop — destroying the intended purpose of the desktop by forcing the user to spend a lot of time trying to find the particular item they need in the chaos that became the desktop (I am sure you have all seen this many times). The desktop bar takes the original purpose of the desktop, and refines it to provide the quick access the user needs even if there is tons of “stuff” in the ~/Desktop folder. It does this by an intelligent system of sorting/categorization, splitting up the desktop items into three main categories: application shortcuts, directories, and files. Each of these three categories gets it’s own button on the toolbar with items sorted alphabetically (if there is anything in that category), so that it is easily accessed by the user at any time, even if you have the desktop covered with open windows, or you have a lot of that type of item. Additionally, it also separates out the actual files in the desktop folder by type: audio files, video files, pictures, and “other”. This should also help people find “that one file” that they need with a minimum of effort.

(8) Is Lumina the new default desktop for PC-BSD?
Answer:  NO!!! While Lumina is now available on the PC-BSD package repository, it is by no means the new default desktop.


(9) Will it become the default desktop for PC-BSD eventually?

Answer: Possibly, it really depends on how well the development on Lumina goes and if  the PC-BSD development team decides to make the switch to it at a later date.


(10) Will it become the *only* supported PC-BSD desktop?

Answer: Definitely not!! PC-BSD will continue to support multiple desktop environments and window managers through both the installer and the post-installation package manager.
I hope this help to clear up some of the questions you have!