2003-12-24  Martin Grimme  <martin@pycage.de>

	* README: Added libgtop/kernel2.6 bug.

	* main/__init__.py (VERSION): Raised version number to 0.25.

	* configure.in: Raised version number to 0.25.

	* main/Starter.py (Starter.__add_display): Hacked around dumb window
	managers that restore windows at the wrong position after session
	startup.

	* gdesklets: Implemented gnome-session support.

	* display/Display.py (Display._call_sensor): Changed call_sensor() from
	private to protected.

	* display/DataTarget.py (DataTarget.delete): Removed print statement.

	* sensor/Sensor.py: Removed destructor that only consisted of a silly
	print statement.

	* main/Starter.py (Starter.__add_display): Made print statement
	shorter.

2003-12-23  Martin Grimme  <martin@pycage.de>

	* display/TargetExpander.py: Added more features.
	(TargetExpander.__init__): Put border around the button.

	* display/targetregistry.py (_REGISTRY): Added TargetExpander.

	* display/Makefile.am (install_DATA): Added TargetExpander.py.

	* README: Updated to reflect the current version.

2003-12-23  Christian Meyer  <chrisime@gnome.org>

	* main/__init__.py: Removed unnecessary code. Bumped version to 0.24.99.

2003-12-23  Martin Grimme  <martin@pycage.de>

	* gdesklets (gc_collect): Call main.print_about() here.

	* main/__init__.py (print_about): Moved output of about info into a
	function.

	* config/migration.py (check_for_profiles): Enabled last part of
	migration to profiles - remove the unprofiled stuff from the config.
	(check_for_profiles): Fixed bug.

	* display/TargetLabel.py (TargetLabel.set_config): Tried to implement
	automatic line wrap.
	(TargetLabel.__set_wrap): Improved wrapping and added a property
	"wrap-at".

2003-12-22  Christian Meyer  <chrisime@gnome.org>

	* README: Added a section for supported window managers.

2003-12-22  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.save_position): Bug fix.

	* display/Window.py: Implemented support for snapping windows together.
	(Window.__on_button): Don't snap when moving with SHIFT key pressed.

	* display/Makefile.am (install_DATA): Added WindowSnapper.py.

	* utils/Makefile.am (install_DATA): Added BinTree.py.

2003-12-21  Martin Grimme  <martin@pycage.de>

	* display/Window.py (Window.__on_button): The window shape,
	if available, is now being set after the user has positioned the
	window.

	* utils/installer.py (_Archive.__init__): Detect archives with .tgz
	extension.

	* display/TargetGroup.py (TargetGroup.__set_color): Integrated patch
	by Benoit Dejean to get rid of the hex2dec() method. Thanks, Benoit!

	* desktop/__init__.py (get_wallpaper): Assume solid colored background
	if the bg pixmap is very small. This saves a lot of CPU because we
	don't have to tile 1x1 pixmaps.

	* config/ConfigManager.py (ConfigManager.__init__): Bug fix for
	profiles.

	* sensor/DefaultSensor.py: Removed obsolete code fragments.

	* display/Display.py (Display.__on_observe_group): Added check for
	unset coordinates.

	* display/DisplayTarget.py: Cleaned the code a little.

	* display/Window.py (Window.__on_button): Made the displays event
	insensitive while their windows are being dragged.

	* display/Display.py (Display.add_children): Use UNSET_COORD here.
	(Display.set_sensitive): Implemented flag for event sensitivity.

	* main/__init__.py (UNSET_COORD): Constant for unset coordinate values.

2003-12-20  Martin Grimme  <martin@pycage.de>

	* sensor/DefaultSensor.py (DefaultSensor.__init__): Disabled initial
	positioning of the display window in here.

	* main/Starter.py (Starter.__add_display): Show the display window
	when idle.

	* display/Window.py (Window.set_position): Improved setting the initial
	window position.

	* display/Display.py (Display.__set_settings): Fixed stupid bug that
	broke StarterBar.

2003-12-19  Martin Grimme  <martin@pycage.de>

	* main/Starter.py (Starter.__add_display): Do not show() the window
	here.

	* display/Window.py (Window.set_position): Display the window only
	after x and y values have been set.

	* display/DisplayConfigurator.py (DisplayConfigurator.__init__):
	Centered the dialog window on the screen.

	* display/Display.py: Removed obsolete code fragments.

	* utils/dialog.py: Fixed deadlock that occured sometimes after showing
	message dialogs.

	* factory/DisplayFactory.py (DisplayFactory.startElement): Abort
	loading the display if a sensor could not be found.

	* display/Window.py (Window.__init__): Set default size to 10x10.

2003-12-18  Martin Grimme  <martin@pycage.de>

	* main/Starter.py (Starter.__init__): Removed welcome message. We won't
	need it in the future when we have a user frontend.

	* factory/DisplayFactory.py (DisplayFactory.create_display): Commented
	out obsolete code. This has to be revised yet.

	* main/Starter.py (Starter.__add_display): Changed accordingly. We have
	to place the Display into a Window.

	* display/Display.py: Extracted the GtkWindow part into Window.py.
	Display.py is derived from a GtkEventBox now and may be used as a
	widget.

	* display/Makefile.am (install_DATA): Added DisplayContainer.py and
	Window.py.

	* display/Display.py (Display.__set_settings): Moved setting the config
	values into its own method.
	(Display.__open_configurator): set_transient_for toplevel window
	instead of the Display which is no longer a GtkWindow.

	* configure.in: Added ru to ALL_LINGUAS.

2003-12-17  Martin Grimme  <martin@pycage.de>

	* configure.in: Removed de_BY. It has caused some confusion.

2003-12-10  Martin Grimme  <martin@pycage.de>

	* main/CmdLineParser.py (CmdLineParser.parse): Added --profile command
	line option.

	* main/Starter.py (Starter.__on_change_profile): Implemented switching
	profiles on the fly.

	* config/GConfBackend.py: Removed obsolete methods.

	* config/ConfigManager.py (ConfigManager.__on_observe_backend): Fixed
	off-by-one bug.

	* main/admin.py (get_profiles): Added support for user profiles.

	* config/GConfBackend.py: Bug fixes.

	* config/ConfigManager.py: Bug fixes.

	* config/migration.py (check_for_profiles): Bug fix.

2003-12-09  Martin Grimme  <martin@pycage.de>

	* factory/DisplayFactory.py (DisplayFactory.startElement): Added
	support for user profiles.

	* sensor/Sensor.py: Added support for user profiles.

	* config/Makefile.am (install_DATA): Added migration.py.

	* config/DummyBackend.py (DummyBackend.clear): Changed to the new
	signature.

	* config/GConfBackend.py (GConfBackend.clear): Does no longer clear the
	children of the given path, because the ConfigManager takes care of
	recursions.

	* config/ConfigManager.py (ConfigManager.clear): Made clear() work
	recursively. It takes a list as argument now.

	* config/GConfBackend.py (GConfBackend.list): Fixed bug where list()
	did not return entries.

	* config/settings.py (profile): Added profile setting.

	* tools/Makefile.am (gdesklets_display_thumbnailer_LDFLAGS): Bug fix
	in Makefile.am.

2003-12-07  Martin Grimme  <martin@pycage.de>

	* desktop/__init__.py (get_wallpaper_id): Added proposed bugfix for
	bug #126764 (missing transparency on GTK 2.3).

2003-12-04  Iñaki Larrañaga  <dooteo@euskalgnu.org>

	* configure.in (ALL_LINGUAS): Added 'eu' (Basque).

2003-12-04  Žygimantas Beručka  <uid0@tuxfamily.org>

	* configure.in (ALL_LINGUAS): Added "lt" (Lithuanian).

2003-11-28  Gustavo Maciel Dias Vieira  <gdvieira@zaz.com.br>

	* configure.in: Added pt_BR to ALL_LINGUAS.

2003-11-26  Jordi Mallach  <jordi@sindominio.net>

	* configure.in (ALL_LINGUAS): Added "ca" (Catalan).

2003-11-18  Martin Grimme  <martin@pycage.de>

	* sensor/Sensor.py: Applied the fix by Franz Klammer
	for making threads work on FreeBSD. Thanks Franz! gDesklets can now
	take off on *BSD as well. :)

	* locale/install_locales.py (compile_po): Applied compatibility patch
	for FreeBSD. It doesn't hurt on other systems.

2003-11-16  Martin Grimme  <martin@pycage.de>

	* utils/installer.py (_Archive.extract): Bug fix. The destination
	archive has to exist before extracting.

