With this being said, I propose that we collaborate and continue work on this project. I'll get the ball rolling by listing my proposed TODO:
- Create a default set of screenlets
- Provide a method for Screenlets to have internal fonts
- Allow screenlets to have better names in the manager (spaces! ex: "Volume Control" instead of "VolumeControl")
- Simplify the screenlets manager
- Provide API cario layer abstraction, to make the implementation of separate foreground/background rendering easier. Screenlets use less resources if the foreground and background are rendered separately, as done in the CPUMeter and CarioClock screenlets.
- Add API option to allow static resizing (grab corner+drag)
- Add API option and functionality for screenlet rotation (grabbing corner+key sequence, etc.)
- Add API option to allow dynamic resizing by dragging a corner (useful for Web, RSS reader)
Here are the screenlets that I propose for the default set, with some existing Screenlets to work off of:
Sidebar
Provide a place to "dock" Screenlets.Calendar
Show and be able to iterate through a monthly calendar, possibly with highlighted event days according to Google Calendar (through Google's python API) or iCal file.Tasks
Provide the ability to list, add, complete and remove tasks in a local task list, and possibly use Tasque as a backend.Weather
Show the current weather conditions and forecast, and optional extended information for any international city in a way that is simple yet effective.Sensors
Provide one main screenlet to offer information 0n specific system components in customizable views (similar to Ring Sensors, WaterMark and Manometer).
- Ring Sensors
- WaterMark
- Manometer
- SysMonitorPLUS
- BatteryState
- NetMonitor
- Wireless
- CPUMeter
- All Core CPU Usage
- NetMon
Display the system tine in a traditional analog clock format.
- CarioClock (provided in screenlets 0.12)
Display the system time in a traditional digital clock format.RSS reader
Display a select RSS feed entries with the ability to read an entry.Picture frame
Display a picture, or set of pictures with a slideshow and custom transitions, and the ability to resize, rotate (will need API work), and iterate through pictures -without entering the options menu. Possible support for photo sites such as flickr as well.Notes
Allow text to be entered, modified, and displayed in a note format, with possible support for Tomboy notes.
- Tomboy (provided in Screenlets 0.12)
- Notes (provided in Screenlets 0.12)
- SimpleNotes
Note that all of these Screenlets should also take advantage of fully scalable themes (SVG format), and as previously stated, there should be a unified set of themes that are expressed in all of these screenlets (ex: dark, glass, tango, etc.).
Also take note, that although these will all be an "official" set, we need to be careful and give credit to the original and contributing authors.
What can you do to help?
Offer suggestions! Make mock-up images! If you can, go ahead and dive into the code. Where to start? I suggest that we all focus on one thing at a time, for the greatest effectiveness. For the time being, I say that we should focus on the
Weather Screenlet.
Using the existing code written by Whise, I have set up an etherpad for this Screenlet. If this project gets large enough, a proper Launchpad/Trac or similar service should be used, but this will work for now.
Here is the etherpad for Weather.py based off of Weather Screenlet:
http://etherpad.com/u0B2vMnEhS
Specifically, we need:
- International support
- Extended weather information, similar to this weather screenlet.
- Code simplification, cleanup, and bug fixes.
Post your feedback please!