2008-07-03  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/connection.c (xim_connection_forward_client_message_event):
	ifdef conditioned code.

	* tests/rhbz_453358.c: new testcase.

	* src/factory_info.c (imsettings_info_manager_real_get_current_user_im):
	check if current user IM is still valid. (rhbz#453358)
	(imsettings_info_manager_real_get_current_system_im): likewise.

	* tests/gcit_11.c: Update to use more common function.

	* tests/gcit_5.c: likewise.

	* tests/imsettings-request.c: likewise.

	* tests/main.c (imsettings_test_restart_daemons_full): new function.
	(imsettings_test_restart_daemons): likewise.
	(imsettings_test_reload_daemons): likewise.

2008-07-02  Akira TAGOH  <tagoh@redhat.com>

	* tests/imsettings-request.c: New testcase.

	* src/factory_info.c (imsettings_info_manager_validate_from_file_info):
	Fix a regression - validate xinputrc and .xinputrc as well.

2008-07-02  Akira TAGOH  <tagoh@redhat.com>

	* m4macros/tar.m4: get rid of h option for tar to include a dangling
	symlink for testcase.

	* tests/testcases/Makefile.am (dist-hook): include all the testcases
	into the archive.

2008-06-30  Akira TAGOH  <tagoh@redhat.com>

	* tests/gcit_11.c: new testcase for Issue#11.

	* src/factory_info.c (imsettings_info_manager_validate_from_file_info):
	check the config file's suffix (Issue#11).

2008-06-26  Akira TAGOH  <tagoh@redhat.com>

	* backends/gconf/main.c (main): unref the main loop.

	* src/factory_info.c (main): unref the main loop.

	* backends/xim/main.c (main): unref the main loop.

	* src/factory.c (main): unref the main loop.

2008-06-18  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/loopback.c (xim_loopback_finalize): unset the selection
	owner.

	* backends/xim/utils.c (xim_lookup_atom): deal with the X event in
	the queue before doing something.

	* backends/xim/server.c (xim_server_set_property): work around for
	a dalay until IM is ready. (rhbz#451753)

	* src/factory.c (imsettings_manager_real_what_im_is_running):
	Fix a typo. always saying IM is running if no .xinputrc.

2008-06-17  Akira TAGOH  <tagoh@redhat.com>

	* utils/imsettings-info.c (main): exit if can't get the session bus.

	* utils/imsettings-stop.c (main): likewise.

	* utils/imsettings-restart.c (main): likewise.

	* utils/imsettings-start.c (main): likewise.

	* utils/imsettings-list.c (main): likewise.

	* utils/imsettings-stop.c (main): Fix a typo in the help
	message. (rhbz#451739)

	* utils/imsettings-restart.c (main): likewise.

	* utils/imsettings-start.c (main): likewise.

	* backends/xim/main.c (main): do not unref the instance of
	IMSettingsInfo during referring the information in IMSettingsInfo
	because those is the constant variable.

2008-06-12  Akira TAGOH  <tagoh@redhat.com>

	* src/factory_info.c (imsettings_info_manager_real_changed_dot_xinputrc):
	do not remove the hash by IM name. (Issue#9)

2008-06-11  Akira TAGOH  <tagoh@redhat.com>

	* utils/imsettings-info.c (main): check the version of the service
	and reload as needed.

	* utils/imsettings-stop.c (main): likewise.

	* utils/imsettings-restart.c (main): likewise.

	* utils/imsettings-start.c (main): likewise.

	* utils/imsettings-list.c (main): likewise.

	* src/factory.c (imsettings_manager_real_get_version): new.

	* src/factory_info.c (imsettings_info_manager_real_get_version): new.

	* imsettings/imsettings-request.c (imsettings_request_get_version):
	new.

	* imsettings/imsettings-observer.c (imsettings_get_version): new.

	* imsettings/imsettings.xml: Add GetVersion method.

	* imsettings/imsettings-object.c (imsettings_object_dump):
	output the type name instead of GType directly. this wasn't a portable
	way for other process.
	(imsettings_object_load_from_stream): likewise.

	* src/factory_info.c (imsettings_info_manager_validate_from_file_info):
	do not destroy an object.
	(imsettings_info_manager_validate_from_file): destroy a GFileInfo
	object.
	(main): initialize arg_homedir.

	* src/factory.c (imsettings_manager_real_start_im): Get information
	from IMSettingsInfo instead of asking through IMSettingsRequest
	every time.
	(imsettings_manager_real_stop_im): likewise.
	(imsettings_manager_real_what_im_is_running): likewise.

	* utils/imsettings-info.c (main): likewise.

	* backends/xim/main.c (main): likewise.

	* imsettings/imsettings-request.c (imsettings_request_get_info_objects):
	new for GetInfoObjects.
	(imsettings_request_get_info_object): new for GetInfoObject.
	(imsettings_request_get_xinput_filename)
	(imsettings_request_get_im_module_name)
	(imsettings_request_get_xim_program)
	(imsettings_request_get_preferences_program)
	(imsettings_request_get_auxiliary_program)
	(imsettings_request_get_short_description)
	(imsettings_request_get_long_description)
	(imsettings_request_is_system_default)
	(imsettings_request_is_user_default, imsettings_request_is_xim):
	Removed. these APIs are no longer supported in C API. but D-Bus API
	still do support.

	* src/factory_info.c (_collect_info_objects): new
	(imsettings_info_manager_real_get_info_objects): likewise.

	* imsettings/imsettings-observer.c (imsettings_get_info_objects):
	Implementation of GetInfoObjects.
	(imsettings_get_info_object): likewise for GetInfoObject.

	* imsettings/imsettings.xml: Add GetInfoObjects and GetInfoObject
	method.

	* imsettings/imsettings-info.c (imsettings_info_load): do not break
	the original value for padding.

	* tests/gcit_7.c: New testcase for Issue#7.

	* configure.ac: get rid of gamin check. no longer depend on that
	directly.

2008-06-10  Akira TAGOH  <tagoh@redhat.com>

	* utils/imsettings-restart.c (main): Fix a typo. (RHBZ#450574)

2008-06-06  Akira TAGOH  <tagoh@redhat.com>

	* imsettings.pc.in (Requires): Add gio-2.0.

2008-06-04  Akira TAGOH  <tagoh@redhat.com>

	* data/xim.in.in: get rid of shebang.

	* imsettings/imsettings-request.c (imsettings_request_get_im_list)
	(imsettings_request_get_current_user_im)
	(imsettings_request_get_current_system_im)
	(imsettings_request_get_xinput_filename)
	(imsettings_request_get_im_module_name)
	(imsettings_request_get_xim_program)
	(imsettings_request_get_preferences_program)
	(imsettings_request_get_auxiliary_program)
	(imsettings_request_get_short_description)
	(imsettings_request_get_long_description)
	(imsettings_request_is_system_default)
	(imsettings_request_is_user_default, imsettings_request_is_xim)
	(imsettings_request_get_supported_language)
	(imsettings_request_start_im, imsettings_request_stop_im)
	(imsettings_request_what_im_is_running)
	(imsettings_request_change_to): Allow invoking without giving GError.

2008-06-03  Akira TAGOH  <tagoh@redhat.com>

	* data/xinputinfo.sh.in: Add ICON support.

	* tests/gcit_5.c (setup): Fix a typo.

	* tests/imsettings-info.c (test_imsettings_info_get_icon_file):
	New testcase.

	* README: Add a description for ICON option.

	* imsettings/imsettings-info.c (imsettings_info_notify_properties):
	Add ICON support.
	(imsettings_info_get_icon_file): new function.

	* src/factory_info.c (imsettings_info_manager_validate_from_file_info):
	New function to check if the file got changed is valid to deal with.
	(imsettings_info_manager_validate_from_file): likewise.
	(imsettings_info_manager_real_changed_xinputd): don't try to add
	the information if it's not a valid file.
	(imsettings_info_manager_real_changed_dot_xinputrc): likewise.
	(imsettings_info_manager_real_changed_xinputrc): likewise.
	(imsettings_info_manager_init_monitor): clear the current IM held in.

	* imsettings/imsettings-request.c (imsettings_request_get_im_list)
	(imsettings_request_get_current_user_im)
	(imsettings_request_get_current_system_im)
	(imsettings_request_get_xinput_filename)
	(imsettings_request_get_im_module_name)
	(imsettings_request_get_xim_program)
	(imsettings_request_get_preferences_program)
	(imsettings_request_get_auxiliary_program)
	(imsettings_request_get_short_description)
	(imsettings_request_get_long_description)
	(imsettings_request_is_system_default)
	(imsettings_request_is_user_default, imsettings_request_is_xim)
	(imsettings_request_get_supported_language)
	(imsettings_request_start_im, imsettings_request_stop_im)
	(imsettings_request_what_im_is_running)
	(imsettings_request_change_to): export GError to able to deal with more
	complex error handling.

	* imsettings/imsettings-observer.c (imsettings_what_input_method_is_running):
	Intialize the return value even if any errors happens.

2008-05-30  Akira TAGOH  <tagoh@redhat.com>

	* tests/gcit_5.c: New testcase for Issue#5.

	* src/factory_info.c (imsettings_info_manager_real_set_property):
	new function.
	(imsettings_info_manager_real_get_property): new function.
	(imsettings_info_manager_init_monitor): check if .xinputrc or xinputrc
	really exists.
	(main): Add --xinputrcdir, --xinputdir and --homedir for debugging
	purpose.

	* imsettings/imsettings-info.c (imsettings_info_update_filename_list)
	(_imsettings_info_init, _imsettings_info_finalize)
	(_imsettings_info_get_filename_list): Removed. no longer used.

	* src/factory_info.c (imsettings_info_manager_get_fam_target)
	(imsettings_info_manager_fam_event_loop)
	(imsettings_info_manager_pending_init): Removed.
	(imsettings_info_manager_real_changed_xinputd): New function to take
	actions for monitoring xinput.d.
	(imsettings_info_manager_real_changed_dot_xinputrc): likewise for
	.xinputrc.
	(imsettings_info_manager_real_changed_xinputrc): likewise for xinputrc.
	(imsettings_info_manager_init_monitor): renamed from *_init_fam.
	We use GFileMonitor instead of using FAM directly.
	(imsettings_info_manager_tini_monitor): likewise.

	* imsettings/imsettings-object.c (imsettings_object_base_class_init):
	Initialize the hash here to share that in the class properly.
	(imsettings_object_base_class_finalize): Destroy the hash instead of
	the object finalizer. that caused an error in g_hash_table_destroy.

2008-05-29  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/Makefile.am (libimsettings_la_LDFLAGS):
	Add -version-info.

2008-05-28  Akira TAGOH  <tagoh@redhat.com>

	* tests/imsettings-info.c: New testcase for IMSettingsInfo.

	* imsettings/imsettings-object.c (_swap16, _swapu16, _swap32)
	(_swapu32, _swap64, _swapu64): Fix a typo.
	(imsettings_object_dump): Lookup the table first to check
	if the property is supposed to dump in the own way.
	(imsettings_object_dump): Fix an endian issue to update the amount
	of property.
	(imsettings_object_load_from_stream): Initialize GValue before puting
	a value.

	* imsettings/imsettings-utils.h (imsettings_swap16)
	(imsettings_swapu16, imsettings_swap32, imsettings_swapu32)
	(imsettings_swap64, imsettings_swapu64): Fix a typo.

	* imsettings/imsettings-info.c (imsettings_info_get_property):
	Add PROP_LANGUAGE, missing property.
	(imsettings_info_dump): Fix a crash if no language is given.
	(imsettings_info_dump): Add more self-dump for PROP_SHORT_DESC and
	PROP_IS_XIM.
	(imsettings_info_load): likewise.
	(imsettings_info_get_language): new function.
	(imsettings_info_compare): Add a debugging code.

2008-05-15  Akira TAGOH  <tagoh@redhat.com>

	* configure.ac: Add checking if "check" is available.

	* tests/Makefile.am: new.

	* tests/imsettings-object.c: test case for IMSettingsObject.

	* tests/main.[ch]: core module for the unit testing.

	* requires (CHECK_REQUIRED): for Unit testing.

	* README: Add more docs.

2008-05-14  Akira TAGOH  <tagoh@redhat.com>

	* src/factory.c (imsettings_manager_real_what_im_is_running):
	Ignore an error if the pid file doesn't exist. (RH#445129)

2008-05-12  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/imsettings-object.c (imsettings_object_real_dump):
	Use macro to convert the variable type.
	(imsettings_object_real_load): likewise.

	* src/factory.c (_get_pid): check the existence of the pid file first.

2008-05-11  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/imsettings-info.c: Inherit from IMSettingsObject to
	dump/load the object.

	* imsettings/imsettings-utils.h (imsettings_n_pad4)
	(imsettings_pad4, imsettings_skip_pad4, imsettings_swap16)
	(imsettings_swapu16, imsettings_swap32, imsettings_swapu32)
	(imsettings_swap64, imsettings_swapu64): new macros.

	* imsettings/imsettings-object.c: new.

2008-04-29  Akira TAGOH  <tagoh@redhat.com>

	* src/factory.c (_get_pid): new.
	(imsettings_manager_real_what_im_is_running): check if pid is valid
	or not.

	* utils/imsettings-reload.c (main): exit if opening session bus
	is failed.

2008-04-28  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/protocol.c (xim_protocol_process_event): proper casting
	to the pointer.

2008-04-25  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/Makefile.am: correct build order.

	* src/factory.c (imsettings_manager_real_what_im_is_running):
	real function to check what IM is running.

	* imsettings/imsettings-request.c (imsettings_request_what_im_is_running):
	new function.

	* imsettings/imsettings-observer.c (imsettings_what_input_method_is_running):
	new function.

	* imsettings/imsettings.xml (WhatInputMethodIsRunning): new method.

	* utils/imsettings-list.c (main): Show "*" if IM is really running and
	"-" for not running but is supposed to run by default for user.

2008-04-23  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/protocol.c (xim_protocol_swap32): Fix a typo.

2008-04-14  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/loopback.c (_source_dispatch): Use G_GSIZE_FORMAT macro
	instead of "d".

	* backends/xim/protocol.c (xim_protocol_process_event):
	Use GUINT_TO_POINTER macro instead of direct casting.
	(xim_protocol_send): Use G_GSIZE_FORMAT macro instead of "d".

	* backends/xim/connection.c (xim_connection_forward_client_message_event):
	Use G_GSIZE_FORMAT macro instead of "d".

	* backends/gconf/Makefile.am (main.c): Add deps of
	gconf-imsettings-glue.h to ensure its creation at bootstrap.

	* imsettings/Makefile.am (imsettings-observer.c): Add deps of
	stamp-bindings.h to ensure its creation at bootstrap.

2008-04-14  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/loopback.c (xim_loopback_finalize): destroy GSource.

2008-04-10  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/server.c (xim_server_set_property): create a loopback
	server as needed.

	* backends/xim/protocol.c (xim_protocol_real_open): fix a typo.
	(xim_protocol_class_init): Add missing signals, get_ic_values,
	get_ic_values_reply.
	(xim_protocol_process_event): Get CARD8 directly so that the byte order
	may be unsure at this moment.
	(xim_protocol_send): Fix the packet length to be
	"the number of 4 bytes elements".

	* backends/xim/utils.c (xim_substitute_display_name): make this
	function public from main.c.

	* backends/xim/loopback.[ch]: new.

2008-04-07  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/server.c: clean up.

	* backends/xim/main.c (imsettings_xim_message_filter):
	get more debugging message with appropriate option.
	(imsettings_xim_message_filter): don't create an instance if no changes
	of XIM server.

2008-04-03  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/server.c: a lot of changes to have separate connection
	management.

	* backends/xim/protocol.[ch]: new.

	* backends/xim/utils.c (xim_lookup_atom): more sanity check.
	(xim_ximattr_free): new.
	(xim_xicattr_free): new.
	(xim_ext_free): new.
	(xim_ximattribute_free): new.
	(xim_xicattribute_free): new.
	(xim_strconvtext_free): new.
	(xim_protocol_name): new.

	* backends/xim/connection.c: a lot of changes to have separate class
	for protocol processor.

2008-04-02  Akira TAGOH  <tagoh@redhat.com>

	* utils/imsettings-restart.c (main): Fix a typo.

2008-03-27  Akira TAGOH  <tagoh@redhat.com>

	* src/factory.c (imsettings_manager_real_stop_im): send empty string
	and "none" for XIM instead of NULL.

	* imsettings/imsettings-request.c (imsettings_request_change_to):
	disallow to get a NULL as module because DBus doesn't support sending
	NULL as string.
	(imsettings_request_change_to_with_signal): likewise.

2008-03-19  Akira TAGOH  <tagoh@redhat.com>

	* backends/xim/main.c: Add a missing header file.

	* backends/xim/connection.c (xim_connection_forward_event):
	Fix a segfault when the major-opcode is more than expects.

	* imsettings/imsettings-request.c (imsettings_request_change_to_with_signal):
	Fix a typo.

	* src/factory.c (imsettings_manager_real_start_im): send a change to
	XIM server too.
	(imsettings_manager_real_stop_im): likewise.

	* imsettings/imsettings-request.c (imsettings_request_change_to_with_signal):
	new to send a ChangeTo signal. particularly for XIM server.

	* imsettings/backends/Makefile.am: Add a rule to build xim support.

	* imsettings/backends/xim/connection.[ch]:
	* imsettings/backends/xim/main.c:
	* imsettings/backends/xim/server.[ch]:
	* imsettings/backends/xim/utils.[ch]:
	* imsettings/backends/xim/Makefile.am: Initial commit to support XIM.

	* imsettings/imsettings/imsettings.h: Add dbus interface for XIM.

	* imsettings/Makefile.am: Make it more better to generate code from glib-genmarshal.

2008-03-17  Akira TAGOH  <tagoh@redhat.com>

	* src/factory_info.c (imsettings_info_manager_real_get_current_user_im):
	Get back current system IM if current user IM is NULL.

2008-03-12  Akira TAGOH  <tagoh@redhat.com>

	* backends/xfce/imsettings_plugin.c: Mcs plugin for imsettings support.

2008-03-11  Akira TAGOH  <tagoh@redhat.com>

	* backends/gconf/main.c: Add a prototype declaration for
	imsettings_gconf_get_type() and imsettings_gconf_new() to shut up
	a compiler warning.

	* src/factory.c: Add a prototype declaration for
	imsettings_manager_get_type() to shut up a compiler warning.

	* src/factory_info.c: Add a prototype declaration for
	imsettings_info_manager_get_type() to shut up a compiler warning.

	* imsettings/Makefile.am ($(srcdir)/imsettings-marshal.c): Add #include
	"imsettings-marshal.h" to shut up a compiler warning.

2008-03-07  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/imsettings-request.h: Fix a typo.

2008-03-06  Akira TAGOH  <tagoh@redhat.com>

	* backends/qt/Makefile.am (noinst_HEADERS): missed qt-imsettings.h to
	be distributed.

	* src/factory.c (_child_setup): new function to setup PGID for child
	process.
	(_stop_process): send a signal to PGID instread of PID.
	(imsettings_manager_real_stop_im): make a change in the settings before
	killing the processes.

2008-02-22  Akira TAGOH  <tagoh@redhat.com>

	* backends/qt/introspection.xml:
	* backends/qt/main.cpp:
	* backends/qt/qt-imsettings.(cpp|h):
	* backends/qt/qt-im-settings-daemon.service.in:
	* backends/qt/Makefile.am: Initial commit for IMSettings service for Qt.
	* backends/Makefile.am:
	* configure.ac: Add Qt support.

	* imsettings/imsettings.h: Add defines for Qt interface.

	* backends/gconf/Makefile.am (LIBS): get rid of the unnecessary library
	linkage.

	* backends/gconf/main.c: clean up.

	* src/Makefile.am (im_settings_daemon_CFLAGS): Use X11_CFLAGS instead of.
	(im_settings_daemon_LDADD): Use X11_LIBS instead of.

2008-02-20  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/imsettings-info.c (imsettings_info_notify_properties):
	Prefer IMSETTINGS_IGNORE_ME rather than IM_CHOOSER_IGNORE_ME.

	* src/factory.c (imsettings_manager_real_start_im): do not update
	.xinputrc if requested.
	(imsettings_manager_real_stop_im): likewise.

	* imsettings/imsettings-request.c (imsettings_request_start_im):
	Add update_xinputrc option.
	(imsettings_request_start_im_async): likewise.
	(imsettings_request_stop_im): likewise.
	(imsettings_request_stop_im_async): likewise.

	* imsettings/imsettings-observer.c (imsettings_start_im):
	Add update_xinputrc option.
	(imsettings_stop_im): likewise.
	(imsettings_observer_real_start_im): likewise.
	(imsettings_observer_real_stop_im): likewise.

	* imsettings/imsettings.xml (StartIM): Add update_xinputrc option.
	(StopIM): likewise.

	* utils/imsettings-stop.c (main): Add --no-update option.

	* utils/imsettings-restart.c (main): Add --no-update option.

	* utils/imsettings-start.c (main): Add --no-update option.

	* imsettings/imsettings-info.c (imsettings_info_finalize):
	Invoke the finalizer from the parent class.

	* src/factory_info.c (imsettings_info_manager_fam_event_loop):
	Process the FAM event within one idle call.

	* imsettings/imsettings-info.c (_unquote_string): new.
	(imsettings_info_notify_properties): unquote string for escaped characters.

2008-02-19  Akira TAGOH  <tagoh@redhat.com>

	* src/factory_info.c (imsettings_info_manager_fam_event_loop):
	Update the fam status if the result code is FAMEndExist anyway.
	(imsettings_info_manager_pending_init): new function to check
	if the initial FAM events are proceeded.
	(imsettings_info_manager_real_get_list): wait for the initialization
	finished.
	(imsettings_info_manager_real_get_current_user_im): likewise.
	(imsettings_info_manager_real_get_current_system_im): likewise.
	(imsettings_info_manager_real_get_info): likewise.

	* src/factory.c (imsettings_manager_real_start_im):
	Add appropriate error handling.

	* src/factory.c (reload_cb): Do nothing for reloading anymore.

	* src/factory_info.c: Add new class to deal with the event.
	(imsettings_info_manager_fam_event_loop): new to deal with FAM event.

	* imsettings/src/imsettings-manager.[ch]: Move into factory.c

	* imsettings/imsettings-request.c (imsettings_request_get_current_user_im):
	new
	(imsettings_request_get_current_system_im): new.

	* imsettings/imsettings-observer.c (imsettings_get_current_user_im):
	new.
	(imsettings_get_current_system_im): new.

	* imsettings/imsettings.xml: Move GetList method to
	com.redhat.imsettings.IMInfo interface.
	Add GetCurrentUserIM and GetCurrentSystemIM.

	* utils/imsettings-reload.c (main): ugly hack to make sure if a signal
	is delivered. this might not work on some machines.

	* utils/imsettings-list.c (main): change the output a bit friendly.

2008-02-08  Akira TAGOH  <tagoh@redhat.com>

	* imsettings/imsettings-request.c: similar fixes.

	* imsettings/imsettings.xml: similar fixes.

	* imsettings/backends/gconf/introspection.xml: similar fixes.

	* imsettings/imsettings.h: get rid of "DBus" from all the services,
	paths and interfaces name.

	* src/im-settings-daemon.service.in: likewise.

	* src/im-info-daemon.service.in: likewise.

	* backends/gconf/gconf-im-settings-daemon.service.in: likewise.

	* imsettings/imsettings-info.c (_set_bool_prop): get rid of g_object_notify.

	* imsettings/imsettings-request.c (imsettings_request_set_property):
	likewise.

	* imsettings/imsettings-observer.c (imsettings_observer_set_property):
	likewise.

	* backends/gconf/main.c (imsettings_gconf_message_filter): add actions
	for org.freedesktop.DBus.Local.Disconnected and
	org.freedesktop.DBus.NameOwnerChanged.

	* src/factory.c (main): get rid of sending a reload request.
	(main): connect to the disconnect signal.

	* src/factory_info.c (main): get rid of sending a reload request.
	(main): connect to the disconnect signal.

	* src/imsettings-manager.c (imsettings_manager_real_finalize):
	unref a connection for requesting.
	(imsettings_manager_real_start_im): likewise.
	(imsettings_manager_real_stop_im): likewise.

	* imsettings/imsettings-observer.c (imsettings_observer_signal_disconnected):
	new function to handle org.freedesktop.DBus.Local.Disconnected.
	(imsettings_observer_signal_name_owner_changed): new function to handle
	org.freedesktop.DBus.NameOwnerChanged.
	(imsettings_observer_class_init): add a disconnected signal.

	* imsettings/imsettings-utils.c: cleaning up.

	* utils/imsettings-list.c (main): unref a connection.

	* utils/imsettings-reload.c (main): likewise.

	* utils/imsettings-stop.c (main): likewise.

	* utils/imsettings-restart.c (main): likewise.

	* utils/imsettings-start.c (main): likewise.

	* utils/imsettings-info.c (main): likewise.

2008-02-07  Akira TAGOH  <tagoh@redhat.com>

	* src/imsettings-manager.c: cleaning up.

	* imsettings/imsettings-request.c: cleaning up.

	* imsettings/imsettings-observer.c: cleaning up.

	* imsettings/imsettings-info.c: cleaning up.

	* src/imsettings-manager.c (_build_pidfilename): get rid of .bak from
	the filename to make stopping-process working for the user specific
	xinputrc.
	(_update_symlink): do nothing if it's going to do something for .xinputrc.
	(imsettings_manager_load_conf): add the info for .xinputrc.bak too.

	* imsettings/imsettings-info.c (imsettings_info_set_property):
	Set properties for the user specific xinputrc too. (RH#431291)

2008-01-30  Akira TAGOH  <tagoh@redhat.com>

	* src/imsettings-manager.c (_start_process): set an empty string
	if args is null.
	(imsettings_manager_real_start_im): reload the IM info.
	(imsettings_manager_real_stop_im): likewise.

	* imsettings/imsettings-request.c (imsettings_request_set_property):
	remove the code to unref the dbus connection so far.
	(imsettings_request_finalize): likewise.

	* imsettings/imsettings-observer.c (imsettings_observer_set_property):
	remove the code to unref the dbus connection so far.
	(imsettings_observer_finalize): likewise.

2008-01-28  Akira TAGOH  <tagoh@redhat.com>

	* src/imsettings-manager.c (_update_symlink): check the filename.
	we don't expect the filename is NULL for the user specific conffile anymore.

	* imsettings/imsettings-info-private.h (IMSETTINGS_USER_SPECIFIC_SHORT_DESC):
	Fix a typo.

	* imsettings/imsettings-info.c (imsettings_info_set_property):
	check the filename much strictly.

2008-01-25  Akira TAGOH  <tagoh@redhat.com>

	* backends/gconf/Makefile.am (EXTRA_DIST): Fix a typo.

	* src/imsettings-manager.c (_start_process): Inherit the environment
	variables to bring up the child process.

	* src/imsettings-manager.c (_collect_im_list): new.
	(imsettings_manager_real_get_list): build the IM list dynamically.
	(_start_process): set LC_CTYPE to run the programs.

	* imsettings/imsettings-request.c (imsettings_request_set_locale): new.
	(imsettings_request_is_system_default): new.
	(imsettings_request_is_user_default): new.
	(imsettings_request_is_xim): new.
	(imsettings_request_get_supported_language): new.

	* imsettings/imsettings-observer.c (imsettings_is_system_default): new.
	(imsettings_is_user_default): new.
	(imsettings_is_xim): new.
	(imsettings_get_supported_language): new.

	* imsettings/imsettings.xml (IsSystemDefault): new.
	(IsUserDefault): new.
	(IsXim): new.
	(GetList): Add lang argument.
	(StartIM): likewise.

	* imsettings/imsettings-info.c (imsettings_info_notify_properties):
	Fetch the informations from xinputinfo.sh instead of xinput.sh with some options.
	(imsettings_info_set_property): Update the information against the locale.
	(imsettings_info_set_property): always set XIM is visible no matter
	what the status is, except the dead link.
	(imsettings_info_new_with_lang): new.
	(imsettings_info_is_xim): new.

	* utils/imsettings-list.c (main): Get a different output against current locale.

	* utils/imsettings-info.c (main): likewise.

	* utils/imsettings-start.c (main): likewise.

2008-01-24  Akira TAGOH  <tagoh@redhat.com>

	* src/imsettings-manager.c (_start_process): Fix a silly bug that
	always create a pidfile no matter what the file exists.
	(_start_process): do nothing if the program name is an empty.
	(_stop_process): new.
	(_update_symlink): new.
	(imsettings_manager_real_start_im): Update .xinputrc.
	(imsettings_manager_real_stop_im): Implement a lot.

	* imsettings/imsettings.xml (StopIM): Add a boolean for force flag.

	* imsettings/marshal.list: new.

	* imsettings/imsettings-info.c (imsettings_info_set_property):
	do not set an empty string to the property.
	(imsettings_info_set_property): turn on an ignore property
	if the conf file is invalid.

	* utils/imsettings-restart.c (main): Add --force option to stop IM
	forcibly.

	* utils/imsettings-stop.c (main): likewise.

2008-01-24  Akira TAGOH  <tagoh@redhat.com>

	* src/imsettings-manager.c (imsettings_manager_load_conf): Make
	a condition to not segfault. user's .xinputrc is more likely to be
	unavailable.

	* imsettings/imsettings-info.c (imsettings_info_is_visible):
	Fix a reverse flag.

2008-01-23  Akira TAGOH  <tagoh@redhat.com>

	* src/factory.c (main): Update to get a X display name.

	* src/imsettings-manager.c (imsettings_manager_real_set_property): new.
	(imsettings_manager_real_get_property): new.
	(_remove_pidfile): new.
	(_start_process): new.
	(_build_pidfilename): new.
	(imsettings_manager_real_start_im): Add an implementation to bring up
	an auxiliary program and XIM server.

	* imsettings/imsettings-request.c (imsettings_request_get_xim_program):
	new function.

	* imsettings/imsettings-observer.c (imsettings_get_xim_program): add
	a callback to deal with GetXimProgram method.

	* imsettings/imsettings.xml: add GetXimProgram method.

	* imsettings/imsettings-info.c (imsettings_info_get_xim_program): new.
	(imsettings_info_get_xim_args): new.

	* utils/imsettings-info.c (main): output XIM server's configuration too.

2008-01-22  Akira TAGOH  <tagoh@redhat.com>

	* Initial commit for imsettings library.