2003-11-11  Alessio Frusciante  <algol@firenze.linux.it>

	* configure.in: Added "it" (Italian) to ALL_LINGUAS.

2003-11-11  Takeshi AIHANA <aihana@gnome.gr.jp>

	* configure.in: Added 'ja'  into ALL_LINGUAS.

2003-11-10  Martin Grimme  <martin@pycage.de>

	* data/tips: Edited tips.

	* display/TargetImage.py: Fixed image scaling/reloading bug.

	* main/__init__.py (VERSION): Raised version number to 0.24.1.

	* configure.in: Raised version number to 0.24.1.

	* display/TargetImage.py (TargetImage.__init__): Small bug fix for
	image scaling.

2003-11-09  Sebastien Bacher  <seb128@debian.org>

	* tools/Makefile.am:
	Fixed LDADD.

2003-11-09  Martin Grimme  <martin@pycage.de>

	* README: Added libgtop2 to the requirements.

2003-11-08  Martin Grimme  <martin@pycage.de>

	* display/DisplayTarget.py (DisplayTarget.set_position): Bug fix in
	relative positioning.
	(DisplayTarget.get_geometry): Bug fix. It seems to be better to use
	gtk.Widget.get_allocation instead of gtk.Widget.size_request to get
	the size of a widget.
	(DisplayTarget.get_geometry): Reverted the change. It caused trouble.

	* browser/MainWindow.py: Display download dialog before contacting the
	server.

	* data/tips: New tips.

	* browser/CategoryTree.py (CategoryTree.get_selected_path): Bug fix.

	* browser/MainWindow.py (MainWindow.__on_file_drop): Added automatical
	selecting of the installed display after installation.
	(MainWindow.__install_desklet): Avoided code reduplication by adding a
	new method for installing.

	* browser/DisplayList.py (DisplayList.select_display): Added method
	for automatically selecting a display.

	* main/DisplayRepository.py (DisplayRepository.__scan_repository): 
	Removed constructing the name from the filename here. It's done
	in MetaData.py now.

	* main/MetaData.py (MetaData.__read_meta): Set the name from the
	filename if none has been specified in the meta tag.

	* browser/Commands.py (Commands.select_display): Added function for
	automatically selecting a display in the GUI.

	* browser/CategoryTree.py (CategoryTree.select_category): Added method
	for automatically selecting a category.

2003-11-07  Martin Grimme  <martin@pycage.de>

	* utils/installer.py (find_displays): Implemented function for getting
	a list of all .display files that were just installed.

2003-11-07  Sebastien Bacher  <seb128@debian.org>

	* tools/gdesklets-display-thumbnailer.c: (main):
	Fixed thumbnailer to work with all the URI types.

2003-11-07  Martin Grimme  <martin@pycage.de>

	* factory/SensorFactory.py (SensorFactory.create_sensor): Print
	stack trace when importing fails.

	* main/__init__.py (VERSION): Raised version number to 0.24.
	(AUTHORS): Added Benoit.

	* configure.in: Raised version number to 0.24.

	* display/TargetGroup.py (TargetGroup.__set_background): Set background
	to be completely transparent when no background image is given.

	* display/TargetImage.py (TargetImage.set_config): Added try..catch
	with stack trace around loading images.

2003-11-05  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.__on_motion): Fixed the evilWM
	"clump bug".

2003-11-04  Martin Grimme  <martin@pycage.de>

	* browser/TipOfTheDay.py (TipOfTheDay.__on_close): Added close button.
	(TipOfTheDay.__init__): Made the close button the default button of
	the dialog.

	* browser/MainWindow.py (MainWindow.__init__): Added menu item for
	Tip of the Day.

	* browser/TipOfTheDay.py (TipOfTheDay.__next_tip): Stripped unwanted
	whitespace off the tip text.
	(TipOfTheDay.__prev_tip): The same here.
	(TipOfTheDay.__init__): Fixed layout of the checkbox.
	Fixed browsing through the tips. The buttons work correctly now.

	* data/Makefile.am (EXTRA_DIST): Added tips file.

	* browser/MainWindow.py (MainWindow.show_tip_of_the_day): Added method
	for the Tip of the Day.

	* gdesklets-browser (win): Added call for Tip of the Day.

	* browser/MainWindow.py (MainWindow.__download_file): Added progress
	bar dialog for downloading desklets.

	* utils/dialog.py (progress): Implemented progress bar dialog.

	* browser/MainWindow.py (MainWindow.__on_file_drop): Added reloading
	the category tree after installing a new desklet.

	* browser/CategoryTree.py (CategoryTree.set_tree): Bug fix. Clear the
	treestore before setting it.

	* main/DisplayRepository.py (DisplayRepository.reload): Added reload
	method.

	* browser/MainWindow.py (MainWindow.__on_file_drop): Implemented
	drag & drop for files and URLs.

2003-11-03  Martin Grimme  <martin@pycage.de>

	* browser/MainWindow.py (MainWindow.__init__): Added "Go" menu.

	* browser/Commands.py (Commands.open_url): Implemented open_url.

	* browser/MainWindow.py (MainWindow.__on_select_category): The
	DisplayList gets the displays in a sorted order now.

	* main/MetaData.py (MetaData.__cmp__): Implemented comparator method.
	MetaData objects are sortable now.

	* browser/MainWindow.py (MainWindow.__on_action): Merged __on_menu and
	__on_tbar into __on_action.
	Implemented handler for quitting the browser.

	* display/Display.py (Display.__on_motion): Filtered out redundant
	motion events. Thanks to Jesse for finding this CPU hog.

2003-11-02  Martin Grimme  <martin@pycage.de>

	* utils/dialog.py (fileselector): Bug fix.

	* utils/Makefile.am (install_DATA): Added installer.py.

	* browser/Commands.py (Commands.install_desklet): Added function for
	installing desklets.

	* browser/MainWindow.py (MainWindow.f): Added handler for opening
	archives.

	* utils/dialog.py (fileselector): Added file selector dialog.

2003-11-01  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.file_drop): Typo bug fix.

	* utils/ewmh.c: Bug fixes. Remove unset window flags. Now STATE_ABOVE
	works with metacity 2.6.

2003-10-31  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.__init__): Moved the display into an
	EventBox. This is the first step towards making displays embeddable.

	* configure.in: Added check for libgtop.

	* AUTHORS: Added Benoit Dejean to the authors.

	* display/Display.py:
	* display/DisplayTarget.py:
	* display/DataTarget.py:
	* display/TargetAlignment.py:
	* display/TargetArray.py:
	* display/TargetFrame.py:
	* display/TargetGroup.py: Improved get_target_at method to make
	things like
	http://www.iheartny.com/xicons/dockskins.php?page=1&order=downloads
	possible.

2003-10-30  Christian Meyer  <chrisime@gnome-de.org>

	* configure.in: Added 'de_BY' to ALL_LINGUAS.
	* AUTHORS: updated.
	* TODO: likewise.

2003-10-28  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.__on_motion): Added workaround for buggy
	window managers that treat mouse clicks as leave-notify events.
	StarterBar now works on fluxbox.

	* main/CmdLineParser.py (CmdLineParser.parse): Bug fix for getting the
	absolute display path.

2003-10-27  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.set_config): Same change here.

	* display/TargetImage.py (TargetImage.__load_image): Use vfs.join
	instead of os.path.join. Loading images from the web does work now.

	* utils/vfs.py (join): Implemented join method for paths.

2003-10-26  Hasbullah Bin Pit <sebol@ikhlas.com>

        * configure.in: Added 'ms' (Malay) to ALL_LINGUAS.

2003-10-26  Martin Grimme  <martin@pycage.de>

	* display/TargetImage.py (TargetImage.set_config): We get a significant
	performance boost by not re-rendering images when nothing has changed.

2003-10-25  Metin Amiroff  <metin@karegen.com>

	* configure.in: Added az to ALL_LINGUAS.

2003-10-24  Martin Grimme  <martin@pycage.de>

	* main/Starter.py (Starter.__create_display): Fixed the bug that caused
	gDesklets to crash when the user removes the .display file.

	* display/TargetArray.py (TargetArray.set_config): Don't place children
	if length is set to the same value.

	* display/DisplayTarget.py (DisplayTarget.__init__): Removed that CPU
	hog comment. It is fixed now.

	* display/Display.py (Display.__on_observe_sensor): Commented out the
	CPU hog gtk.Widget.queue_draw().

2003-10-21  Martin Grimme  <martin@pycage.de>

	* utils/vfs.py (open): Fixed bug reported by Tero Koskinen.

