aboutsummaryrefslogtreecommitdiff
path: root/ROADMAP
blob: 50e9833c5eaa4d262088a228c456ca4134a23641 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
General roadmap for the Lumina Project to reach version 1.0
----------------------------------------

----------------------------------
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)
	
	
------------------------------------------
TO-DO (large projects)
------------------------------------------
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.4 - Include "lumina-screensaver" as a replacement for xscreensaver
0.8.5 - 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
bgstack15