From Compiz
Screenlets are small owner-drawn applications (written in Python, a very simple object-oriented programming-language) that can be described as "the virtual representation of things lying/standing around on your desk". Sticknotes, clocks, rulers, the possibilities are endless. The goal of the Screenlets base-class is to simplify the creation of fully themeable mini-apps that each solve basic desktop-work-related needs and generally improve the usability and eye-candy of the modern Linux desktop.
Screenlets can be used together with compiz' widget-plugin to create a Dashboard-like feature as seen on OSX Tiger.
Download here: screenlets-0.0.7.tar.bz2
Mirror: screenlets-0.0.7.tar.bz2
Thanks for the mirror Will!
[edit] Changes in v0.0.7
- Everything now needs to be installed to work.
- Many structural changes to package.
- Themes can have meta-information and override options (through a file theme.conf) ... see Clock/themes/ryx-glass for an example.
- See changelog in package for a full list of changes.
[edit] Installation
Install with "make install" (as root or with "sudo" for Ubuntu-users). Then start the daemon with "screenletsd start" and add a screenlets to it with "screenletsd add <Name>" (e.g. "screenletsd add Control"). To launch the daemon on startup, add "screenletsd start" to your session's startup-programs.
There is a Ubuntu repository available with the latest version. To use it please add the folowing to your sources.list file:
- repo not working. i get a 404
deb http://hendrik.kaju.pri.ee/ubuntu gutsy screenlets
or:
deb http://hendrik.kaju.pri.ee/ubuntu feisty screenlets
or:
deb http://hendrik.kaju.pri.ee/ubuntu edgy screenlets
Then run this in a terminal:
wget http://hendrik.kaju.pri.ee/ubuntu/hendrikkaju.gpg -O- | sudo apt-key add - && sudo apt-get updateThen you can install screenlets with :
sudo apt-get install screenletsThe package also includes updated third-party screenlets and utilities.
[edit] Notes
- Screenlets-packages (e.g. Clock, CPUMeter, ...) now get installed to /usr/local/share/screenlets
- You can also place screenlet-packages into $HOME/.screenlets
- This is a very early version and most likely contains bugs. It has very limited error-checking, so please do NOT expect a perfectly running application (though it is quite stable if you know what you shouldn't do).
W dodatku podane linki już nie działają. Na ubuntu GG kładziemy laskę a oglądamy się już za nowym ;)
[edit] Auto Start
[edit] Gnome on Ubuntu Feisty
To have the Screenlets Daemon on start up:
1) System-->Preferences-->Sessions:
2) Start Up Programs-->New-->NameScreenlets Daemon-->Command
screenletsd start-->OK -->Close
Screenlets Daemon should now automatically load your chosen screenlets on start-up.
Could use a how to install optional Beryl/Compiz screenlets plugins here.
[edit] Info
The Screenlets are all inherited from the Screenlet-class, which contains a gtk.Window, a gtk.Menu and some data. Screenlets are owner-drawn and undecorated and entirely invisible by default by using an rgba-colormap and erasing the window-background during the expose-event. Subclasses of the Screenlet have to implement a "draw" and a "draw_shape" method to draw/shape their own visual output. The present Screenlets all use svg-files rendered through librsvg. The Screenlet supports a very simple theming-mechanism that allows easy use of files within the current theme and fully automated theme-switching/-loading - that way the developer can focus on the functionality while the user can theme the Screenlet to his/her likings and supply the developer with new designs right from the start.
[edit] Features (i.e. what is ready yet)
- Screenlet-baseclass (needs a lot of improvement)
- Automated theming-abilities (SVG)
- Fully scalable - unlimited resizing
- ClockScreenlet (cairo-clock-compatible)
- NotesScreenlet (with suport for Pango-Markup-Language)
- ControlScreenlet (to control other screenlets)
- Basic WindowlistScreenlet
- CPUMeterScreenlet
- Very basic RulerScreenlet (serves as example)
- New LauncherScreenlet (quite similar to a desktop-icon)
- MailCheckScreenlet
- PagerScreenlet
[edit] History
It all started with a python-version of MacSlow's cairo-clock which now has evolved to a very basic Screenlet-engine that is aimed at simplifying the creation of small, widget-like always-on-top-applications that can serve as Screen-Applets ("Screenlets").
[edit] Future
If we can work out a shared code base, Shelf/nzjrs (desklet-engine), Stuart Langridge (Jackfield Project) and me will (hopefully) merge/combine our projects and create the most ass-kicking Desklet/Screenlet-framework ever seen.
If you find bugs or have corrections/suggestions, please post them in this thread. Thanks for testing and enjoy the Screenlets!
Thanks to Sorcerer, robgig1088, RAOF and all others for their contributions and help! The "third-party" Screenlets will be officially included in the 0.1.0-release once the core and basics are in a "non-draft" state.