2003-10-16  Sebastien Bacher  <seb128@debian.org>

	* Makefile.am:
	* configure.in:
	Re-added vfs subdir.
	* vfs/findext.c: (parse_file):
	Now handle multiple categories.

2003-10-14  Martin Grimme  <martin@pycage.de>

	* display/DisplayTarget.py (DisplayTarget.__init__): Located and marked
	CPU hog for future fixing.

	* display/TargetLabel.py (TargetLabel.set_config): Don't redraw label
	if nothing has changed. This decreases CPU load a little.

	* desktop/GlassWindow.py (GlassWindow.set_window_type): Fixed bug where
	an invisible (not yet displayed) window causes high CPU load.

2003-10-12  Martin Grimme  <martin@pycage.de>

	* browser/MainWindow.py (MainWindow.__init__): Added menu.

	* sensor/Menu.py (Menu.__build_menu): Added support for GTK stock
	items.
	(Menu.get_menu): Added method for retrieving the GTK menu.

	* browser/Commands.py (Commands.assemble_ui): Added inserting status
	bar.

	* browser/MainWindow.py (MainWindow.__init__): The main window is a
	gnome.ui.App widget now.
	(MainWindow.__init__): Added status bar.

	* browser/Commands.py (Commands.assemble_ui): Changed to use
	gnome.ui.App.

2003-10-11  Martin Grimme  <martin@pycage.de>

	* display/ContainerTarget.py (ContainerTarget._unregister_child): Made
	this method more robust against buggy desklets.

	* factory/DisplayFactory.py (DisplayFactory.startElement): Stupid
	bugfix.

	* configure.in: The same here. We want at least 1.99.17.

	* README: At least gnome-python and pygtk 1.99.17 is required because
	of the PixbufLoader.

2003-10-11  Sebastien Bacher  <seb128@debian.org>

	* vfs/gdesklets.c: (do_open_directory), (update_display_list),
	(delete_tree), (vfs_module_init), (vfs_module_shutdown):
	Implement tree resfresh.

	* vfs/findext.c: (parse_file):
	* vfs/gdesklets.c: (create_tree):
	Use 'meta name' tag to display the names.

	* vfs/.cvsignore:
	* vfs/Makefile.am:
	* vfs/gDesklets_Component.server.in.in:
	Removed useless entry in nautilus contextual menu.

2003-10-10  Sebastien Bacher  <seb128@debian.org>

	* vfs/findext.c: (parse_file):
	* vfs/findext.h:
	* vfs/gdesklets.c: (do_open), (do_read_directory),
	(do_get_file_info), (create_tree):
	Categories' names are now different from dir names.

2003-10-10  Martin Grimme  <martin@pycage.de>

	* display/TargetArray.py (TargetArray.distribute_sensor_output): 
	Removed debugging output.

	* sensor/DefaultSensor.py (DefaultSensor.__init_display): Only set
	initial position if it was stored in the config.

	* display/Display.py (Display.__on_observe_group): Bugfix with initial
	positioning.

2003-10-10  Sebastien Bacher  <seb128@debian.org>

	* vfs/findext.c: (parse_file):
	* vfs/gdesklets.c: (do_open), (do_open_directory),
	(do_read_directory), (do_close_directory), (do_get_file_info),
	(update_display_list), (create_tree):
	Bug fixes.

2003-10-10  Sebastien Bacher  <seb128@debian.org>

	* vfs/findext.c: (parse_file):
	* vfs/findext.h:
	* vfs/gdesklets.c: (change_space), (do_open), (do_open_directory),
	(do_read_directory), (do_get_file_info), (update_display_list),
	(create_tree), (vfs_module_init):
	Rewrite the dir browsing code to use a tree instead of a list.

2003-10-09  Martin Grimme  <martin@pycage.de>

	* sensor/Sensor.py (Sensor._duplicate_display): Converted this method
	from public to protected and renamed it to _duplicate_display.

	* display/Display.py (Display.__on_observe_sensor): Added code for
	duplicating a running display.

	* sensor/Sensor.py (Sensor._get_id): Added method for retrieving the
	ID.
	(Sensor.set_id): Added method for setting the ID.
	(Sensor.duplicate): Changed to notify the observer.

	* factory/DisplayFactory.py (DisplayFactory.startElement): Added
	telling the sensor about its ID.

	* utils/Makefile.am (install_DATA): Added actionparser.py.

	* sensor/DefaultSensor.py (DefaultSensor.call_action): Added "exec"
	function for executing shell commands.

	* display/Display.py: Adapted to work with the new action string
	parser.

	* display/DisplayTarget.py (DisplayTarget.__init__): Action strings are
	no longer treated as lists.

	* display/DataTarget.py (DataTarget.set_action_call): Changed to use
	the new parser for action strings.

2003-10-08  Jesse Andrews  <jesse@uky.edu>

	* sensor/Sensor.py: added a function (duplicate) for a sensor to create
	a new copy of the display that is using that sensor

2003-10-08  Martin Grimme  <martin@pycage.de>

	* sensor/DefaultSensor.py (DefaultSensor.call_action): Added "open"
	function.

	* display/Display.py: Changed to use the DEFAULT_SENSOR constant.

	* factory/DisplayFactory.py: Changed to use the DEFAULT_SENSOR
	constant.

	* main/__init__.py (DEFAULT_SENSOR): Added constant for the id of the
	default sensor.

	* display/Display.py (Display.__get_sensor): Made this method return
	None when the sensor could not be found.
	(Display.__call_sensor): Use the default sensor if no sensor has been
	specified.

	* main/Starter.py (Starter.__remove_display): Added explicit garbage
	collection.

	* display/Display.py (Display.remove_display): Call delete method
	instead of _forget_parent.

	* display/ContainerTarget.py (ContainerTarget.delete): The same here.

	* display/DataTarget.py (DataTarget.delete): Changed method name
	_forget_parent to delete, because it is the destructor now. We must not
	use the destructor __del__ with PyGTK.

	* factory/DisplayFactory.py (DisplayFactory.create_display): Let go of
	the display after setting it up, i.e. drop its reference.
	(DisplayFactory.create_display): Added stacktrace output in the case of
	an error.

	* config/DummyBackend.py (DummyBackend.__on_watch): Bugfix.

2003-10-07  Martin Grimme  <martin@pycage.de>

	* sensor/Sensor.py (Sensor.stop): Remove config watcher handler.

	* config/ConfigManager.py (ConfigManager.__on_observe_backend): Removed
	old caching code.
	(ConfigManager.watch): The ConfigManagers takes care of watch handlers
	now.
	(ConfigManager.remove_watcher): Added method for removing watch
	handlers.

	* display/Display.py (Display.remove_display): Drop observers.

	* display/DataTarget.py (DataTarget._forget_parent): Drop observers.

	* utils/Observable.py (Observable.drop_observers): Added convenience
	method for dropping all observers at once.

	* display/Display.py (Display.set_config): Added VFS support for window
	shape files.
	(Display.remove_display): Remove observers at this stage.

2003-10-06  Martin Grimme  <martin@pycage.de>

	* display/TargetImage.py (TargetImage.__load_image): Fixed image
	scaling bug (#123587).

	* display/Display.py (Display.__call_sensor): Disabled Jesse's fix.
	I consider it wrong and we have to figure out where the redundant
	motion events come from.

	* main/__init__.py (VERSION): Raised version number to 0.23.

	* configure.in: Raised version number to 0.23.

	* README: Updated to reflect the current version.

2003-10-05  Jesse <jesse@uky.edu> and Chris <chrisime@gnome-de.org>

	* browser/DisplayList.py: try loading the default preview
	image if loading the preview specified in the .display fails

	* factory/SensorFactory.py, factory/DisplayFactory.py:
	removed crufty code

	* display/Display.py: Modify __call_sensor so that redundant
	mouse motion calls are filtered out.  ( maybe we should figure
	out where they were coming from in the first place? )

2003-10-05  Martin Grimme  <martin@pycage.de>

	* AUTHORS: Added Sebastien.

	* data/gdesklets.applications: Set vfs and expects_uris to true.

	* display/Display.py (Display.__init__): Added VFS support.

	* main/admin.py (get_displays): Changed separator ":" to "::" for VFS
	support. We cannot use ":" anymore because it clashes with VFS URIs.
	(_set_displays): Same change here.

	* main/CmdLineParser.py (CmdLineParser.parse): Added VFS support.

	* main/admin.py: Added VFS support.

	* main/Starter.py (Starter.__create_display): Added VFS support.

	* display/TargetGroup.py (TargetGroup.__set_background): Added VFS
	support.

	* display/TargetImage.py (TargetImage.__load_image): Added VFS support.

	* utils/Makefile.am (install_DATA): Added vfs.py.

2003-10-04  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.__call_sensor): Print a traceback when
	the sensor crashes here.

	* config/DummyBackend.py (DummyBackend.set): Bugfix in the notification
	of config changes.

	* display/Display.py (Display.__on_scroll): Implemented handler for
	rolling the mouse wheel.

	* display/DisplayTarget.py (DisplayTarget.set_config): Added on-scroll.

	* config/Makefile.am (install_DATA): Added DummyBackend.py and
	settings.py.

	* main/CmdLineParser.py (CmdLineParser.parse): Don't exit in no-conf
	mode after adding displays.

	* config/settings.py: Added module for storing application settings.

	* config/ConfigManager.py (ConfigManager.__init__): Use dummy backend
	when we don't want to use the config.

	* main/CmdLineParser.py (CmdLineParser.parse): Added switch for not
	using the configuration.

	* config/DummyBackend.py: Implemented dummy backend for storing
	configuration in memory.

	* config/ConfigManager.py (ConfigManager.__init__): Added dummy
	backend.

	* main/__init__.py (AUTHORS): Added Sebastien.

	* display/TargetCanvas.py (TargetCanvas.__draw): Fixed rectangle
	function.

