The Lumina Desktop Environment (Lumina for short) is a lightweight, XDG-compliant, BSD-licensed desktop environment that focuses specifically on streamlining the ability to get work done while minimizing system overhead. It is specifically designed for PC-BSD® and FreeBSD, but has also been ported to many other BSD and Linux operating systems. It is based on the Qt graphical toolkit and the Fluxbox window manager, and uses a small number of X utilities for various tasks, such as numlockx and xscreensaver.
Lumina's features include:
- Very little system overhead.
- Intelligent "favorites" system for creating quick shortcuts to applications, files, and directories.
- ZFS file restore functionality through the "Insight" file manager.
- Desktop system is plugin-based, which is similar to Android or other modern operating systems.
- Simple access to operating system-specific functionality such as screen brightness, audio volume, and battery status.
Figure 6.9a shows a screenshot of Lumina on a PC-BSD® 10.0.3 system with the "User" button clicked.
NOTE: while the PCDM login manager will automatically display Lumina in the desktop menu on a PC-BSD® system, users of other operating systems can add "Lumina-DE" as the name of the binary in their .startx, .xinitrc, or similar startup file.
The "User" button provides quick access for user interaction with the system. The left frame of this menu contains the following 4 tabs:
1. The first and default tab (yellow star icon) allows the user to quickly launch anything that was setup as a "favorite". Favorites can be applications, files, or directories, and are separated into those three categories. Favorites can be removed by clicking the small button on the right side of the entry. If the button icon is a red minus sign, removing the favorite does not actually delete the file as just its link is removed. If the button icon is a trash can, the file will actually get deleted permanently. Note that anything that exists in the users Desktop folder (~/Desktop) is automatically treated as a favorite.
2. The second tab (white and blue gear icon) lets the user browse all the applications currently registered on the system. By default, applications are listed alphabetically, but the list can be narrowed down by category using the drop-down list at the top of the tab. If you are running PC-BSD® or another operating system that has a pre-defined application "store", you will also have a shortcut at the top of the tab which will open up that application store. On a PC-BSD® system, the shortcut is to AppCafe®. Each application has a little "star" button on the right side of the entry. This allows you to mark an application as a favorite and have it appear on your personal list of quick shortcuts.
3. The third tab (blue folder icon) lets the user quickly browse through all the directories in their home and open any of them in the Insight file manager by clicking the "Browse" button. You also have the same little "star" on directories that can be clicked to mark that directory as a favorite if you want quick access to it later.
4. The fourth tab (yellow tool icon) provides quick shortcuts to system and desktop configuration utilities. If you are on PC-BSD®, or a supported operating system, you should have links to the operating system's control panel, the desktop configuration utility (lumina-config), qt-config (if it is installed), and the screensaver configuration utility.
Any open windows or applications will have a button appear in the section of the panel near the "User" button. If the application provides an icon, the button will appear as that icon and if you mouse over it, the tooltip will show the name of the application. If you have multiple copies of an application running, it will combine all those entries into a single button and list the number of windows after the icon. If you click on a button, it will automatically make that window active. If there are multiple windows, you can select the particular window you want from a drop-down menu. The color of the button will change depending on the state of the window: grey for a hidden or minimized window, white for a visible but inactive window, yellow for the active window, and orange for a window that needs attention.
The system tray is located in the right portion of the panel. Any applications that register a tray icon will appear in this area. Clicking an icon to interact with that application directly. The current system time shown by the clock is in the default format for the current locale.
The "System Dashboard" button is located at the far right of the panel and shown in Figure 6.9b.
This button provides quick access to hardware-specific information or operations, as supported by your operating system. The possible menu entries are:
- A slider for changing the audio volume for the system from 0% to 100%. If the operating system provides a mixer utility, an icon will also appear. Click the icon to launch that mixer utility for advanced control of the audio system.
- A slider for changing the screen brightness from 0% to 100%.
- The current status of the battery, if your system has one, and the estimated time remaining if that battery is discharging.
- A listing of the number of virtual workspaces that are in use, with buttons to switch between the different workspaces.
- The log out button for ending the desktop session. When the log out button is clicked, a window of choices will be displayed in the middle of the screen. The choices include: Log Out, Restart (if the user has permission), Shutdown (if the user has permission), Cancel (to exit the choice menu), and Lock Screen.
If the user right-clicks on the desktop, a menu of quick shortcuts will appear for instant access and the title of the menu will indicate the name of the workspace. While this menu can be customized, here is a quick summary of the default items on the menu.
- Terminal: used to launch a system terminal. The default is xterm, but this can be customized.
- Browse System: launches the file manager. The default file manager, Insight, recommended, but this can be customized.
- Applications: provides a drop-down menu of all the applications registered on the system, organized by category and name. Click an application to launch it. There are also a few shortcuts at the top of the application menu: one for opening the user's home directory, one for launching the control panel, if the operating system provides one, and one for launching the graphical application installer, if the operating system provides one.
- Desktop Settings: contains shortcuts to configuration utilities for the Lumina desktop environment, such as the control panel, if provided by the operating system, the screensaver configuration utility, the desktop configuration utility (lumina-config), and the Qt configuration utility (if installed).
- Unlock/Lock Desktop: used to lock or unlock the desktop plugins. When unlocked, desktop plugins become "active" and can be moved, resized, or removed from the desktop. It is recommended to leave the desktop locked during normal operations.
- Snap Plugins to Grid: this option only appears when the desktop is unlocked. Used to align and resize all the desktop plugins on an invisible 32x32 pixel grid, with special adjustments to align on the bottom and right screen edges if necessary, in order to provide a uniform appearance.
- Log Out: opens the system log out window, with options to shutdown/restart the system (if the user has permission), log out of the desktop session, lock the system, or cancel the log out window.
Lumina Configuration Utility
The Lumina Configuration utility, shown in Figure 6.9c, allows the user to configure every aspect of the desktop and is the recommended way to make changes. To launch this utility right-click the desktop and select "Desktop Settings" → "Desktop" or type lumina-config from an xterm.
Each of the tabs at the top configures a different area of the system, with the most frequently changed options on the left side. Once changes have been made, the "Save Changes" button at the bottom of the window will become active. This allows the user to setup multiple changes in any tabs and apply them all at the same time. The following tabs are available:
Desktop: this tab is used to change the visual appearance and functionality of the desktop on a per-screen basis. It can be used to add or remove the image(s) to use for the desktop's wallpaper. If multiple images are selected, the "Rotate Background" button can be selected as well as a specified time interval in minutes to rotate to the next image.
New plugins can be added using the bottom of this tab. Select the type of plugin from the drop-down menu then click the "+" button to immediately add it to the desktop.
Panels: the "Panels" tab, shown in Figure 6.9d, allows the user to add, remove, and configure the desktop panel. Panels must be aligned along a screen edge, opposite screen edges in the case of two panels, and may have any width, color, or transparency. Use the "Location" drop-down menu to set the location of the panel and the "Size" and "Color" options to set the panel width and color.
Once a panel's appearance has been configured, plugins can be added by clicking the "+" button and selecting a plugin from the list that appears. Similarly, clicking the "-" button will remove the selected plugin, and the arrow buttons can be used to move the location of the plugin on the panel. The top of the list corresponds to either the top of a vertical panel or the left side of a horizontal panel.
Menu: the "Menu" tab, shown in Figure 6.9e, allows the user to configure the right-click desktop menu with plugins as well as set the default application to use for the terminal and file manager. Click the "+" or "-" buttons to add or remove a plugin and the arrow buttons to change its order in the right-click menu.
Shortcuts: the "Shortcuts" tab, shown in Figure 6.9f, allows the user to configure various keyboard shortcuts for system or window tasks. Most of these options relate to window and workspace management, such as moving windows between workspaces, but there are also options for changing the system audio volume or screen brightness. Note that a shortcut that is already in use can not be assigned to another action. First, that shortcut needs to be cleared and saved, before that key press will be detectable when creating or changing a shortcut.
Defaults: the "Defaults" tab, shown in Figure 6.9g, allows the user to configure the default application used for opening types of files. The file types are categorized into several pre-defined groups and new file extensions or groups may be defined with the two "+" buttons. If a group is selected when a default application is set or cleared, it will apply that default to every file type within that group.
TIP: some applications, such as web browsers, keep their own internal lists of default applications for opening particular types of files. If you set that application to use the lumina-open or xdg-open utilities, it will use the default applications that are set here instead so that there is only a single list of default applications for the system.
Session: the "Session" tab, shown in Figure 6.9h, governs the general settings for the desktop session. These settings are usually not changed on a frequent basis. This section is further subdivided into tabs that are used for various areas of the system:
- Theme: this tab allows the user to change the default font, font size, theme template, color scheme, and icon pack. It is possible to create your own theme template or color scheme by clicking the buttons next to those options and changing the settings as necessary. Note that the theme templates are written as Qt stylesheets, so some scripting experience may be helpful when configuring a theme.
- General Options: this tab contains the option to have numlock automatically enabled when the session is started. Additional option may also be added here in the future.
- Startup Routine: this tab is used to configure applications, files, or binaries to automatically run when the desktop session is started. This is useful if you always open a particular application or file every time you log in to the system and can streamline the workflow of the user.
- Window System: this tab allows the user to setup various configuration options for the window manager. These options include the number of workspaces, where new windows are placed on the screen, when windows receive focus, and the appearance of the frame around application windows.
NOTE: if you make any changes in any of the tabs, click "Save Changes" before exiting this utility in order to save them.
This utility can be used to take screenshots of the desktop or applications and save them as PNG image files. To launch this utility, right-click the desktop and select "Applications" → "Utility" → "Lumina Screenshot" or type lumina-screenshot from an xterm.
To take a screenshot, click the "Snap" button in the upper-right corner of the screen shown in Figure 6.9i. The settings at the bottom of the window can be used to select the "Entire Screen" or to "Select Window". The delay, in number of seconds, can also be configured in order to give time to setup the screenshot. If you like the look of the taken screenshot, as shown in the preview, click the "Save" button to open a window where you can specify the name and location of the saved screenshot.
NOTE: the "Print Screen" keyboard shortcut is set to run this utility by default.
Insight File Manager
The Insight file manager, shown in Figure 6.9j, allows the user to easily browse and modify files on the local system on a per-directory basis. To open Insight, right-click the desktop and select "Browse System" or type lumina-fm from an xterm.
It is possible to open up additional directories through the tab system (use "Ctrl-T" or click "File" → "New Tab"), allowing the user to easily manage multiple locations on the system. Insight also features the ability to "bookmark" locations on the system for instant access via the "star" button. Once a location has been bookmarked, it will be available via the "Bookmarks" menu at the top of the window. Any removable devices that are available on the system will show up in the "External Devices" menu, if supported by the operating system. When an item is selected, the options on the left side of the screen will show the possible actions that may be taken with regards to that item. Possible actions include: open, open with (will prompt for the application to use), add to favorites, rename, cut, copy, paste, and delete. By default, the actions buttons are visible. They can be made invisible by clicking "View" → "Show Action Buttons".
A few additional options may be available at the bottom of the window, depending on the directory being viewed and the types of files that are in it:
- New Dir: the ability to create a new directory will become available if the user has permission to modify the contents of the current directory.
- Slideshow: if there are image files in the directory, there is an option to view those image files as a slideshow.
- Play: will appear if there are supported multimedia files in the directory. The types of files that are supported depends on what multimedia plugins are installed on the system. If a particular file is not recognized as a multimedia file, install the associated multimedia codec using the operating system's application management software and restart the file manager.
- Backups: if the system is formatted with ZFS and snapshots of the current directory are available, this button will appear. Snapshots are organized from oldest to newest, with the most recent snapshot selected by default, and the contents of the directory at the time of that snapshot are displayed. To restore a file or multiple files, select them from the list and click the "Restore Selection" button. If those files still exist and you want to overwrite them, make sure the "Overwrite Existing Files" option is checked first. Otherwise, if a file with that name exists, the restore will append a number to the end of the filename. For example, the first restored version of testfile.txt will become testfile-1.txt.
To open a file, directory, or URL from the command line, use lumina-open followed by the full path to the file or the URL. This utility will look for an appropriate application to use to open the specified file or URL. If there is no default application registered for the input type, a small dialog will prompt the user to select which application to use, and optionally set it as the default application for this file type. As seen in Figure 6.9k, this dialog organizes the available applications into three types:
- Preferred: these applications have registered their Mime type with the system and can open that type of file. Also included are any applications that have been used to open this type of file before as it keeps track of the last three applications used for that file type.
- Available: displays all the applications installed on the system, organized by category and name.
- Custom: lets the user manually type in the binary name or path of the application to use. It also provides a small button to let the user graphically search the system for the binary. Whenever text is entered, a check is performed to determine whether that is a valid binary and the icon will change between a green checkmark or a red X as appropriate.