HomeDocumentationFAQCommunity Log in / create account
compiz.org 

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.

Click for large version (v0.0.4)
Click for large version (v0.0.4)

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:

  1. 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 update
Then you can install screenlets with :
sudo apt-get install screenlets
The 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-->Name
Screenlets 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.