2003-10-03  Sebastien Bacher  <seb128@debian.org>

	* tools/gdesklets-display-thumbnailer.c: (main):
	* vfs/gdesklets.c: (do_open), (do_file_control):
	Added support for relative preview paths. 

2003-10-02  Martin Grimme  <martin@pycage.de>

	* main/__init__.py (PURGE_KEY): Added name constant for the purge key.

	* main/Starter.py (Starter.__purge_config): Implemented removing of
	paths marked for purging.

	* sensor/Sensor.py (Sensor._set_paths_to_purge): New method for
	settings paths to remove for cleaning up.

	* display/Display.py (Display.__init__): The window-flags "sticky" and
	"below" are default now.

2003-10-01  Sebastien Bacher  <seb128@debian.org>

	* Makefile.am:
	* configure.in:
	Added new tools dir.
	* data/Makefile.am:
	* data/gdesklets-display-thumbnail.schemas.in:
	Added a schema file for the thumbnailer.
	* tools/Makefile.am:
	* tools/gdesklets-display-thumbnailer.c: (main), (xml_open_tag):
	Added a thumbnailer for the display's files.
	* vfs/gdesklets.c: (do_read), (do_seek), (do_tell),
	(do_read_directory), (do_close):
	Bug fixes.

2003-10-01  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.__on_motion): Fixed fluxbox/windowmaker
	window-moves-on-hover bug. These WMs draw an ugly thin frame around
	decorationless windows and we have to read the position of the
	GdkWindow without any decorations instead of the GtkWindow's position.

	* main/__init__.py (ICON): No longer exit when pygtk.py could not be
	found. Some distros seem to only have it when you have installed
	pygtk 0.66.x as well.

	* configure.in: Added ko.

2003-10-01  Sebastien Bacher  <seb128@debian.org>

	* configure.in:
	Added vfs/Makefile.

2003-09-30  Sebastien Bacher  <seb128@debian.org>

	* vfs/findext.[ch]: (parse_file), (xml_open_tag):
	Added <meta> tag parser for the displays files.
	* vfs/gdesklets.c: (do_open), (do_read), (do_open_directory),
	(do_read_directory), (do_get_file_info), (update_display_list),
	(vfs_module_init):
	Reverted to the virtual .desktop changes.
	Use <meta>/name attribute for displays' names.

2003-09-29  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.set_config): Implemented window shapes
	for arbitrary window shapes.
	
2003-09-28  Martin Grimme  <martin@pycage.de>

	* configure.in: Raised version number to 0.22.1.

	* main/__init__.py (VERSION): Raised version number to 0.22.1.

	* display/Display.py (Display.__init__): Set window type to DOCK here
	because sawfish ignores later calls.

	* main/__init__.py (DISPLAYPATHS): Added display repository paths.
	Disabled Python 2.3 check.

2003-09-27  Martin Grimme  <martin@pycage.de>

	* display/Display.py (Display.file_drop): Search for DnD targets by
	beginning at the leaves of the tree.

