diff options
-rw-r--r-- | ROADMAP | 154 | ||||
-rw-r--r-- | lumina-info/MainUI.cpp | 3 | ||||
-rw-r--r-- | lumina-info/lumina-info.pro | 3 | ||||
-rw-r--r-- | lumina-info/main.cpp | 6 |
4 files changed, 106 insertions, 60 deletions
@@ -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()) ); |