diff src/libeggsmclient/ChangeLog @ 4315:c942eaef7bc6

Implement session management.
author Ivan N. Zlatev <contact@i-nz.net>
date Mon, 03 Mar 2008 18:42:36 +0000
parents
children 80feba8e9034
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/libeggsmclient/ChangeLog	Mon Mar 03 18:42:36 2008 +0000
@@ -0,0 +1,152 @@
+2008-03-03  Ivan N. Zlatev  <contact@i-nz.net>
+
+	* eggsmclient-xsmp.c (sm_client_xsmp_startup): Connect 
+	immediately, so that windows created before 
+	running the main loop will have SM_CLIENT_ID set. We are not 
+	supposed to modify SM_CLIENT_ID after the visible window has 
+	been created (e.g Metacity will just ignore us).
+	Delay setting the initial properties until after the main loop, 
+	has started in order to provide a larger time frame for the 
+	user to call egg_set_desktop_file().
+
+2007-05-02  Dan Winship  <danw@novell.com>
+
+	* egglauncher.c: 
+	* eggdesktopfile.c: Replace EggLauncher with EggDesktopFile,
+	which is more like GnomeDesktopItem, but with a nicer launching
+	API.
+
+	* eggsmclient.c (egg_sm_client_register): Gone; apps can use
+	egg_set_desktop_file() to set the global desktop file, and
+	egg_sm_client_set_mode() to indicate they don't want to be
+	restarted.
+	(egg_sm_client_set_mode): New, lets an app indicate that it wants
+	to not connect to the SM, or that it wants to not be restarted.
+	(The common case--wanting to be restarted if the session is
+	resumed--is now automatic.)
+	(egg_sm_client_get): Update docs and code for those changes.
+
+	* eggsmclient-libgnomeui.c: add more stuff to make it possible to
+	set desktop file and EggSMClientMode from gnome_program_new().
+
+	* eggsmclient-win32.c: Remove unused untested "#ifdef VISTA" stuff
+	involving state saving. It works in theory, someone else can
+	implement it later if we actually end up wanting it to work.
+
+	* eggsmclient-xsmp.c (sm_client_xsmp_connect, save_state): Use
+	egg_get_desktop_file() to see if a desktop file has been set for
+	the app, and that and egg_sm_client_get_mode() to see what
+	restart_style to use.
+
+	* egg-launch.c: update for EggDesktopFile
+
+	* README:
+	* gedit.diff: update
+	
+	* NEWS: add this to make it easier for people to see what has
+	changed API-wise when they grab a new source snapshot.
+
+2007-04-02  Dan Winship  <danw@novell.com>
+
+	* eggsmclient.c (egg_sm_client_end_session): Remove the "client"
+	argument; eventually this method will not be visibly attached to
+	the rest of the sm client API.
+	(EggSMClientPrivate, egg_sm_client_get_state_file): oops, fix bugs
+	in previous commit
+
+	* egg-session-end.c (main): update
+
+2007-04-02  Dan Winship  <danw@novell.com>
+
+	* eggsmclient.c (egg_sm_client_save_state): Change this signal to
+	use a GKeyFile rather than a directory name (and return that to
+	the caller).
+	(egg_sm_client_get_state_file): replaces get_state_dir, and
+	returns a GKeyFile
+	(egg_sm_client_get_config_prefix): Kill for now. Maybe will be
+	resurrected X11-only later.
+
+	* eggsmclient-xsmp.c (sm_client_xsmp_connect): move some stuff
+	here from other places; the caller has to call _register() and/or
+	_set_restart_command() before the main loop starts, so they'll
+	always have been run before sm_client_xsmp_connect is reached, so
+	we can do everything from here.
+	(save_state): update to use a GKeyFile for state rather than a
+	directory. Merge the app's state into its .desktop file and update
+	the Exec key in that combined file using %k to point to itself,
+	thus creating a self-contained launcher/saved state.
+
+	* README:
+	* gedit.diff: update
+
+2007-03-16  Dan Winship  <danw@novell.com>
+
+	* egglauncher.c (egg_launcher_add_document): use
+	g_filename_to_uri() and g_filename_from_uri() rather than rolling
+	our own.
+
+	* egglauncher.h: add two missing prototypes
+
+2007-03-04  Dan Winship  <danw@novell.com>
+
+	* eggsmclient-win32.c: Redo this to fix quit_requested handling,
+	by listening for WM_QUERYENDSESSION messages in another thread
+	that can then block waiting for the main thread to handle it. More
+	of #399315.
+	(sm_client_win32_end_session): EWX_FORCE means "don't allow
+	clients to cancel", not "don't show a logout dialog" (which
+	ExitWindowsEx never does), so don't use it to implement the
+	request_confirmation flag.
+
+	* Makefile.am: make this work on both unix and windows
+
+	* README: Update. In particular, note that EggSMClientWin32
+	requires "-mwindows" and g_thread_init().
+
+	* egg-session-end.c (main): call g_thread_init
+
+	* logout-test.c (main): call g_thread_init, fix window-closed
+	handler
+
+	* eggsmclient.c (egg_sm_client_save_state): don't try to compile
+	this on Windows. (Temporary workaround)
+
+2007-02-10  Dan Winship  <danw@novell.com>
+
+	* egglauncher.c: New, replaces EggDesktopFile (as a replacement
+	for GnomeDesktopItem...)
+
+	* eggdesktopfile.c: gone
+
+	* egg-launch.c: test program
+
+	* eggsmclient-xsmp.c (set_restart_properties): use EggLauncher
+
+2007-02-10  Dan Winship  <danw@novell.com>
+
+	* eggsmclient-win32.c: Make this compile and at least partially
+	work (quit_requested doesn't work and probably needs to be
+	rewritten using a second thread as suggested in the comments in
+	will_quit()). Patch from Yevgen Muntyan, #399315.
+
+	* eggsmclient-xsmp.c: Use gdk_threads_enter/_leave around gtk
+	calls and EggSMClient signal emissions. Based on a patch from
+	Yevgen Muntyan.
+
+	* Makefile.am:
+	* eggsmclient.c (egg_sm_client_get): Change the #defines from
+	HAVE_XSMP and HAVE_DBUS to EGG_SM_CLIENT_BACKEND_XSMP and
+	EGG_SM_CLIENT_BACKEND_DBUS, to avoid being tricked by the app
+	having its own HAVE_DBUS define. Needs to be fixed better though.
+	Also change the win32 check from G_OS_WIN32 to
+	GDK_WINDOWING_WIN32, since it assumes the win32 gdk backend.
+
+	* logout-test.c: New test program to test logout
+	notification/cancellation support (and demonstrate that it doesn't
+	really work on Windows).
+
+2007-01-18  Dan Winship  <danw@novell.com>
+
+	* README: add more GnomeClient porting notes based on an email
+	exchange with Jani Monoses
+