May
25

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:

This slideshow requires JavaScript.

  • 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?

 

Share This Post:
  • Digg
  • Facebook
  • Twitter
  • email
  • LinkedIn
  • Slashdot

Written by Ken Moore. Posted in faqs, Lumina, misc, Uncategorized

Tags: , , ,

Trackback from your site.

Comments (34)

  • sg1efc
    May 25, 2015 at 7:43 am |

    I knew a Lumina FAQ/Wiki would be created once you had some free time, but Why are you working today? It’s a Holiday, so go out & enjoy the fresh air. 😉 Thanks for the FAQ, btw. 🙂

  • Andreas
    May 25, 2015 at 12:09 pm |

    Nice progress!

    If you are replacing fluxbox as a WM, would you please consider making tiling a “first class citizen” in the replacement? My favourite tiling WM so far is i3.

    • Ken Moore
      May 26, 2015 at 5:01 am |

      Andreas » Already planned… 🙂
      Layering/Tiling are simply different window placement/arrangement algorithms at their core (nothing inherently different in the backend structure of the WM), so tiling options are going to be included in the different “modes” of the window manager (using another easy internal “plugin” system so we can add more later as desired). The ones I currently have planned are: Traditional Layering, Traditional Tiling, Single-Window, and Single-Application. I am also kicking around the idea of a customizable tiling layout with screen exclude zones and such – but there will be more info available about that when we actually get closer to a release for it…. 🙂

      • Gour
        May 26, 2015 at 11:45 am |

        Having tiling mode within Lumina is simply superb idea!!

        I’m amazed seeing how much progress can be achieved with (practically) single developer. Although, maybe, Lumina is nothing revolutionary externally, but internally it brings so much fresh air.

        Congratulations!!

        Too bad I’m not C++ coder, but as soon as I fully migrate to PC-BSD I’ll try to help as far as possible along with ad-work to popularize Pc-BSD/Lumina combo. 😉

      • Andreas
        May 26, 2015 at 1:56 pm |

        Excelent news! Looking forward to trying it out!

      • Daniel
        May 30, 2015 at 12:15 pm |

        Wow, this is just awesome! Looking forward to it!

  • higb
    May 25, 2015 at 12:17 pm |

    very interested in the project! for the wm… wouldn’t it be easier to fork fluxbox (or other wm) and build it with lua scripting? arch has a fluxbox build with lua.

    • Bruno
      May 25, 2015 at 7:19 pm |

      Fork KWin maybe and clean it (or Mutter)…

      • bsdunix
        May 26, 2015 at 2:18 am |

        I think the Lumina project aims for as little exposure to GPL-licensed software as possible. Can you fork a GPL-licensed project and change the license in the process? I highly doubt it. What about Compiz? It’s MIT-licensed but written in C. Or is the aim to have as much written in C++/Qt as possible (ie uniformity)?

        • Ken Moore
          May 26, 2015 at 4:55 am |

          bsdunix » Lumina is BSD-licensed (3-clause) and based on C++/Qt for speed and reliability. This means that we will not be forking any GPL-licensed apps or pulling in heavy/inconsistent runtime dependencies by using Python/Lua/Other.
          I have actually discussed the possibility of forking/converting Fluxbox over to Qt5 with the Fluxbox developer(s), and the final consensus was that based on the arrangement of the source code for Fluxbox, it would end up being easier/better to just write a new WM instead of trying to convert it over (because the XLib->XCB and Flux->Qt conversions are highly non-trivial).
          Because of writing a WM “in-house” we are also able to make changes/optimizations (such as the combination of background daemons mentioned previously) to ensure the best experience possible for the end-user even if the source/methodology is very different from other traditional WM’s.

          • higb
            May 26, 2015 at 5:55 pm |

            fluxbox and lua are MIT licensed and there are BSD licensed WMs (most notable is enlightenment)… but i do understand your points.

            another consideration is that some are attached to their WM and will replace the DEs with their choice… if the WM ends being integral to the system then users will loose this option.

            sorry, i am not trying to beat a dead horse, its just that there are so many WMs out there that it seems like there are bigger fish to fry.

            keep up the great work!

  • Bruno
    May 25, 2015 at 7:17 pm |

    Why not PyQt to ease the work?

    • Ken Moore
      May 26, 2015 at 5:09 am |

      Bruno » Mainly because I do not know Python and I don’t really care for all the extra overhead of running a python environment in the background of the system. Remember that the point of the DE is to be as lightweight and out of sight as possible so that the user can run applications (to actually get something done).
      However, I do have an idea that I am working on right now to implement generic QtQuick plugin containers so that users/administrators can provide their own custom CSS-like plugins for specific functionality (instead of relying completely on compile-time plugins). I might have these new plugins/containers finished up for version 0.8.5

      • Bruno
        May 26, 2015 at 8:15 am |

        Hi Ken,
        Will this new WM have 3D effects? You could track the functionalities Apple has implemented in OS X to try to implement them in Lumina’s WM. OS X Aqua is not a full-featured like KDE, just have the necessary things with beauty.

        • Ken Moore
          May 26, 2015 at 9:01 am |

          Bruno » I am not familiar with OSX’s internals, and since most Apple utilities are proprietary I doubt I will ever be able to see them. I am open to the idea of 3D effects in the new WM, but I have no plans on implementing them in the first draft of the WM – I prefer to have the basic functionality tested/working instead.

  • Suvro
    May 28, 2015 at 4:16 pm |

    I didn’t get one thing from the screen shot – what’s the difference b/w sample layouts 1 & 2?

    • Ken Moore
      May 29, 2015 at 5:18 am |

      Suvro » Screenshot #2 has a second panel on the bottom of the screen, and also has the configuration utility open so that you can see exactly which plugins are being used on each panel. Screenshot #1 is more of the standard Lumina configuration on my systems.

      • Suvro
        June 28, 2015 at 9:13 am |

        Ok, I finally managed to update the packages in my system – except maybe the base OS. How do I select b/w the various Lumina layouts?

        • Ken Moore
          July 7, 2015 at 10:46 am |

          Suvro » Just open up the Lumina configuration utility and on the “Interface” tab you can change things around as desired.

  • […] Lumina Desktop Status Update/FAQ. […]

  • Grame
    May 31, 2015 at 4:05 am |

    Fantastic project! I’ve shared this blog post on my Google+ page, but why don’t you guys have a Google+ button in your “Follow us” section?

    • Ken Moore
      June 4, 2015 at 5:14 am |

      Grame » Hum, looks like something I need to ask the website maintainer to add…. 🙂

  • Arvind Rangan
    May 31, 2015 at 9:36 pm |

    Lumina seems very promising.
    I would love to contribute to PC-BSD.
    I have dell latitude e6410 and requires the BCM4313 for wireless, which i have not been able to every install. i have tried all the wiki examples and my machine wont boot.
    How ever, it does run linux and the wireless works without a flaw.
    Since there is a linux binary compatibility… why cannot the linux driver be just utilized in PC-BSD ?
    Sorry, I am still a novice, and this question might have been asked before. thanks!

    • Ken Moore
      June 4, 2015 at 5:13 am |

      Arvind Rangan » From what I understand, drivers need to hook into the kernel directly – preventing their use in different OS’s unless they both use the same kernel-level API. This would be something to ask the FreeBSD developers about if you want more specifics though.

  • Joe
    June 3, 2015 at 9:06 pm |

    I was wondering if This desktop environment has support for larger resolution displays like Retina?

    • Ken Moore
      June 4, 2015 at 5:07 am |

      Joe » Yes it will work on Retina displays. The only “issue” I have heard with it is that a lot of the Fluxbox themes (for window decorations) use fixed-size fonts/borders, so you might need to browse through the available themes and switch to one with larger borders so it is easier to see. Other than that, all of the interface elements for Lumina itself are easily scaled/modified to accommodate whatever screen resolution is in use.

  • Henrik
    June 16, 2015 at 3:07 pm |

    jwz.orgIf you’re reimplementing the screensaver and screen locking, I hope you have first carefully considered this – i.e. that the lock screen must never crash and should therefore be as simple as possible: http://www.jwz.org/xscreensaver/toolkits.html

    • Michael
      July 8, 2015 at 11:11 am |

      I brought this up with Ken at BSDCan. From what I gathered, the screensaver would be a state in the WM, so if the lock screen crashed, either the screensaver would keep on going, or if the screensaver itself crashed, one would end up being logged out.
      I do believe security is a high priority for Ken.

  • Snowdust
    July 6, 2015 at 12:08 pm |

    Greetings! First off, I’d like to state that I am a novice Linux Debian-based distro user (Jessie stable 8.1). Being recently retired, I now have plenty of time to get acquainted with the FOSS world and that is how I came across an interview/demonstration of Lumina on Youtube which turned out to be more than enough to pique my curiosity. I want to install Lumina DE on Debian but do not know how due to my ignorance and total lack of skills, but I am willing to learn. So, is there a how-to detailing the steps to be taken to install and run Lumina DE on Debian-Jessie. I have searched the Web and various forums but failed to find any document that would teach/show me how to proceed. Thank you very much for considering my request.

    • Ken Moore
      July 7, 2015 at 10:45 am |

      Snowdust » I am unsure of pre-built package availability for your particular distro, but you can easily follow the build instructions (~5 steps with a clean source checkout) on the Lumina source repository to install directly from sources (just look at the repo information at the bottom of the page on GitHub).

  • Snowdust
    July 8, 2015 at 8:31 am |

    Thank you for replying. You are most likely referring to this page https://github.com/pcbsd/lumina ; the 5 “easy” steps may seem rather obvious to a seasoned developer and a savvy pro Linux-BSD user; I am a newbie in every sense of the word, so these steps are way beyond and above my very limited knowledge and abilities. Thanks for considering my request.

    • Ken Moore
      July 9, 2015 at 7:49 am |

      Snowdust » I am not sure how different your Debian system is from LMDE2, but I just ran across a post with a detailed list of instructions on how to build/install Lumina on Linux Mint: http://forums.linuxmint.com/viewtopic.php?f=238&t=198371
      It looks like it is using the Debian OS-compat layer, so you should not need to change too much I think.

      • Snowdust
        July 9, 2015 at 9:09 am |

        Oh! Million thanks. Precisely what I was looking for. And indeed my workstation is running LMDE2-Betsy 64bit with MATE. But I have a spare box and will install Betsy and try my luck with Lumina. You made my day, if successful will give feedback.

  • meynard hill
    April 12, 2016 at 7:01 pm |

    There are a lot of softwares released in the market today and Lumina is one of which I have tried and tested! I think people should also upgrade to this because it’s really fast and efficient! Check out Computer Repairs Adelaide

Leave a comment

*

Please leave these two fields as-is:

Help the Project, Donate Today!