1
--------------------------------------------------------------------------------
2
Screenlets v0.0.10 - (c) 2007 by RYX (aka Rico Pfaus) <ryx@ryxperience.com>
3
--------------------------------------------------------------------------------
10
- AccountOption should now correctly use the default session (if any)
11
- added new "threading"-keyword to screenlets.session.create_session, this
12
should be set to true if a screenlet uses threads
13
- modified Launcher and Picframe to use new ImageOption
14
- removed ScrolledWindow from option-editor, option inputs are not inside
15
a scrollable area anymore, instead they should be organized in groups
16
- modified option editor and added new inputs for image/dir options
17
- splitted ImageOption and DirectoryOption from FileOption to remove the
18
complexity of the attributes
19
- added "image"-attribute to FileOption, allows to make a FileOption
20
show all image-types supported by Gtk
21
- added small patch to make the Clock correctly switch the date on 00:00h and
22
after suspend/restore (thanks to Rene Auberger)
23
- slightly fixed and optimized the options.ListOptionDialog
24
- added "patterns"-attribute to FileOption, which now allows to define
25
special file-patterns to be shown in the file selection dialog
26
- fixed bug in manager (removed "python -u" from autostart files)
28
- added screenlets-packager script which allows simply packaging a
29
third-party screenlet into a distributable archive (containing a special
30
"Screenlet.package"-file used by the manager to verify the archive)
31
- added a legacy-function to raise a fatal error when a screenlet is written
32
for a version before 0.0.9
33
- added a function screenlets.fatal_error that can be used to raise fatal
34
errors that need to quit the app
35
- added delete-functionality to manager, user-screenlets can now by easily
37
- modified screenlets.show_message and screenlets.quit_message to be able
38
to be used from non-Screenlet classes (needed for manager)
40
- added Install-button and -functionality to screenlets-manager, allows to
41
easily install screenlets from their packages
42
- moified session to use utils.list_running_screenlets to check for running
43
instances of a screenlet (instead of checking for a running service), this
44
hopefully fixes the startup error several people reported
46
- slightly shortened confirmation-message when selecting "Delete Screenlet..."
48
- manager now automatically creates autostart-files when autostart gets enabled
49
- "screenlets-manager"-script gets installed into bin-dir and desktop-file
50
is globally installed, too (manager now shows up under System/Settings)
51
- manager now gets installed through Makefile
52
- added new screenlets-manager (and a new screenlets-daemon which belongs to the
53
manager and is invisible to the user)
54
- added screenlets.utils.Notifier-class as replacement for the notify-functions
55
- new function screenlets.utils.list_running_screenlets()
56
- modified ScreenletSession to now save the name of each running Screenlet
57
in the file /tmp/screenlets/screenlets.running, that simplifies keeping track
58
of currently opened screenlets
59
- added some minor uninstall info to main Makefile (should be automatic)
61
- added screenlets.utils.get_screenlet_metadata-function whicih returns a dict
62
with name, desc, author, version (used by manager)
64
- finished and added the first version of the new CopyStackScreenlet
65
- added create_drag_icon-function and on_create_drag_icon-handler to Screenlet
66
- added on_drag_begin-handler to Screenlet
68
- replaced all occurences of self.__name__[:-9] and self.__class__.__name__[:-9]
69
with self.get_short_name() in all base-classes
70
- added Screenlet.get_short_name(), returns the short name of the screenlet
71
(the classname without trailing "Screenlet"), always use this now (instead
72
of self.__name__[:-9])
74
- screenlets.utils.notify must now be initialized before it can be used, that
75
is done by calling screenlets.utils.init_notify()
76
- modified screenlets.utils.notify, screenlet-argument now needs to be a
77
Screenlet-instance (instead of a string with the short name)
78
- added IMAPBackend to MailCheck, contributed by Robert Gartler (thanks :))
79
- applied Sorcerer's patch for adding alarm_command-feature to Clock (thx :D)
80
- applied Sorcerer's patch for adding GconfBackend (thx)
81
- applied Sorcerer's patch for adding lock_position-feature (thx)
82
- added Screenlet.on_init-handler, gets called after initialization is
83
complete and all options are applied
85
- removed Screenlet.show_about_dialog, was not really needed anymore
86
- screenletsd is now just an empty script which outputs a small note
87
- removed screenletsd.py and add-screenlet.py from package
88
- removed functions create_new_instance, load_class_from_module and
89
import_and_create_screenlet from screenlets-module
90
- removed all screenletsd-related code from core
96
- added new option to Makefile: "make epydoc" now generates the eypdoc-docs
97
into docs/epydoc (python-epydoc must be installed)
98
- slightly optimized ScreenletTheme.render-function
99
- images in ScreenletTheme are now stored inside two dicts (svgs and pngs), the
100
dict-inheritance will get removed soon
101
- most screenlets (except Pager and Test) now use the render-function and allow
102
creating themes with png OR svg images (please avoid mixing them up :D :D)
103
- removed FlowerService from Flower, was only for testing and totally useless
104
- removed Notification-support from baseclass
105
- added new screenlets.utils.notify-function which greatly simplifies the
106
Notifications-support (only if notify-daemon is installed, default in gnome)
107
- Control and Notes can now use both, SVG- or PNG-images, in their themes
108
- some more code-optimization and cleanup in Control
109
- fixed Control to now use the new launch_screenlet-function for adding new
110
Screenlets through the "Add"-submenu
111
- added function screenlets.launch_screenlet which is now the recommended way
112
of launching a screenlet from the "outside"
113
- added small workaround to XmlMenu, the scan-directive now replaces "$HOME"
114
within the directory-name with the environment var $HOME ... this should now
115
properly show all installed screenlets in the Control's "Add"-submenu
116
- Removed choices from Screenlet.theme_name (which is now a hidden option due
117
to the new Themes-selection)
118
- small fix in Screenlet-class, __setattr__ now calls the method
119
GObject.__setattr__ instead of object.__setattr__ when calling superclass
121
- heavily optimized NotesScreenlet and improved the general class-layout of it
122
(I'd even call it a major rewrite :D ... not a full one, though)
123
- NotesScreenlet now creates PangoLayout on init and stores it in the class,
124
instead of re-creating it on each draw (didn't know this actually works :))
126
- theme_name-option is not shown in Options-editor anymore, instead the
127
new Themes-tab is now the recommended way of changing themes
128
- ScreenletTheme.load_conf now uses IniReader-class to read theme.conf
129
- Theme-tab in OptionsDialog now shows a list of all available themes for the
130
screenlet, it checks all paths for themes and also displays themes from the
131
user's screenlets-dir
132
- added simple IniReader-class to screenlets.utils (should get used by
133
themes and maybe backend, too ... but only experimental for now)
134
- added "uses_theme"-attribute to Screenlet-class
135
- added "Themes"-tab to OptionsDialog, will become a theme-selection with
136
more info about a theme (should use theme.conf for getting data)
137
- optimized and cleaned code in OptionsDialog, should be faster now
139
- cleaned up NotesScreenlet and splitted drawing-code into smaller functions
140
- added Screenlet.disable_updates-attributes which gets used by the session and
141
the theme to disable updating the screenlet while options are loaded or
142
overridden (should remove some ugliness on startup due to reducing the
143
number of reshapes/redraws)
144
- added Screenlet.allow_option_override-option which allows entirely disabling
145
option-overrides through themes
146
- added Screenlet.ask_on_option_override-option which allows disabling the
147
confirmation-dialog when a theme wants to override the options in a Screenlet
148
- corrected Clock-themes to use new theme.conf-format
149
- added "text_x" and "text_y" options to CPUMeter to allow setting the position
150
of the upper left corner of the text
151
- themes now care for protected options and not allow overriding them
152
- slightly changed the format of the theme.conf: now supports sections,
153
the theme infos have to be supplied without trailing underscore inside the
154
"Theme"-section, overridden options have to be defined in the "Options"-
155
section, comment-lines need to start with '#' or ';', no support for multiline
157
- added "date_format"-option to Clock, allows changing the display format of
159
- added new "cpu"-theme to CPUMeter
160
- added two new handlers to Screenlet: on_scroll_up and on_scroll_down allow
161
easy handling of mouse-scrolling (thanks to DeathCarrot)
162
- MailCheck's "white"-theme is now named "default" and the "default"-theme is
163
now named "ryx-glass" (and icon for MailCheck updated, too)
164
- created .desktop-file for MailCheckScreenlet, now gets installed by running
166
- added src/share/examples-directory which now contains some example-code
167
showing how to do several things from outside the screenlets (only service-
169
- modified ScreenletService.get/set to not get/set protected options
170
- added "protected"-attribute to Option-class and enabled it by default in
171
AccountOption. This attribute should indicate that a certain option
172
MUST NOT be get/set through the service
173
- MailCheck now uses AccountOption for storing data
175
- added support for new AccountOption-type to Options-Editor, it can now be
176
used similar to all other options
177
- added screenlets.options.AccountOption which can be used to store
178
username/password-combinations in a safe storage (only gnomekeyring for now
179
because python-gnome2-desktop should be installed anyway)
180
- splitted icons from theme in Mailcheck (now contains mailcheck-icon-refresh,
181
mailcheck-icon-error ... the mailcheck-refresh/error.svg are gone)
182
- fixed blinking-effect in MailCheckScreenlet
183
- Screenlet-info and options are now on two different tab-pages within the
185
- added password-attribute to StringOption to create password input elements
187
- several more optimizations and fixes in MailCheck
188
- partial rewrite of the MailCheckScreenlet, it now uses a (threaded)
189
MailCheckBackend-class to be able to retrieve mails from multiple types of
190
backend (e.g. gmail, pop3, imap, maildir, ...), once the needed backends
192
- splitted TODO-tasks into "core" and "screenlets" (look much smaller now :D)
194
- fixed small bug in OptionEditor, color-options were displayed incorrectly
195
- added screenlets.options.EditableOptions.add_options_from_file() which
196
allows loading option-definitions from an XML-file with metadata. You can
197
use this function to keep your code a bit more clean and (hopefully) make
198
translation of all Screenlets a bit easier, too (in the future)
199
- added screenlets.options.create_option_from_node (does what its name says)
200
- added ScreenletTheme.render-function which supports rendering either PNG or
201
SVG images with the same call, this now also allows creating themes using
202
PNG-images (if a Screenlet uses the render-function) ... will ruin the
203
scalability but hopefully encourage more people to create new themes :D
204
- Launcher now uses Name-attribute from .desktop-files to set the label
205
- Launcher now correctly sets width/height when setting new icon
206
- Launcher should now correctly set icons from .desktop-files
207
- Launcher now can be configured by dragging/dropping a .desktop-file onto it,
208
this allows easy dragging&dropping of apps from your main-menu
209
- re-added usage of rsvg to Launcher to support scalable images when using an
210
SVG-icon (pixbuf-loaded svgs are not scalable)
211
- added drag&drop-functionality to Launcher
212
- Launcher now supports more image-types than only svg (should support all
213
gtk-supported types now), removed usage of rsvg
214
- splitted Screenlet.redraw_canvas into two functions (added new function
215
Screenlet.redraw_canvas_area), should speed things up in that case by
216
removing an if-statement
218
- TestScreenlet now uses new session system and coding guidelines, too :)
219
- all .desktop-files now execute with output set to /dev/null
220
- slightly changed description of ControlScreenlet
221
- added ScreenletService.get_first_instance()
222
- added two new signals to ScreenletService (instance_added, instance_removed)
223
and modified Screenlet-class to send the signals on the appropriate events
224
- added icons to Control and Launcher
225
- fixed small bug in Launcher and removed absolute path for default icon
226
- added .desktop-files for Control, Launcher and Windowlist
227
- corrected a small problem with the services and added a ClockService to
229
- renamed "gnome"-directory to "desktop-menu" and added "menu"-option to
230
main Makefile (for easily installing menu-entries run "make menu")
231
- slightly changed screenlets.SCREENLETS_PATH to only contain user-dir and
232
system-dir (maybe add $PWD again, too?)
238
- added makefile in gnome/ to install .desktop, .directory and .menu files
239
for accessing the Screenlets through the Applications-menu (at least in
240
gnome this should work, don't know about KDE)
241
- added confirmation-dialog before a screenlet gets deleted via popup-menu
242
- on_delete-event now properly gets called again
243
- removed event-argument from Screenlet.on_delete
244
- converted all screenlets to new session system, cleaned the code and
245
applied new formatting rules to all screenlets
246
- corrected "white"-theme in MailCheckScreenlet (added missing states)
247
- Flower now grows (if it is treated right :D)
248
- added dead/dry-states to Flower
250
- added "default-blue"-theme to PicframeScreenlet
251
- added "simplewood"-theme to PicframeScreenlet
252
- fixed inputs for FloatOption and IntOption in OptionsDialog, increment and
253
digits are now properly handled
254
- PicframeScreenlet now shows images which are dragged onto it
255
- added new PicframeScreenlet (displaying a simple picture frame)
257
- fixed problem with mousecursor moving away from the screenlet while dragging
259
- the session now handles sigkill/sigint instead of throwing an exception
260
- added ScreenletsBackend.flush-function which is used to save pending
261
changes before the main process ends (to avoid losing options due to the
262
caching functionality of the CachingBackend)
263
- screenlets.utils.find_first_screenlet_path is now used to get the path
264
for the screenlet (Screenlet.get_screenlet_dir now uses this function, too),
265
this should now eliminate the problem with launching screenlets from non-PWD
268
- several whitespace-changes in base-modules, (in function definitions it is
269
now recommended to put a space between name and opening brace)
270
- changed dbus-address/path of ScreenletService-class to org.screenlets.*
271
(e.g. the FlowerScreenlet now uses the service "org.screenlets.Flower", the
272
object's path is "/org/screenlets/Flower", the interface is still
273
"org.screenlets.ScreenletService" but will be changed)
274
- added service_class-attribute to Screenlet.__init__ for easily passing
275
a custom ScreenletService-class to the constructor
276
- session now uses the service for adding new instances when the Screenlet
277
has already a running instance (to keep screenlets of the same type
278
within the same process)
279
- renamed services.is_service_running to services.service_is_running
280
- deleting/quitting screenlets and instances now properly works with the new
282
- added ScreenletSession.delete_instance-function
283
- added "enable_saving" keyword attribute to Screenlet's __init__-function
284
(only needed internally, can be ignored)
285
- added Screenlet.enable_saving-function which allows enabling/disabling
286
saving of options (mainly used within session to prevent initial saves)
288
- added xdg-basedir compliance to ScreenletSession-class, sessions are now
289
properly stored in their folders (which now are created automatically)
291
- added screenlets.services.is_service_running-function to simplify checking for
292
the availability of a Screenlet's service
294
- added screenlets.session.create_session-function to simplify creating the
295
session within the "__main__"-part
296
- added ScreenletSession.backend-attribute and modified Screenlet-baseclass to
297
use the session's backend if available (for now the screenletsd is still
298
supported but it will be removed soon)
299
- modified ScreenletSession to use a ScreenletsBackend instead of directly
300
saving/loading instances
301
- moved backend-related code from screenletsd.py into the new screenlets.backend
304
- added Screenlet.register_session-function to simplify creating a service for
305
multi-instance screenlets
306
- added Screenlet.service and Screenlet.session attributes to Screenlet-class,
307
they are now available to all Screenlets
309
- all Screenlets now have IDs, which allows accessing multiple instances over
310
the same remote-interface
311
- added a screenlets.session module containing the new ScreenletSession-class
312
which is now responsible for things like handling startup and multiple
313
instances of a screenlet. The session further cares for restoring options
314
and will get a backend-object soon (to also care for saving options).
316
- added an unfinished FlowerScreenlet which displays a themeable growing plant
317
- modified Screenlet.update_shape to now store the current shape_bitmap and its
318
dimensions until it actually gets resized (instead of re-creating it on update)
319
- added screenlets.services.get_service_by_name-function which allows easily
320
retrieving an interface-object from a Screenlet's dbus-service
322
- added a screenlets.services module and a ScreenletService-class to finally
323
implement the base for easily making Screenlet-actions available through Dbus.
324
Screenlets can now offer custom methods or propagate their own signals over
325
dbus, and other apps (e.g. other Screenlets) can call/receive them easily.
327
- added new default-theme to ExampleScreenlet and removed ugly graffiti-theme
329
- added module screenlets.utils for placing helper-functions
330
- fixed clock to switch date at 00:00h (but I guess it still doesn't work)
332
- added screenlets.options.ListOption and screenlets.options.ListOptionDialog
333
and added ListOption-support to OptionsDialog. The ListOption must be a list
336
- Screenlet's Width/Height options are now hidden
337
- added theme.conf to all Clock-themes, removed funky-theme
338
- added box-theme to StorageScreenlet
339
- added StorageScreenlet (drag/drop example)
341
- moved get_cpu_load from CPUMeter to screenlets.sensors
342
- added module screenlets.sensors which will be extended to a general
343
cpu/net/ram/*-meter helper-library (any help greatly appreciated ;) ...)
345
- added 'debug'-action to screenletsd-startup script, 'start' action now
347
- added handler Screenlet.on_drag_leave
348
- added handler Screenlet.on_drag_enter
349
- updated screnlets.create_new_instance and screenlets.load_class_from_module
350
to use __import__ instead of exec for loading modules (thanks, Vasek)
352
- added Screenlet.on_drop-handler (activate D&D by passing drag_drop=True
353
to Screenlet.__init__)
354
- cleaned __init__-handlers of Options/Option-subclasses to now use
355
**keyword_args instead of passing the superclasses' key-args
356
- moved Screenlet bus/notification-attribs from class to __init__ (bugfix?)
357
- NotesScreenlet now shows a confirmation-dialog when it gets deleted (using
358
the new on_delete-handler)
359
- Screenlet.on_delete-handler now works properly and can return True to cancel
360
the deletion of the Screenlet
362
- extended Screenlet.redraw_canvas to allow redrawing only a rectangular area if
363
the optional x/y/width/height attributes are set
364
- added basic (drag&)drop-support (only on_drop yet) to NotesScreenlet (will
365
go into baseclass once fully tested)
368
0.0.7 (codename "Bond"):
371
- addded meta-attribute Screenlet.__requires__ (list with needed imports)
372
unused for now, but will be used in future release
373
- ScreenletThemes can now contain a theme.conf with _name, _version, _author
374
and _info meta-description. Additionally, options within the Screenlet can
375
be overridden through the theme.
376
- added Screenlet.on_realize-handler
377
- Screenlet.on_quit-handler is now properly called and the recommended place
378
for cleaning up used ressources and disconnect from external signals
379
- added Screenlet.on_delete-handler (called before on_quit, can be cancelled)
380
- moved module-loader into screenlets-module
381
- module "options" is now "screenlets.options"
382
- placed dbus-constants into screenlets-module (BACKEND_BUS,
383
BACKEND_OBJ, BACKEND_IFACE)
384
- Screenlet's directories now must be named like the classname, without
385
trailing "Screenlet" and NOT in lowercase anymore
387
- added Makefile offering following actions: install, clean, docs and
388
source_package (which creates a release-tarball)
389
- added MANIFEST.in for setup.py
390
- Screenlet.__init__ now MUST have an additonal **keyword_args-argument
391
as last argument (all subclasses MUST have this, too)
392
- added (simple) module-loader-functionality to screenletsd.py to allow
393
adding screenlets from a non-library path like /usr/local/share/screenlets/
394
and $HOME/.screenlets
395
- screenlets/screenlets.py is now src/lib/__init__.py (only a formal change)
396
- Screenlets (the .py-files) now have to be placed within the screenlet's
398
- entirely new structure of the source-package: The base-classes now need to
399
be installed (using "setup.py install") to work but can be launched
400
from anywhere in the system (and be packaged)
403
- added screenletsd-shellscript to package (thanks, raptros-v76 :) ...)
404
- "took over" and included CalendarScreenlet (thanks, robgig1088 :) ..)
405
- applied Sorcerer's show_date-path (adds show_date option to Clock)
406
(thanks, Sorcerer :) ...)
407
- renamed dbus path/object/iface all to "org.freedesktop.Screenlets", (until
408
we have org.screenlets.* as service)
409
- fixed directory-problem on first run and added some checks
410
- removed options.load_objects_from_file
411
- removed options.save_objects_to_file
417
- ClockScreenlet now has new icon (railway-theme)
418
- added queue in CachingBackend (to avoid losing options on multiple elements)
420
- stripped load/save functionality off the Control, the Control is now
421
sending requests to the backend for adding a new Screenlet
422
- finished settings-daemon and backend (quickly said, but a full day work :) )
425
0.0.5 (unreleased due to instability):
428
- added screenlets.create_new_instance(): this is the recommended way
429
of creating new instances of (stand-alone) screenlets
431
- added screenletsd.py: contains ScreenletsService and ScreenletsBackend and
432
offers a new way of creating persistent options (using any type of
433
backend - from flat-file to gconf) ... not running and experimental yet!
435
- added notifications-patch from Sorcerer (thnx :))
436
- added Screenlet.skip_taskbar-option
437
- added Screenlet.skip_pager-option
439
- added options.load_objects_from_file
440
- added options.save_objects_to_file
441
- added new Clock-theme "station"
443
- removed width/height arguments from Screenlet.__init__ - Screenlets now
444
have a default size of 100x100 pixels, this has to match the size of all
445
graphics within the theme (if theme used). The width/height-arguments
446
can still be set as keyword-attributes (passed to __init__)
447
- added PNG-support to ScreenletTheme
448
- changed "Size"-menuitems to percentage values and use scale for sizing
449
- added new handler Screenlet.on_scale() (fired when scale-attribute is changed)
450
- modified all screenlets to use scale instead of width/height
451
- added scale-factor to Screenlet-class
453
- added new handler Screenlet.on_menuitem_select(id)
454
- added MailCheckScreenlet
456
- added ClockScreenlet.set_update_interval
457
- added show_seconds_hand-option to ClockScreenlet
458
- added new handler Screenlet.on_mouse_enter(event)
459
- added new handler Screenlet.on_mouse_leave(event)
460
- added new handler Screenlet.on_mouse_up(event)
461
- added new handler Screenlet.on_mouse_down(event)
462
- added new handler Screenlet.on_unfocus()
463
- added new handler Screenlet.on_focus()
464
- added new handler Screenlet.on_show()
465
- added new handler Screenlet.on_hide()
466
- added new handler Screenlet.on_switch_widget_state(state)
467
- added new handler naming-convention: All (non-gtk) handlers now start
468
with "on_" ... e.g. on_mouse_down, on_mouse_up, on_draw, on-draw_shape, ...
470
- added realtime-attribute to Option: if realtime is False, the option has an
471
additional Apply-button next to its entry and only updates when the
473
- added OptionsDialog.apply_options_callback (internal handler)
474
- added OptionsDialog.read_option_from_widget
475
- added basic in-place-editing to NotesScreenlet (a little gift to MacSlow :))
476
- some minor code-optimizations: 'name == "test and name == "test2" ...'
477
is now 'name in ("test", "test2", ...)'
483
- fixed startup-crash when config-file missing
484
- applied new naming convention to all other Screenlets
486
- applied new naming convention (see README) to ClockScreenlet
487
- replaced exported_settings: new way of creating persistent options that
488
are invisible in the options-editor is adding editable options with the
489
"hidden"-attribute set to True
490
- removed DefaultMenuItem.INFO from defaults (deprecated)
491
- DefaultMenuItem.OPTIONS is now DefaultMenuItem.PROPERTIES
492
- renamed Screenlet._y to Screenlet.y
493
- renamed Screenlet._x to Screenlet.x
494
- added option ClockScreenlet.alarm_length
495
- added option ClockScreenlet.hour_format
496
- added Alarm-function to Clock
498
- added EditableOptions.disable_option
499
- added option ControlScreenlet.hide_show_on_click
500
- added options.FileOption
501
- added function screenlets.show_message() to ease notificiation-output
502
- renamed AppLauncherScreenlet to LauncherScreenlet
503
- improved and finished AppLauncherScreenlet
504
- added (slightly modified) XDG-basedir-compliance patch from RAOF (thank you)
506
- ability to add callbacks to Option-classes (to monitor when options
507
change within the OptionsDialog)
508
- "Settings" now called "Options" (and DefaultMenuItem.SETTINGS is now
509
DefaultMenuItem.OPTIONS)
510
- major optimization of the settings-system: now using Option-classes
511
instead of SettingsType.*
512
- Control now saves settings when killed with SIGTERM (not SIGKILL)
513
- removed ControlScreenlet.create_menu() (replaced by XML-menu)
514
- DefaultMenuItem.XML now (kind of) working
515
- added settings-dialog to Control
516
- added add_screenlet_as_widget-setting to Control
517
- added get_screenlet_dir-function to Screenlet-class
519
- updated all Screenlets to new settings-system
520
- added choices-option to STRING-setting (to provide a combobox-selection)
521
- added Screenlet.get_available_themes()
522
- removed useless code from Clock (get/set for time-property)
523
- added font_name- and rgba_color-setting to NotesScreenlet
524
- added SettingsType.COLOR and SettingsType.FONT to settings
525
- added random_pin_pos-setting to NotesScreenlet
527
- added text_prefix, text_suffix as settings to CPUMeter
528
- added pin_x, pin_y, text_x, text_y, text_prefix, text_suffix as settings to Notes
529
- settings-editor now supports different groups (option-tabs)
530
- started AppLauncherScreenlet (unfinished, maybe gets dumped)
532
- added time_offset-attribute to ClockScreenlet
533
- added new menuitem for settings (DefaultMenuItem.SETTINGS)
534
- made Screenlet also inherit from EditableSettings (besides gobject)
535
- added EditableSettings, EditableSettingsDialog and EditableSettingsOption classes
537
- fixed a small bug in ControlScreenlet's shape (which was drawn in double size)
543
- added <scandir>-tag to XmlMenu for scanning dirs for entries and add
544
a dynamically created menu that way
546
- fixed crash on start when closing Control on viewport different than 1
547
- added private info/name/author/desc-fields as metainfo to Screenlets
548
- added Sorcerer's About-Dialog (slightly modified to match metainfo)
549
- added XML-based menu to ControlScreenlet (for user-configurable menus)
551
- added support for compiz' widget-plugin (thanks to mikedee)
552
- added Window-submenu to Screenlet's right-click menu
553
- added sticky/widget/keep_above/keep_below-options to Screenlet
559
- finished Windowlist
560
- fixed clock-shadows
561
- added "ryx-glass"-theme to Clock
562
- added "time4linux-inverse"-theme to Clock
563
- added resize-functionality
564
- added "Size"-submenu (DefaultMenuItem.SIZE)
565
- made Notes resize dynamically (while font-size stays the same)
567
- added screenlets.ShapedWidget-class
568
- Windowlist now uses TaskIconWidget-childwidgets
569
- added flashing-function to Windowlist (for "demands-attention"-state)
571
- added WindowlistScreenlet (using libwnck)
572
- made ControlScreenlet skip_taskbar
573
- added "default-gray"-theme for CPUMeter
575
- added MessageDialog as "Info"-MenuItem
576
- added ExampleScreenlet that simply displays an SVG
577
- added simple CPUMeterScreenlet with Text-display
578
- added "default-blue"-theme for CPUMeter
579
- added (very basic) graph-display to CPUMeter