comparison 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
comparison
equal deleted inserted replaced
4314:e548627b2004 4315:c942eaef7bc6
1 2008-03-03 Ivan N. Zlatev <contact@i-nz.net>
2
3 * eggsmclient-xsmp.c (sm_client_xsmp_startup): Connect
4 immediately, so that windows created before
5 running the main loop will have SM_CLIENT_ID set. We are not
6 supposed to modify SM_CLIENT_ID after the visible window has
7 been created (e.g Metacity will just ignore us).
8 Delay setting the initial properties until after the main loop,
9 has started in order to provide a larger time frame for the
10 user to call egg_set_desktop_file().
11
12 2007-05-02 Dan Winship <danw@novell.com>
13
14 * egglauncher.c:
15 * eggdesktopfile.c: Replace EggLauncher with EggDesktopFile,
16 which is more like GnomeDesktopItem, but with a nicer launching
17 API.
18
19 * eggsmclient.c (egg_sm_client_register): Gone; apps can use
20 egg_set_desktop_file() to set the global desktop file, and
21 egg_sm_client_set_mode() to indicate they don't want to be
22 restarted.
23 (egg_sm_client_set_mode): New, lets an app indicate that it wants
24 to not connect to the SM, or that it wants to not be restarted.
25 (The common case--wanting to be restarted if the session is
26 resumed--is now automatic.)
27 (egg_sm_client_get): Update docs and code for those changes.
28
29 * eggsmclient-libgnomeui.c: add more stuff to make it possible to
30 set desktop file and EggSMClientMode from gnome_program_new().
31
32 * eggsmclient-win32.c: Remove unused untested "#ifdef VISTA" stuff
33 involving state saving. It works in theory, someone else can
34 implement it later if we actually end up wanting it to work.
35
36 * eggsmclient-xsmp.c (sm_client_xsmp_connect, save_state): Use
37 egg_get_desktop_file() to see if a desktop file has been set for
38 the app, and that and egg_sm_client_get_mode() to see what
39 restart_style to use.
40
41 * egg-launch.c: update for EggDesktopFile
42
43 * README:
44 * gedit.diff: update
45
46 * NEWS: add this to make it easier for people to see what has
47 changed API-wise when they grab a new source snapshot.
48
49 2007-04-02 Dan Winship <danw@novell.com>
50
51 * eggsmclient.c (egg_sm_client_end_session): Remove the "client"
52 argument; eventually this method will not be visibly attached to
53 the rest of the sm client API.
54 (EggSMClientPrivate, egg_sm_client_get_state_file): oops, fix bugs
55 in previous commit
56
57 * egg-session-end.c (main): update
58
59 2007-04-02 Dan Winship <danw@novell.com>
60
61 * eggsmclient.c (egg_sm_client_save_state): Change this signal to
62 use a GKeyFile rather than a directory name (and return that to
63 the caller).
64 (egg_sm_client_get_state_file): replaces get_state_dir, and
65 returns a GKeyFile
66 (egg_sm_client_get_config_prefix): Kill for now. Maybe will be
67 resurrected X11-only later.
68
69 * eggsmclient-xsmp.c (sm_client_xsmp_connect): move some stuff
70 here from other places; the caller has to call _register() and/or
71 _set_restart_command() before the main loop starts, so they'll
72 always have been run before sm_client_xsmp_connect is reached, so
73 we can do everything from here.
74 (save_state): update to use a GKeyFile for state rather than a
75 directory. Merge the app's state into its .desktop file and update
76 the Exec key in that combined file using %k to point to itself,
77 thus creating a self-contained launcher/saved state.
78
79 * README:
80 * gedit.diff: update
81
82 2007-03-16 Dan Winship <danw@novell.com>
83
84 * egglauncher.c (egg_launcher_add_document): use
85 g_filename_to_uri() and g_filename_from_uri() rather than rolling
86 our own.
87
88 * egglauncher.h: add two missing prototypes
89
90 2007-03-04 Dan Winship <danw@novell.com>
91
92 * eggsmclient-win32.c: Redo this to fix quit_requested handling,
93 by listening for WM_QUERYENDSESSION messages in another thread
94 that can then block waiting for the main thread to handle it. More
95 of #399315.
96 (sm_client_win32_end_session): EWX_FORCE means "don't allow
97 clients to cancel", not "don't show a logout dialog" (which
98 ExitWindowsEx never does), so don't use it to implement the
99 request_confirmation flag.
100
101 * Makefile.am: make this work on both unix and windows
102
103 * README: Update. In particular, note that EggSMClientWin32
104 requires "-mwindows" and g_thread_init().
105
106 * egg-session-end.c (main): call g_thread_init
107
108 * logout-test.c (main): call g_thread_init, fix window-closed
109 handler
110
111 * eggsmclient.c (egg_sm_client_save_state): don't try to compile
112 this on Windows. (Temporary workaround)
113
114 2007-02-10 Dan Winship <danw@novell.com>
115
116 * egglauncher.c: New, replaces EggDesktopFile (as a replacement
117 for GnomeDesktopItem...)
118
119 * eggdesktopfile.c: gone
120
121 * egg-launch.c: test program
122
123 * eggsmclient-xsmp.c (set_restart_properties): use EggLauncher
124
125 2007-02-10 Dan Winship <danw@novell.com>
126
127 * eggsmclient-win32.c: Make this compile and at least partially
128 work (quit_requested doesn't work and probably needs to be
129 rewritten using a second thread as suggested in the comments in
130 will_quit()). Patch from Yevgen Muntyan, #399315.
131
132 * eggsmclient-xsmp.c: Use gdk_threads_enter/_leave around gtk
133 calls and EggSMClient signal emissions. Based on a patch from
134 Yevgen Muntyan.
135
136 * Makefile.am:
137 * eggsmclient.c (egg_sm_client_get): Change the #defines from
138 HAVE_XSMP and HAVE_DBUS to EGG_SM_CLIENT_BACKEND_XSMP and
139 EGG_SM_CLIENT_BACKEND_DBUS, to avoid being tricked by the app
140 having its own HAVE_DBUS define. Needs to be fixed better though.
141 Also change the win32 check from G_OS_WIN32 to
142 GDK_WINDOWING_WIN32, since it assumes the win32 gdk backend.
143
144 * logout-test.c: New test program to test logout
145 notification/cancellation support (and demonstrate that it doesn't
146 really work on Windows).
147
148 2007-01-18 Dan Winship <danw@novell.com>
149
150 * README: add more GnomeClient porting notes based on an email
151 exchange with Jani Monoses
152