18
Lumina DE: A New Desktop Environment for PC-BSD Ken Moore PC-BSD/iXsystems Ohio LinuxFest October 24, 2014

2014 - Lumina DE Overview

Embed Size (px)

DESCRIPTION

Slides from a presentation about the new Lumina desktop environment. This covers some of the development model for Lumina-DE as well as going into details about its general philosophy, goals for the project, and some future plans. Note: Examples/Images come from Lumina-DE version 0.6.3.

Citation preview

Page 1: 2014 - Lumina DE Overview

Lumina DE:A New Desktop

Environment for PC-BSD

Ken Moore PC-BSD/iXsystems

Ohio LinuxFestOctober 24, 2014

Page 2: 2014 - Lumina DE Overview

Definitions:

Panel Plugin(User Button)

Desktop Plugins(App Launchers)

Desktop Plugin(Calendar)

Panel Plugins(System tray, clock, system dashboard)

Panel

Desktop

Page 3: 2014 - Lumina DE Overview

Definition: Desktop Environment

● Common Definition (Wikipedia):

“In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system, which share a common graphical user interface (GUI).”

● Why does it have to be so complicated?

– Does it need to include a bundle of applications?

– Do all applications need to share a common interface?

Page 4: 2014 - Lumina DE Overview

Definition: Desktop Environment

● Possibly a better definition:

“A graphical interface providing user-level functionality of the operating system while simplifying the management and usage of applications.”

● Visual Example:

OSDE

App 1

App 2

App 3

User Input

Page 5: 2014 - Lumina DE Overview

Definition:Window Manager

“A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment.” (Wikipedia)

● Compliance with ICCCM/EWMH standards allows applications to work consistently between OS's

● The level of integration between the DE and WM generally varies depending on the level of experience of the target user.

● Most “full featured” DE's require/provide a specific WM for better user support and integration.

Page 6: 2014 - Lumina DE Overview

Define: Lumina-DE

● Lumina is a lightweight, BSD-licensed desktop environment that focuses on streamlining the ability of the user to get work done (via 3rd-party applications) while minimizing system overhead.

● Goals:– Minimize runtime dependencies.– Minimize the number of background daemons– Streamline launching/using applications– Simplify the usage of basic OS functionality– Strong focus on user-level customization

Page 7: 2014 - Lumina DE Overview

Define: Lumina-DE

● What Lumina is NOT:– An application-development toolkit (uses Qt)– A graphical subsystem (uses X.org)– An application installation or runtime system

(simply manages/uses applications that are registered with the system via the FreeDesktop standards)

– An OS initialization/configuration system (uses pre-defined OS-specific interactions)

Page 8: 2014 - Lumina DE Overview

Dependencies

● Runtime:– Fluxbox (WM)– X.org/Xlib with Qt 4.8+ (Graphical systems)– Xscreensaver, xterm, and numlockx– Oxygen Icon Theme– xbrightness or xbacklight (optional)

● Does NOT use:– DBUS– HAL– Systemd

Fresh PC-BSD 10.0.3 installation with Lumina 0.6.2Total System: ~0.5% CPU and ~120MB active memory use

Page 9: 2014 - Lumina DE Overview

Design Goal Example:Streamline App Launching

● The UserButton– User Favorites

(including desktop files/entries)

– All Applications– Browse Home Dir– Configuration

Utilities

Page 10: 2014 - Lumina DE Overview

Design Goal Example:Streamline OS Interface

● The System Dashboard– Battery Status– Volume Control– Workspace

Switching– Screen Brightness– Log Out Options

Page 11: 2014 - Lumina DE Overview

Design Goal Example:Enhanced Desktop

● Panels with plugins● Desktop plugins● Right-click menu

with plugins● Touch screen

compatible with traditional desktop layout

Page 12: 2014 - Lumina DE Overview

Design Goal Example:Simplify Configuration

● Single utility for most tasks– Appearance/theme– Desktop background– Panels– Plugins– Keyboard Shortcuts– Session options– Default applications

Page 13: 2014 - Lumina DE Overview

Design Goal Example:Easy Filesystem Usage

● Standard file interaction

● Multi-tab support● Simple multimedia

player● Image slideshow● ZFS file recovery● Mark as favorite● Set/use bookmarks

Options become available as necessary

Page 14: 2014 - Lumina DE Overview

Current Status

● FreeDesktop (XDG) standards compliance– Application registration– Icon theme support– Environment variables– Mime-types– Localization– System tray

● Multiple screen support● Multiple workspace support

● OS-specific support– Control panel– Application “store”– QtConfig– External device detection– Screen Brightness– Audio Volume/Mixer– Battery status– Shutdown/Restart/Lock

Page 15: 2014 - Lumina DE Overview

Work In Progress

● Theming– Simple to use– Color scheme

independent– Custom Font size and

appearance– Easily create new color

schemes and apply to existing themes

– Can extend to apply to all Qt applications system-wide

● Search/Run Utility– Quick search

● Run application● Open favorites

– Full search● Home directory or

system● Types of files● Search by partial

name or file extension

Page 16: 2014 - Lumina DE Overview

Future Plans

● Professional system modes– Kiosk mode– Whitelist-restricted access– Single-app– Daily/Weekly time restrictions

● New “HUD” UI as an alternative to the panel system– Appears/disappears– Wraps around screen edges– Great for smaller screens or

touchscreens– Retains “desktop” functionality

w/ system tray, task manager, etc.

● Qt-based window manager?● Distribution Configuration

Standardization– Default theme– Default desktop layout and

plugins– Default key bindings

– Simple to setup for an administrator

● Power savings– Suspend/resume plugins

based on visibility– Internal Qt-based screensaver

Page 17: 2014 - Lumina DE Overview

Get Involved!

● Full source repo available on GitHub

● Submit new plugins! (desktop/panel)● Porting to an OS?

– Look in the “libLumina” subdirectory, and create a “LuminaOS-<OS-name>.cpp” file (Template available)

– Already ported to:

FreeBSD, OpenBSD, DragonFlyBSD, kFreeBSD, “Linux” (Debian, Ubuntu, Mint, Puppy, others?)

● Test it out and submit bug reports!

https://bugs.pcbsd.org/

https://github.com/pcbsd/lumina

Page 18: 2014 - Lumina DE Overview

Questions?