2003-09-26  Christian Neumair  <chris@gnome-de.org>

	* gdesklets-core.pc.in: Removed dependencies. Thanks to Nicos Panayides
	for pointing this out (Debian, #208621). Added coredir variable.

2003-09-24  Martin Grimme  <martin@pycage.de>

	* display/TargetArray.py (TargetArray.get_target_at): The same fix
	here.

	* display/DisplayTarget.py (DisplayTarget.get_target_at): The same fix
	here.

	* display/TargetGroup.py (TargetGroup.get_target_at): Fixed anchor
	event detection bug reported by Martin Klaffenboeck.

2003-09-23  Martin Grimme  <martin@pycage.de>

	* gdesklets (gc_collect): Removed changing the working directory before
	parsing the command line. This fixes the abs path bug for display
	files (#122993).

	* main/CmdLineParser.py (CmdLineParser.parse): Fixed bug with absolute
	display file path.

2003-09-21  Martin Grimme  <martin@pycage.de>

	* factory/DisplayFactory.py (DisplayFactory.startElement): Added
	handler for the new <meta> tag. Just ignore the tag for now.

	* display/TargetImage.py (TargetImage.__render_image): Fixed scaling
	bug.

	* sensor/SensorConfigurator.py (SensorConfigurator.on_ok): Tooltips
	were broken for the file selection entry. Fixed it.

	* desktop/__init__.py (get_wallcolor): Removed client.add_dir. It's
	not needed for just retrieving one GConf value.

2003-09-21  Sebastien Bacher  <seb128@debian.org>

	* vfs/gdesklets.c: (do_open), (do_read), (do_open_directory),
	(do_read_directory), (do_get_file_info):
	Switched type to virtual desktop files.
	Now the opening works without changing the client ;-).

2003-09-20  Martin Grimme  <martin@pycage.de>

	* main/__init__.py (VERSION): Raised version number to 0.22.

	* configure.in: Raised version number to 0.22.

2003-09-20  Sebastien Bacher  <seb128@debian.org>

	* vfs/gdesklets.c: (do_open_directory), (update_display_list),
	(vfs_module_init): Now the refresh works.

2003-09-20  Sebastien Bacher  <seb128@debian.org>

	* vfs/Makefile.am:
	* vfs/desklets-method.conf:
	* vfs/gdesklets-method.conf:
	* vfs/gDesklets_Component.server.in.in:
	Changed gdesklets:/// to desklets:///
	
	* vfs/findext.c: (scan_dir):
	Added "/" to the end of dir paths
	* vfs/gdesklets.c: (do_close_directory), (vfs_module_init):
	Check if the dirs exist.
	Fixed some bugs.
	Use DATADIR for the scan path.

2003-09-19  Sebastien Bacher  <seb128@debian.org>

	* vfs/gdesklets.c: Changed header.
	* vfs/scripts/cat-vfs: 
	* vfs/scripts/ls-vfs:
	Added python scripts to test the vfs module.

2003-09-19  Martin Grimme  <martin@pycage.de>

	* utils/Makefile.am (install_DATA): Added GConfWatcher.py.

	* utils/__init__.py: Added GConfWatcher.

	* main/admin.py (get_geometry): Added function for retrieving the
	geometry of a display.
	(set_position): Added function for positioning a display.

	* display/TargetLabel.py (TargetLabel.set_config): Fixed or at least
	worked around bug #122501 (cropped labels). This seems to be a bug in
	GTK or Pango actually since earlier versions didn't show this behavior.

2003-09-18  Martin Grimme  <martin@pycage.de>

        * sensor/DefaultSensor.py: Fixed watching config values.

	* main/Starter.py (Starter.__create_display): Bug fix. We have to use
	the admin functions now.

	* config/GConfBackend.py (GConfBackend.watch): Empty parts of the path
	are being ignored now.

	* sensor/Sensor.py (Sensor.__on_watch_config): Added callback method
	for watching the config.
	(Sensor._watch_config): Changed argument list. We now set a watcher for
	watching all config values.

	* config/GConfBackend.py (GConfBackend.__on_watch): Bugfix. We have to
	check whether entry.get_value() is None.

	* factory/DisplayFactory.py (DisplayFactory.startElement): Use
	set_config_id instead of set_config_manager.

	* sensor/Sensor.py (Sensor.set_config_id): Changed set_config_manager
	to set_config_id. The ConfigManager is a singleton and can be created
	directly in the sensor.

2003-09-17  Jesse Andrews  <jesse@uky.edu>

    * main/CmdLineParser.py: didn't work with relative paths, fix
    was to calculate the abspath before sending it to be added

2003-09-17  Martin Grimme  <martin@pycage.de>

	* main/Makefile.am (install_DATA): Replaced add_display.py with
	CmdLineParser.py.

	* gdesklets: Use a command line parser instead of simply running the
	deprecated add_display.py.

	* display/TargetGroup.py (TargetGroup.__set_background): Made this
	method more robust.

	* config/GConfBackend.py (GConfBackend.__on_watch): Ignore non-existing
	entries (those that were just deleted).

	* sensor/Sensor.py (Sensor.stop): Added method for executing shutdown
	tasks.
	(Sensor.stop): Call the shutdown method when the sensor gets stopped.

	* display/Display.py (Display.__on_observe_group): Only move window
	when the window is not in drag mode.

	* sensor/DefaultSensor.py (DefaultSensor.__on_move): Implemented
	watching position configuration changes in the config.

	* sensor/Sensor.py (Sensor._watch_config): Added method for settings
	callbacks for config changes.

2003-09-16  Martin Grimme  <martin@pycage.de>

	* display/TargetArray.py (TargetArray.get_target_at): Fixed bug in
	get_target_at. The wrong coordinates were checked.

	* display/Display.py (Display.file_drop): Added x, y to the values sent
	to the sensor.
	(Display.file_drop): Make use of get_target_at to find the path and
	target. This goes well with the rest of the event handling and looks
	cleaner.

	* display/DisplayTarget.py (DisplayTarget.__on_file_drop): Adjusted
	to use the new semantics of "get_display", which now returns the
	display window instead of the propagator.
	(DisplayTarget.__on_file_drop): Added x, y to the values sent to the
	sensor.

	* display/TargetArray.py (TargetArray.__add_child): Made the array give
	its children the display window instead of "self".

	* display/DataTarget.py (DataTarget.set_config): We no longer call
	add_mapping on the display but on the propagator.

	* display/TargetArray.py (TargetArray.add_mapping): We no longer call
	add_mapping recursively on the display but on the propagator.

	* display/DataTarget.py (DataTarget._get_propagator): Added method
	"get_propagator" for retrieving the sensor watch propagator of a
	target. The propagator is either the display window or an array.

	* display/DisplayTarget.py (DisplayTarget.__on_file_drop): Renamed
	method "file_drop" and made it private.

2003-09-16  Sebastien Bacher  <seb128@debian.org>

	* configure.in:
	* vfs/.cvsignore:
	* vfs/Makefile.am:
	* vfs/findext.c:
	* vfs/findext.h:
	* vfs/gDesklets_Component.server.in.in:
	* vfs/gdesklets-method.conf:
	* vfs/gdesklets.c: 
	First version a desklets:/// vfs module. Only list the displays for the
	moment, the gdesklets client part need to be adapted for opening files.

2003-09-15  Fatih Demir <kabalak@gtranslator.org>

	* configure.in: Added "tr" (Turkish) to the languages' list.

2003-09-15  Martin Grimme  <martin@pycage.de>

	* doc/Makefile.am (doc): Added rule "doc" for "synopsis" source code
	documentation tool.

	* display/Display.py (Display.__on_motion): Implemented saving the
	"real" window coordinates.

	* sensor/DefaultSensor.py (DefaultSensor.call_action): Implemented
	saving the "real" window coordinates.

2003-09-14  Martin Grimme  <martin@pycage.de>

	* main/Makefile.am (install_DATA): Added admin.py.

2003-09-14  Jesse Andrews    <jesse@uky.edu>

    * display/*  Added DND (drag-n-drop) functionality to Displays
    * display/*  Added ability for a sensor to register a callback to occur
      when a configurator is closed.

2003-09-14  Christian Meyer  <chrisime@gnome-de.org>

    * config/ConfigManager.py: Added missing comments for functions.
    * config/GConfBackend.py: Likewise.
    * desktop/GlassWindow.py: (set_transparency_mode) Takes now width and
    height. This function was never used and it comes really handy for my
    special purpose at the moment. The function could be removed if I find
    another way to set toggle the transparency if a display is broken.
    * factory/DisplayFactory.py: (create_display) Set the transparency to
    none. It now shows in the title bar which display is broken.
    * factory/SensorFactory.py: (create_sensor) Added a SUGGESTION on how to
    check the sensorpath.
    * utils/*: Likewise.

2003-09-13  Christian Meyer <chrisime@gnome-de.org>

    * main/__init__.py: Added missing comments for functions.
    * main/Starter.py: Likewise.

2003-09-14  Martin Grimme  <martin@pycage.de>

    * config/ConfigManager.py (ConfigManager.list): Implemented method to
    list all dirs of a path.

    * config/GConfBackend.py (GConfBackend.list): Implemented method to
    list all dirs of a path.

    * sensor/Sensor.py (Sensor.stop): Removed purging config. It will be
    done elsewhere.

    * display/Display.py (Display.remove_display): Adjusted class to work
    with the new admin module.

    * main/Starter.py: Adjusted class to use the new admin module for
    display operations.

2003-09-12  Martin Grimme  <martin@pycage.de>

    * autogen.sh (ACLOCAL_FLAGS): Fixed ACLOCAL_FLAGS.

    * utils/ewmh.i: Fixed include path for pygtk.h.

    * main/add_display.py (new_id): Fixed bug that allowed commas on some
    systems get into unique ID strings.

    * display/DisplayTarget.py (DisplayTarget.set_position): Fixed bug
    #121737 (relative-to + anchor).

    * configure.in: Raised version number to 0.21.2.

    * main/__init__.py (VERSION): Raised version number to 0.21.2.

    * display/Display.py (Display.__on_observe_group): Delayed show() of
    window so that it doesn't become visible before it's position has been
    set.

    * display/ContainerTarget.py (ContainerTarget.collapse_siblings): Only
    collapse visible siblings to avoid that invisible targets become
    visible.

    * display/TargetFrame.py (TargetFrame.__init__): Reverted default size
    100% for the <frame>. Default size is unset again.

2003-09-11  Martin Grimme  <martin@pycage.de>

    * display/DisplayTarget.py (DisplayTarget.__init__): Reverted (-1, -1)
    change from yesterday. It breaks displays.

    * main/__init__.py (VERSION): Raised version to 0.21.1.

    * configure.in: Raised version to 0.21.1.

    * desktop/GlassWindow.py (GlassWindow.set_window_type): Removed the
    code that reads the xid property of the GdkWindow. Old versions of
    PyGTK2 don't have this. We are passing the GdkWindow directly down to C
    level instead.

    * utils/ewmh.i: Changed functions to accept a GdkWindow*. Implemented
    a SWIG typemap for GdkWindow*.

    * utils/ewmh.c: Changed functions to accept a GdkWindow*.

2003-09-10  Martin Grimme  <martin@pycage.de>

    * autogen.sh (ACLOCAL_FLAGS): Was broken. Changed "-I macros" to
    "-I $srcdir/macros". autogen.sh works now.

    * configure.in: Added libdesklets.

    * Makefile.am (SUBDIRS): Added libdesklets.

    * display/DisplayTarget.py (DisplayTarget.__init__): Set initial coords
    to (-1, -1) to indicate that it's unset. This fixes the bug that
    display windows become visible before they have been moved to their
    location.

2003-09-09  Laurent Dhima  <laurenti@alblinux.net>

    * configure.in: Added "sq" to ALL_LINGUAS.

2003-09-09  Sebastien Bacher  <seb128@debian.org>

    * doc/man/gdesklets.1: Updated manpage for the next release.

2003-09-09  Martin Grimme  <martin@pycage.de>

    * display/Display.py (Display.__open_configurator): Fixed bug where
    color and font dialogs appeared behind the config dialog.

    * NEWS: Updated for 0.21.

    * README: Listed Sebastien in the Thanks section. :)
    Added new section Community and removed the pointer to the SourceForge
    page (we're no longer there).

    * configure.in: Raised version number to 0.21.

    * main/__init__.py (VERSION): Raised version number to 0.21.

2003-09-09  Duarte Loreto <happyguy_pt@hotmail.com>

    * configure.in: Added Portuguese (pt) to ALL_LINGUAS.

2003-09-08  Martin Grimme  <martin@pycage.de>

    * sensor/DefaultSensor.py (DefaultSensor.call_action): Implemented
    storing size values in the configuration since this was requested.

    * display/Display.py (Display.__on_observe_group): Implemented storing
    size values in the configuration since this was requested.

    * display/TargetCanvas.py (TargetCanvas.__draw): Added code for dynamic
    resizing.

    * display/TargetFrame.py (TargetFrame.__init__): Made 100% the default
    size for the frame.

    * display/TargetHTML.py (TargetHTML.set_config): Added property for
    scrollbars policy.

    * display/Display.py (Display.__on_configure): Added code for detecting
    manual resizing of display windows.

    * display/ContainerTarget.py (ContainerTarget._get_child): Return None
    when the container has no children instead of crashing.

2003-09-08  Christian Neumair  <chris@gnome-de.org>

    * macros/python-include.m4: Added. Thanks to Alexandre Duret-Lutz.
    * Makefile.am (SUBDIRS): Added missing files.
    * autogen.sh (ACLOCAL_FLAGS): Added.
    * configure.in: Use new macro to determine Python's include dir.

2003-09-07  Christian Neumair  <chris@gnome-de.org>

    * configure.in: Added AC_DISABLE_STATIC macro. We don't need static
    libraries.

2003-09-07  Martin Grimme  <martin@pycage.de>

    * display/Display.py (Display.__remove_display): Made sure that sensors
    get deleted when a display is being removed.

    * main/__init__.py (SENSORPATHS): Fixed bug #121515 (loading order).

2003-09-07  Martin Grimme  <martin@pycage.de>

    * desktop/GlassWindow.py: Import _ewmh instead of ewmh now because of
    SWIG-1.3.
    (GlassWindow.set_window_type): Some window flags may only be set on
    visible windows. Implemented delaying of these actions.

    * utils/Makefile.am (_ewmhmodule_la_LDFLAGS): Switched to SWIG-1.3
    syntax. The name of the .so has to start with an underscore.

2003-09-07  Christian Neumair  <chris@gnome-de.org>

    * Sensors/Makefile.am, Sensors/External/Makefile.am,
      Sensors/Makefile.am, doc/Makefile.am, doc/man/Makefile.am: Added.

    * utils/Makefile.am: Slight formatting fixes.

    * configure.in: (AC_OUTPUT): Added missing Makefiles.

2003-09-07  Christian Meyer <chris@gnome-de.org>

        * AUTHORS: Added missing authors.
        * TODO: Updated to reflect current thoughts/ideas.

2003-09-06  Martin Grimme  <martin@pycage.de>

    * desktop/__init__.py (get_wallpaper): Implemented check to see if
    gtk.gdk.gdk_pixmap_foreign_new exists. The PyGTK API has changed and
    the function is now called gtk.gdk.pixmap_foreign_new.
    Thanks to mxpxpod for his help.

    * README: Revised README to reflect the latest version.

    * Sensors/External/__init__.py: Moved External sensor into the core.

    * factory/SensorFactory.py (SensorFactory.create_sensor): Remember the
      absolute sensor path for reloading sensor modules.

    * Sensors/FontSelector/__init__.py: Imported Psi's FontSelector sensor
      into the core. Adjusted code style and made improvements.

    * display/TargetPlotter.py (TargetPlotter.__plot): Implemented
      auto-scaling.
    (TargetPlotter.__plot): Enabled transparent background for bg-color="".

2003-09-06  Sebastien Bacher  <seb128@debian.org>

    * doc/gdesklets.1: Added a manpage.

2003-09-06  Danilo Šegan  <dsegan@gmx.net>

    * configure.in: Added "sr" and "sr@Latn" to ALL_LINGUAS.

2003-09-05  Christian Neumair  <chris@gnome-de.org>

    * data/Makefile.am: Use $(PYTHON) for python binary.
    * utils/Makefile.am: Add new target to generate ewmh_wrap.c.
    * configure.in: Add python checks.

2003-09-05  Christian Neumair  <chris@gnome-de.org>

    * utils/Makefile.am: Add ewmhmodule.
    * configure.in: (GDESKLETS_CORE_REQS): Added GTK and GDK.

2003-09-05  Martin Grimme  <martin@pycage.de>

    * display/Display.py (Display.__init__): Removed old and unreliable
    SKIP_TASKBAR and SKIP_PAGER code. It's no longer needed.

    * desktop/GlassWindow.py (GlassWindow.set_window_type): Added module
    ewmh for better handling of "above" and "below". The desklets no longer
    appear in the Alt+Tab menu of metacity, and even stay visible when you
    enter "show desktop" mode.

    * display/targetregistry.py (no_ids): The application no longer crashes
    when a target cannot be imported.

    * display/TargetHTML.py (TargetHTML.__init__): Implemented URIs and
    clicking on links.

    * display/TargetImage.py (TargetImage.__load_image): Uses the .display
    path to find the file.

    * display/TargetGroup.py (TargetGroup.__set_background): Uses the
    .display path to find the file.

    * factory/DisplayFactory.py (DisplayFactory.__create_settings): Removed
    the abspath hack. :)

    * display/Display.py (Display.get_path): Added method for retrieving
    the path of the .display file.

    * display/DataTarget.py (DataTarget._get_path): Added method for
    retrieving the path of the .display file.

2003-09-04  Christian Rose  <menthos@menthos.com>

    * configure.in: Added "sv" to ALL_LINGUAS.

2003-09-04  Christian Neumair  <chris@gnome-de.org>

    * autogen.sh: Use GNOME's autogen.sh instead of custom implementation.

2003-09-04  Sebastien Bacher  <seb128@debian.org>

    * display/TargetLabel.py (set_config): Added a test to avoid utf-8
    string breakage.

2003-09-04  Martin Grimme  <martin@pycage.de>

    * sensor/SensorConfigurator.py (SensorConfigurator.add_color_selector):
    Removed set_title. It's not needed after gnome.program_init.
    (SensorConfigurator.add_font_selector): Removed set_title and
    set_preview_text. They're not needed after gnome.program_init.

    * config/GConfBackend.py (GConfBackend.__init__): Located and fixed
    bug #120642. Now gnome.program_init seems to work without flaws.
    We don't have to watch the complete GConf tree, of course. :)

2003-09-04  Christian Neumair  <chris@gnome-de.org>

    * display/Makefile.am (install_DATA): Added some missing files.

2003-09-03  Martin Grimme  <martin@pycage.de>

    * desktop/GlassWindow.py (GlassWindow.__display_bg): Increased
    performance. The garbage collector is not run every time.

2003-09-03  Christian Meyer <chrisime@gnome-de.org>

    * display/TargetFrame (set_config): Implemented porperties which don't
    seem to work right now ;-)

2003-09-03  Martin Grimme  <martin@pycage.de>

    * sensor/Sensor.py (Sensor._get_config_id): Added protected method for
    retrieving the unique config ID of the sensor. Might be useful
    sometimes.
    (Sensor._get_path): Added protected method for retrieving the path of
    the sensor. This is useful because os.getcwd returns the correct path
    only during initialization.

    * desktop/GlassWindow.py (GlassWindow.__display_bg): Implemented the
    proposed work-around for the memory leak bug #110261 of pygtk: run the
    garbage collector manually after the leaking function.

    * desktop/GlassWindow.py (GlassWindow.__display_bg): Fixed memory leak.

    * factory/DisplayFactory.py (DisplayFactory.create_display): 'watch'
    can now be used in the <display> tag as well. The DisplayFactory no
    longer overrides previous 'watch' settings.

    * display/DisplayTarget.py (DisplayTarget.__init__): Fixed the bug Psi
    reported which caused window resizing to fail after one size value has
    been set in the .display file.

    * utils/pwstore.py (_create_store): Fixed large int bug reported by
    Psi that made pwstore fail on Python 2.2.

2003-09-02  Martin Grimme  <martin@pycage.de>

    * display/TargetPlotter.py (TargetPlotter.__init__): Added plotter
    target.

    * display/TargetFrame.py (TargetFrame.__init__): Added target for
    putting frames around a target.

    * display/Display.py (Display.__on_close): The window close action
    properly removes the display now.

2003-09-01  Martin Grimme  <martin@pycage.de>

    * display/TargetImage.py (TargetImage.__render_image): Added explicit
    size option for images.

2003-08-31  Martin Grimme  <martin@pycage.de>

    * display/Makefile.am (install_DATA): Added TargetHTML.py.

    * display/targetregistry.py (_REGISTRY): Added HTML display target.

    * configure.in: Added es to ALL_LINGUAS.

    * README: Updated README.

2003-08-30  Martin Grimme  <martin@pycage.de>

    * display/DisplayTarget.py (DisplayTarget.set_position): Restricted
    the coordinates for percentual values to make sure that children
    with percentual coordinates cannot stretch their parents.

    * display/ContainerTarget.py (ContainerTarget.collapse_siblings): 
    Made this method check for percentual coord values as well.

    * display/DisplayTarget.py (DisplayTarget.get_percentual_state): 
    Extended this method to return the coordinates states as well.

2003-08-29  Martin Grimme  <martin@pycage.de>

    * configure.in: Raised version number to 0.20.

    * main/__init__.py (VERSION): Raised version number to 0.20.

2003-08-28  Martin Grimme  <martin@pycage.de>

    * display/DisplayTarget.py (DisplayTarget.set_position): Implemented
    percentual positioning.

    * main/__init__.py: Disabled gnome.program_init again.
    It causes lots of crashes.

2003-08-27  Christian Neumair  <chris@gnome-de.org>

    * data/Makefile.am:

    Finally implemented clean usermode desktop installation.

    * data/gdesklets.keys.in: (icon_filename):
    * data/x-gdesklets-display.png:

    Added cool MIME icon for display files by Johannes Rebhan.

2003-08-27  Martin Grimme  <martin@pycage.de>

    * display/TargetBonoboControl.py (TargetBonoboControl.__init__): 
    Added target for embedding Bonobo controls.

    * display/DisplayTarget.py (DisplayTarget.__init__): Enabled percentual
    sizes again.

    * display/ContainerTarget.py (ContainerTarget.collapse_siblings): 
    Implemented method for causing children with percentual sizes of a
    container collapse so the container may shrink.

2003-08-26  Martin Grimme  <martin@pycage.de>

    * factory/SensorFactory.py (SensorFactory.create_sensor): Added
    stack trace output when importing a sensor fails. This simplifies
    debugging a lot.

    * main/Starter.py (Starter.__restart_display): Implemented restarting
    displays.

    * display/Display.py (Display.__on_observe_sensor): Added handler for
    restarting the display.

    * sensor/Sensor.py (Sensor._open_menu): Added menu entry and handler
    for "Restart display".

2003-08-25  Christian Neumair  <chris@gnome-de.org>

    * data/gdesklets.desktop.in:

    Added Bugzilla information.

    * data/gdesklets.applications: (name):
    * gdesklets.pc.in: (Name):

    s/gDeskLets/gDesklets/.

2003-08-25  Martin Grimme  <martin@pycage.de>

    * display/DisplayConfigurator.py (DisplayConfigurator.__init__): 
    The DisplayConfigurator no longer uses a notebook when there is only
    one page of SensorConfigurators.

    * utils/TypeConverter.py: Added data type TYPE_SECRET_STRING.

    * utils/pwstore.py: Added module for (quite) safely storing password
    data.

2003-08-24  Christian Neumair  <chris@gnome-de.org>

    * config/Makefile.am,
    * desktop/Makefile.am,
    * display/Makefile.am,
    * factory/Makefile.am,
    * main/Makefile.am,
    * po/Makefile.am,
    * sensor/Makefile.am,
    * utils/Makefile.am,
    * Makefile.am: (CLEANFILES):

    Added CLEANFILES.

    * locale/Makefile.am: (uninstall-local), (clean-am):

    Tweaked uninstall-local, added clean-am target.

2003-08-24  Martin Grimme  <martin@pycage.de>

    * main/__init__.py (chldhandler): Don't set the SIGCHLD handler
    blindly after running gnome.program_init. Get the correct handler
    before and set it again after calling gnome.program_init.

    * display/TargetLabel.py (TargetLabel.set_config): Only convert
    non-unicode strings to UTF-8, to avoid bad suprises.

    * display/Display.py (Display.__init__): Skip taskbar and skip pager
    work with sawfish finally.

    * main/__init__.py (VERSION): Raised version number to 0.13.

    * display/TargetArray.py (TargetArray.distribute_sensor_output): 
    Fixed bug so that nested arrays work as expected now.

    * desktop/GlassWindow.py (GlassWindow.set_window_type): Implemented
    window-flag "above".

2003-08-23  Martin Grimme  <martin@pycage.de>

    * desktop/GlassWindow.py (GlassWindow.__capture_bg): Removed alpha
    channel from the color values so that Python won't raise a
    FutureWarning.

    * sensor/SensorConfigurator.py (SensorConfigurator.on_ok): Added a
    working file selector. gnome.ui.FileEntry couldn't be used because it
    keeps crashing.
    (SensorConfigurator.add_font_selector): Removed font preview text. This
    is not need after gnome.program_init().
    (SensorConfigurator.add_entry): Added optional password option for the
    entry so that the entered text is replaced by dots.

    * sensor/Sensor.py (Sensor.__on_about): The C locale no longer shows
    "translator_credits" as the translators in the about dialog.

    * display/TargetLabel.py (TargetLabel.set_config): Added unicode
    conversion to the label text.

2003-08-21  Martin Grimme  <martin@pycage.de>

    * sensor/SensorConfigurator.py (SensorConfigurator.__add_line): 
    Cosmetical change in the dialog layout. Lines with only one element
    use the whole table width now.

2003-08-20  Martin Grimme  <martin@pycage.de>

    * main/__init__.py: Finally found out how to repair the
    broken gnome.program_init. This is only a workaround. I will discuss
    with James about it.
    We have to reset the handler for SIGCHLD to SIG_DFL.

2003-08-19  Martin Grimme  <martin@pycage.de>

    * main/__init__.py: Added signal handler for SIGINT to quit on Ctrl-C.

2003-08-18  Christian Neumair  <chris@gnome-de.org>

    * data/Makefile.am: (install-data-hook):
    * Makefile.am: (install-data-hook):

    Further build improvements. Thanks to Jason Tackaberry <tack@auc.ca>
    for pointing this out and providing a patch.

2003-08-18  Christian Neumair  <chris@gnome-de.org>

    * autogen.sh:

    Replaced gnome-autogen.sh-dependant script by GTK+'s autogen.sh
    version, tweak it.

    * configure.in:

    Added AC_PROG_LIBTOOL macro.

    * Makefile.am: (AUTOMAKE_OPTIONS):

    Simplified tarball creation process.

    * NEWS:

    Updated.

2003-08-18  Martin Grimme  <martin@pycage.de>

    * gdesklets (gc_collect): Added a regular call for the garbage
    collector. Otherwise, Python would free unused memory rather late.

    * main/__init__.py: Disabled gnome.program_init(). It causes trouble
    (this is a known and unfixed bug of gnome2-python).

    * sensor/SensorConfigurator.py (SensorConfigurator.add_option): 
    The option menu got broken some day. Repaired it.


2003-08-18  Christian Neumair  <chris@gnome-de.org>

    * data/Makefile.am: (mime_in_files), (mime_DATA):

    Use intltool rule to generate keys file.

    * locale/Makefile.am: (all-am), (uninstall-local):

    Added some hacky VPATH magic to all-am to satisfy distcheck as well as
    a custom uninstall routine.

    * locale/install_locales.py:

    Revamped. Now allows to specify source/target dir and domain at
    runtime.

    * po/Makefile.am:

    Added.

    * Makefile.am: (SUBDIRS), (EXTRA_DIST):

    Added po to SUBDIRS, removed po wildcard from EXTRA_DIST.

    * NEWS:

    Updated.

    * configure.in: (AC_OUTPUT):

    Added po/Makefile.

2003-08-17  Martin Grimme  <martin@pycage.de>

    * main/__init__.py: Added gnome.program_init(). Thanks to Sebastien
    Bacher for this tip. The about dialog works better now.

2003-08-17  Christian Neumair  <chris@gnome-de.org>

    * config/Makefile.am:
    * desktop/Makefile.am:
    * display/Makefile.am:
    * factory/Makefile.am:
    * locale/Makefile.am:
    * main/Makefile.am:
    * sensor/Makefile.am:
    * utils/Makefile.am:

    Re-hardcode dirname (instead of invoking basename) in order to reduce
    dependencies, use list for install_DATA instead of wildcard to
    re-enable distcheck.

2003-08-17  Christian Neumair  <chris@gnome-de.org>

    * config/Makefile.am: (install-data-hook):
    * desktop/Makefile.am: (install-data-hook):
    * display/Makefile.am: (install-data-hook):
    * factory/Makefile.am: (install-data-hook):
    * locale/Makefile.am: (install-data-hook):
    * main/Makefile.am: (install-data-hook):
    * sensor/Makefile.am: (install-data-hook):
    * utils/Makefile.am: (install-data-hook):
    * Makefile.am: (install-data-hook):

    Removed obsolete hooks, unexisting install dirs are generated
    automagically by autotools.

    * data/Makefile.am: (install-data-hook), (uninstall-local):

    Ditto, added some desktop-helper.py calls and user installation magic.

    * data/desktop-helper.py:

    Added.

    * configure.in:

    Added user installation, i.e. data files are installed only for
    current user.

    * user-install:

    Dropped in favor of data/desktop-helper.py.

2003-08-17  Martin Grimme  <martin@pycage.de>

    * main/__init__.py (VERSION): Raised version number to 0.12.

    * display/DisplayTarget.py (DisplayTarget.__init__): Disabled
    percentual sizes until the problems are fixed.

    * display/TargetGroup.py (TargetGroup.__collapse_bg): Improved handling
    of the group background a little bit.

2003-08-16  Martin Grimme  <martin@pycage.de>

    * sensor/SensorConfigurator.py (SensorConfigurator.add_font_selector): 
    Added method for adding font selector.
    (SensorConfigurator.add_color_selector): Added method for adding color
    selector.
    (SensorConfigurator.add_color_selector): Set empty title for the
    GnomeColorPicker to avoid encoding errors.
    (SensorConfigurator.__on_change): Removed alpha channel from the picked
    color. The alpha channel is only valid for GdkPixbuf. It may be
    necessary to provide an extra color picker that has alpha support.

    * display/DisplayTarget.py (DisplayTarget.__on_observe_parent):
    Improved the handling of percentual size values, but there still remain
    some problems.

2003-08-15  Martin Grimme  <martin@pycage.de>

    * factory/DisplayFactory.py (DisplayFactory.__create_settings): Fixed
    bug where relative URIs where used at a point where the working
    directory has changed. Made the URIs absolute.

    * display/DisplayTarget.py (DisplayTarget.__on_observe_parent):
    Implemented percentual values for width and height properties.

    * utils/datatypes.py (TYPE_SIZE): Added size data type for target
    properties.

    * main/__init__.py (_): The (c) does now display correctly in the
    shell.

2003-08-14  Martin Grimme  <martin@pycage.de>

    * display/DisplayTarget.py (DisplayTarget.set_position): Fixed the
    semantics of relative positioning. This was not really a bug, but it's
    better now (more intuitive). Unfortunately, this will break some
    displays... Better now rather than when too many displays rely on it.

2003-08-13  Martin Grimme  <martin@pycage.de>

    * main/__init__.py (VERSION): Raised version number to 0.12pre.

    * display/TargetArray.py (TargetArray.__place_children): Added relative
    positioning to arrays. This allows for array elements with different or
    even dynamically changing size.

    * desktop/GlassWindow.py (GlassWindow.__init__): Popup menus now work
    on XFCE4. Windows with flag "below" now lower themselves on
    focus-in-event and button-press-event (instead of on expose-event).

    * display/TargetCanvas.py (TargetCanvas.__draw): PyGTK 1.99.15 doesn't
    like instantiating GdkColor (it's an abstract class there). Changed
    this to use gdk_color_parse() to create colors.

    * sensor/SensorConfigurator.py (SensorConfigurator.add_title): Gave ""
    as argument to the GtkLabel constructor. Otherwise PyGTK 1.99.15
    crashes.

2003-08-12  Christian Neumair  <chris@gnome-de.org>

    * config/Makefile.am: (install-data-hook):
    * data/Makefile.am: (install-data-hook):
    * desktop/Makefile.am: (install-data-hook):
    * display/Makefile.am: (install-data-hook):
    * factory/Makefile.am: (install-data-hook):
    * locale/Makefile.am: (install-data-hook):
    * main/Makefile.am: (install-data-hook):
    * sensor/Makefile.am: (install-data-hook):
    * utils/Makefile.am: (install-data-hook):
    * Makefile.am: (install-data-hook):

    Some fixes in order to make gDesklets work with Gentoo. Thanks to Ian
    Leitch (port001@w0r.mine.nu) for reporting these issues.

    * NEWS:

    Updated.

2003-08-12  Martin Grimme  <martin@pycage.de>

    * main/__init__.py (VERSION): Raised version number to 0.11. Ready for
    the next release.

2003-08-11  Martin Grimme  <martin@pycage.de>

    * locale/install_locales.py (files): The domain name is now a command
    line argument instead of being extracted from the filename of the
    .pot file.

    * factory/SensorFactory.py: Fixed bug with missing gettext function _.
    It was not imported from main.

    * de.po: Fixed ugly bugs in the German translation file.

    * utils/i18n.py (dummy): gDesklets now survives when gettext is
    unavailable.

2003-08-12  Christian Meyer  <chrisime@gnome-de.org>

    * locale/install_locales.py: Fixed locale stuff. Patch from
    Olivier Blin <olivierblin@club-internet.fr>. The buildsystem should
    work now.

2003-08-11  Christian Neumair  <chris@gnome-de.org>

    * display/DisplayConfigurator.py:
    Made outer spacing HIG-compliant.

2003-08-10  Martin Grimme  <martin@pycage.de>

    * desktop/__init__.py (get_wallcolor): Solid colored backgrounds are
    now captured using the value from GConf. Ported this from gDeskCal.

    * main/__init__.py (VERSION): Raised version number to 0.101.

    * desktop/BGWatcher.py (BGWatcher.__check_bg): Hopefully found a
    workaround for the background updating bug in nautilus. Delay the
    background update for a little amount of time.

    * display/Display.py (Display.__on_observe_sensor): Made the display
    force a redraw after target properties have been set.

    * main/__init__.py (VERSION): Set version number to 0.10.

2003-08-09  Martin Grimme  <martin@pycage.de>

    * README: Revised the README to make sure that it reflects the current
    version.

    * display/TargetArray.py (TargetArray.__remove_child): When a child
    is removed from the array, it also has to be removed from the Hash2D
    data structure. This is now fixed.

    * display/TargetGroup.py (TargetGroup.__tile_background): Corrected
    bug with tiling the background where the group could not get smaller
    than its bg image.

2003-08-09  Christian Meyer  <chrisime@gnome-de.org>

    * README: Added recommended versions.

    * gdesklets: Added encoding header which is necessary for python 2.3.

    * main/__init__.py: Removed special copyright sign until I've figured
    out how to fix it. Use UTF-8 now.
    Warning if python version smaller than 2.3.
    Bumped to version to 0.10rc3.

    * display/TargetLable.py: Fixed implicit cast in __set_font.
    Python 2.3 doesn't like float there anymore; using int now.

2003-08-08  Martin Grimme  <martin@pycage.de>

    * display/Display.py (Display.add_mapping): Removed bug where targets
    receive the same settings more than once at a time.

    * sensor/SensorConfigurator.py (SensorConfigurator.add_spin): Made the
    spin button accept only numerals.

    * display/TargetImage.py (TargetImage.__scale_image): Comparison of
    the old and new scaling values also checks whether the cache is
    empty, so we don't miss necessary updates.

    * display/DisplayTarget.py (DisplayTarget.set_config): Added on-press
    and on-release to the known action of a DisplayTarget.

    * display/Display.py (Display.__on_button): Revised the detection of
    mouse actions. Made a difference between button release and button
    click.

2003-08-07  Christian Meyer  <chrisime@gnome-de.org>

    * core/sensor/SensorConfigurator.py: Removed hardcoded values in
    add_spin().

2003-08-07  Martin Grimme  <martin@pycage.de>

    * main/__init__.py (VERSION): release candidate 2

    * sensor/Sensor.py (Sensor.__on_about): Set the icon of the about
    window to the gDesklets icon.

    * display/Display.py (Display.__on_observe_sensor): Window updates are
    now frozen while the Sensor output is being processed. This hopefully
    results in less flickering.
    (Display.__init__): The displays now have an icon. Alt+Tab in metacity
    always shows the windows regardless of their skip-pager state.

2003-08-06  Martin Grimme  <martin@pycage.de>

    * SensorFactory.py: Added dialog that tells the user which sensor is
    missing or broken.

    * Display.py: Fixed bug which caused wrong window positioning when the
    program is started after login.

2003-08-05  Martin Grimme  <martin@pycage.de>

    * gDesklets: release candidate 1
