aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <ken@pcbsd.org>2015-02-19 16:36:38 -0500
committerKen Moore <ken@pcbsd.org>2015-02-19 16:36:38 -0500
commit467b8d8735a9d94684f9508a9f45dd4859cdfea5 (patch)
treeb8e54a6e439953e565eda7baf39679233b261cbe
parentMake sure that the second round of mimetype filters is performed case-insensi... (diff)
downloadlumina-467b8d8735a9d94684f9508a9f45dd4859cdfea5.tar.gz
lumina-467b8d8735a9d94684f9508a9f45dd4859cdfea5.tar.bz2
lumina-467b8d8735a9d94684f9508a9f45dd4859cdfea5.zip
Update the ROADMAP to 1.0.0-Release
Also make a couple minor tweaks to lumina-info (mostly commented-out debugging statements)
-rw-r--r--ROADMAP154
-rw-r--r--lumina-info/MainUI.cpp3
-rw-r--r--lumina-info/lumina-info.pro3
-rw-r--r--lumina-info/main.cpp6
4 files changed, 106 insertions, 60 deletions
diff --git a/ROADMAP b/ROADMAP
index 4e63e16a..ec139319 100644
--- a/ROADMAP
+++ b/ROADMAP
@@ -1,63 +1,105 @@
General roadmap for the Lumina Project to reach version 1.0
----------------------------------------
-TO-DO
----------
-Lumina-desktop
- - Create a few desktop plugins
- -- Plugins: directory viewer, image viewer, note taker
- -- Default Plugins: 1 directory viewer (home dir)
- - Create a couple more panel plugins
- -- Clean up clock plugin (add calender widget to a menu, and ability to customize time display)
- - Add ability for customized user icon for the user button (~/.lumina/user.png?)
- - Finish up the system tray
- -- Retroactive app detection/embedding
-
-Lumina-config
- - Check/clean up the key press detector (particularly special keys)
-
-Lumina-fm (Insight?)
- - Network protocol support (samba, ftp, others?)
- -- This is optional usage (only shown as available if the utilities are installed)
-
-Lumina-open
- - Still not happy with the available apps widget. Perhaps go to something that can be scrolled?
-
-Write a screenshot-taking program to tie into the "print-screen" button
- - lumina-screenshot?
- - Uses pre-set QPixmap options for capturing an X11 window (quite simple)
- - Save the image as either a *.png or *.jpg
- - Add this utility to the "core" Lumina desktop (since it is tiny and does not require more dependencies)
-
-Write a quicklaunch application (Fluxbox Alt-F2 replacement)
- - lumina-quicklaunch?
- - allows the user to either run a specific command or start an application
-
-Write a filesystem search application
- - lumina-search, or combine with lumina-quicklaunch?
- - Simple utility to search the home directory for particular files or find an application
-
------------------------
-ROADMAP to 1.0
------------------------
-0.7 - Create lumina-screenshot and lumina-search and integrate with keyboard shortcuts (printscreen/ALT-F2)
-0.8 - Create new desktop plugins / other
+----------------------------------
+TO-DO (small projects)
+----------------------------------
+New Desktop Plugins:
+ - Picture Frame (rotating slideshow)
+ - Alarm Clock (simple clock alternative to the panel plugin with alarm functionality)
+
+New Panel Plugins:
+ - Single-Application Launcher (application pinned to the panel)
+ - Minimalistic Task Tanager (no running overhead - when clicked it runs all
+New Screensaver Plugins (after lumina-screensaver is written):
+Add network probing functionality (for lumina-fm mainly)
+ - Will need integration into LuminaOS and possible LuminaUtils
+ - Will need an OS-specific method of requesting that the system mount the network
+ drive on the system
+ - Use "avahi-browse" on PC-BSD?
+
+Add OS-specific suspend/resume functionality
+ - Will be integrated into lumina-screensaver primarily
+ - Can also be integrated into the logout options
+
+Redesign the lumina-open dialog (specifically, the widget used to browse the available applications).
+
+
+-----------------------------------------
+TO-DO (medium projects)
+-----------------------------------------
+Abstraction (move into libLumina):
+ - Favorites Interaction (currently in userbutton plugin and lumina-fm)
+ - lumina-fm bookmarks? (possibly integrate into the favorites)
+ - Plugins (desktop and panel): this allows lumina-config to more easily probe/utilize
+ the plugins that are available (easier to maintain/disable/add plugins on a per-build basis as well)
+
+New Frameworks:
+ - Internal suspend/resume for plugins (plugin-specific on how they work, but
+ generally used to stop/restart internal functionality based on plugin visibility)
+ - Internal messaging system (does LuminaSingleApplication already provide this?)
+ (between lumina-screensaver, lumina-wm, and lumina-desktop in particular)
+ - LuminaThemeEngine library for use by all Qt applications
+ (binary module/wrapper around the current theme engine functionality)
+
+PDF Viewing Capabilities?
+ - Could be a new utility, but would prefer the functionality be put into libLumina
+ so that lumina-fm can also use it.
+ - Great for quickly viewing/printing PDF files (since most PDF utilities appear to be DE-specific)
+
+
------------------------------------------
-Optional Extensions after 1.0-RELEASE
+TO-DO (large projects)
------------------------------------------
-Write a screen-locking system (needs PAM/security class)
- - Don't actually lock/open the PAM session (that could break the login session)
- - Just for verification of credentials for the desired user (current or admin)
-
-Parental Control System (needs screen locker, OS-specific network protocols)
- - Daily Time Limits (simple to do)
- - Network Accessibility Whitelist (using capsicum?)
-
-Replace xscreensaver with a custom-written screensaver framework in Qt (needs screen locker)
- - xscreensaver has some (possibe) security concerns due to
- network-accessable perl modules that are required
- - Since the Lumina session already has to keep an eye on system events,
- if it probably better just to maintainer our own internal timer systems instead
- of running an additional background daemon (also reduces dependencies).
+lumina-screensaver:
+ - This utility is a replacement for xscreensaver, and will reduce the number of packages
+ required by Lumina considerably (removing all perl requirements)
+ - This utility will also be the power management interface for the lumina desktop
+ since it will be keeping an eye on general system status and act appropriately
+ - REQUIRES: PAM interface for verifying password for the current user (unlocking the screen)
+ - REQUIRES: plugin framework (and plugins) for different types of screensavers
+ (Remember: only one plugin can be used at a time, and Windows only comes with ~5 out of box)
+
+lumina-wm:
+ - This utility is a replacement for Fluxbox as the window manager
+ - Tie into the Lumina Theme engine for consistent appearance
+ (may need to define new theme template handles to manage the window frames differently)
+ - 3 modes of operation: single-window (for small screens), layered (standard), tiling (placement algorithm only with disabled movement?)
+ - Completely XCB-based (xcb_icccm and xcb_ewmh libraries might make this fairly simple)
+ - Side functionality for setting/running keyboard shortcuts
+
+capsicum:
+ - FreeBSD-only framework for application and library compartmentalisation.
+ - Ensure additional security and limit any possible vulnerabilities
+ - "Sandbox" any applications run via lumina-open (and decendants)?
+ - Need additional research to figure out how tightly we can limit processes.
+
+
+--------------------------
+ROADMAP to 1.0.0-Release (large projects define release schedule)
+---------------------------
+0.8.3 - Include "lumina-screensaver" as a replacement for xscreensaver
+0.8.4 - Integrate "capsicum" on FreeBSD for application/system security
+ - May have additional 0.8.x releases as necessary
+0.9.0 - Include "lumina-wm" as a replacement for Fluxbox
+
+Note: Will use 0.9.x series for serious bug fixing, appearance polishing, and
+ getting ready for the first offical (non-beta) release.
+
+
+------------------------------------------
+Optional Extensions after 1.0.0-RELEASE (Brainstorming only - no promises)
+------------------------------------------
+Parental Control System (needs screen locker, lumina-wm integration)
+ - Daily Time Limits
+ (simple to do - special lock screen at timeout)
+ - Application Whitelist
+ (simple to do with lumina-wm - simply close any applications which are not permitted)
+ (don't show non-whitelisted apps in the menu system either)
+
+Session Locking Functionality
+ - Used for login sessions where the interface may not be modified
+ - Great for business/kiosk usage where they only want 1 or 2 applications to be able to run (and a specific wallpaper)
+ - Good integration with the application whitelist functionality
diff --git a/lumina-info/MainUI.cpp b/lumina-info/MainUI.cpp
index a91eac03..c44509bb 100644
--- a/lumina-info/MainUI.cpp
+++ b/lumina-info/MainUI.cpp
@@ -14,10 +14,13 @@
#include <QPixmap>
#include <QMessageBox>
#include <QProcess>
+#include <QDebug>
MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI){
ui->setupUi(this);
+ //qDebug() << "Update UI";
updateUI();
+ //qDebug() << "Load Tab Widget";
ui->tabWidget->setCurrentWidget(ui->tab); //start on the "General" tab
}
diff --git a/lumina-info/lumina-info.pro b/lumina-info/lumina-info.pro
index 96fce312..3ae3cb0a 100644
--- a/lumina-info/lumina-info.pro
+++ b/lumina-info/lumina-info.pro
@@ -1,6 +1,5 @@
-QT += core gui
-greaterThan(QT_MAJOR_VERSION, 4): QT += widgets network
+QT += core gui widgets network
TARGET = lumina-info
isEmpty(PREFIX) {
diff --git a/lumina-info/main.cpp b/lumina-info/main.cpp
index 3997eb21..026c6a05 100644
--- a/lumina-info/main.cpp
+++ b/lumina-info/main.cpp
@@ -11,12 +11,14 @@
int main(int argc, char ** argv)
{
-
+ //qDebug() << "Create Single Application";
LSingleApplication a(argc, argv, "lumina-info"); //loads translations inside constructor
if( !a.isPrimaryProcess()){ return 0; }
+ //qDebug() << "Set Application Name";
a.setApplicationName("About Lumina-DE");
+ //qDebug() << "Load Theme Engine";
LuminaThemeEngine themes(&a);
-
+ //qDebug() << "Start the UI";
//Start the UI
MainUI w;
QObject::connect(&a, SIGNAL(InputsAvailable(QStringList)), &w, SLOT(slotSingleInstance()) );
bgstack15