2009-04-14 Vincent Untz * configure.in: post-release bump to 2.26.2 ==================== 2.26.1 ==================== 2009-04-14 Vincent Untz * NEWS: version 2.26.1 2009-04-10 Vincent Untz * gnome-session/main.c: (require_dbus_session): when relaunching with dbus-launch, correctly copy arguments that were passed to gnome-session over to the new call Fix bug #574310. 2009-04-10 Vincent Untz * tools/gnome-session-save.c: (main): make gnome-session-save --kill --silent work as --force-logout (no inhibitor dialog). Fix bug #574982. 2009-04-09 Vincent Untz * gnome-session/gsm-manager.c: (do_inhibit_dialog_action): remove comment that is now wrong (query_end_session_complete): pass the right action to the inhibit dialog so that the button doesn't always tell "Log out anyway", but "Shutdown anyway" when it's about shutting down. 2009-04-08 Vincent Untz * configure.in: post-release bump to 2.26.1 ==================== 2.26.0.90 ==================== 2009-04-08 Vincent Untz * NEWS: * configure.in: version 2.26.0.90 2009-04-08 Vincent Untz Make reboot and shutdown leave the session properly, by letting apps exit before doing the real reboot/shutdown. Note that because of the ConsoleKit policies, the ways it's handled when there are more than one user logged in or when the policy always require a password might be a bit different: - in the usual case (single user, no password required), everything works as expected. - in the multiple users case (password generally required once), we ask for the password before trying to exit the session. - if the password is required each time the ConsoleKit action is called, then we'll ask for the password only once, after having made all apps exit. If this doesn't work (wrong password), since the session is killed anyway, we log out and ask gdm to do the action. * gnome-session/gsm-marshal.list: add new signature that we need * gnome-session/gsm-consolekit.[ch]: add new privileges-completed signal (gsm_consolekit_class_init): add new signal (gsm_consolekit_get_result_for_action): new, split from gsm_consolekit_can_do_action() (gsm_consolekit_can_do_action): ensure that the CK connection works here (instead of requiring callers to do it), and use gsm_consolekit_get_result_for_action() (gsm_consolekit_is_session_for_other_user): new, ask ConsoleKit if a session object is for a different user than the current user (ignoring the login sessions) (gsm_consolekit_is_single_user): new, determine if there's only a single user logged in on this machine (obtain_privileges_cb): new, PolicyKit callback when the privileges were obtained/denied, to send the privileges-completed signal (gsm_consolekit_obtain_privileges_for_action): new, obtain the PolicyKit privileges for a specific action (gsm_consolekit_get_privileges_for_actions): new, to know if we have privileges for a set of actions, and request the privileges if needed (gsm_consolekit_get_restart_privileges): new, trivial (gsm_consolekit_get_stop_privileges): new, trivial (gsm_consolekit_can_restart): do not ensure that the CK connection works here, it will be done in gsm_consolekit_can_do_action() (gsm_consolekit_can_stop): ditto * gnome-session/gsm-manager.c: we add a logout type variable that lets us remember what should be done when gnome-session exits. (quit_request_completed): new, callback that will make gnome-session exit after the ConsoleKit call to Stop/Restart has been done. If the ConsoleKit call wasn't successful, we fallback on gdm (since we're in the EXIT phase, and all apps have quitted, there's no point in not asking gdm to do that). (gsm_manager_quit): new, to do the right thing to log out depending on what the user wanted to achieve when logging out. (end_phase): use gsm_manager_quit() instead of directly calling gtk_main_quit() (cancel_end_session): reset the logout type to none (do_attempt_reboot), (do_attempt_shutdown), (manager_attempt_reboot), (manager_attempt_shutdown): killed/merged in request_reboot/request_shutdown (do_inhibit_dialog_action): renamed from do_dialog_action(); for shutdown and reboot, we just do like logout and end the phase. (inhibit_dialog_response): s/do_dialog_action/do_inhibit_dialog_action (query_end_session_complete): add a comment about gsm_inhibit_dialog_new to make it clear that the GSM_LOGOUT_ACTION_LOGOUT parameter is fine for shutdown and reboot too (request_reboot_privileges_completed): new, handle the fact that we got the privileges from ConsoleKit to do the reboot. (request_reboot): ask ConsoleKit for the privileges to reboot, and if it doesn't work (no ConsoleKit), just end the phase (request_shutdown_privileges_completed), (request_shutdown): see above changes for reboot functions (request_logout): set the logout type 2009-04-08 Vincent Untz Remove the 1-second delay to display the inhibit dialog when an application is blocking logging out. * gnome-session/gsm-manager.c: (query_end_session_complete): remove the query timeout since it might still be running (do_phase_query_end_session): do not remove the query timeout here: it's the start of a phase, so there's no such timeout (on_client_end_session_response): rework a bit to make sure we call query_end_session_complete() if we are at the end of GSM_MANAGER_PHASE_QUERY_END_SESSION 2009-04-08 Vincent Untz * gnome-session/gsm-manager.c: (do_phase_end_session), (do_phase_exit): use GSM_MANAGER_PHASE_TIMEOUT instead of hard-coding 10 seconds everywhere. 2009-04-08 Vincent Untz * gnome-session/gsm-logout-dialog.c: (on_ck_request_completed): killed (gsm_logout_dialog_init): don't connect to request-completed of the consolekit object: we actually don't do anything in the callback anyway... 2009-04-08 Vincent Untz * gnome-session/gsm-xsmp-client.c: (save_yourself_done_callback): only call SmsSaveComplete() if we are still in a SaveYourself state. My previous change about this didn't take into account the case where the logout is cancelled, in which case SmsSaveComplete() shouldn't be called. 2009-04-05 Matthias Clasen * gnome-session/gs-idle-monitor.c (handle_alarm_notify_event): Ignore XSyncAlarmDestroyed events, and don't spam .xsession-errors for these. 2009-03-25 Vincent Untz * gnome-session/gsm-manager.c: (end_phase): put the call that potentially saves the session here, at the end of END_SESSION instead of many random places (do_phase_end_session), (do_phase_end_session_part_2), (on_client_end_session_response): remove calls to maybe_save_session() 2009-03-25 Vincent Untz Remove the END_SESSION_LAST phase since it was considered to break the design. Instead, just use a second step in the END_SESSION phase. * gnome-session/gsm-manager.[ch]: (phase_num_to_name): remove END_SESSION_LAST phase (end_phase): always clean up next_query_clients, and remove END_SESSION_LAST phase. (on_phase_timeout): remove END_SESSION_LAST phase (_client_end_session): change the function signature so that we can merge this old function and _client_end_session_last (_client_end_session_last): killed (_client_end_session_helper): new, helper used for do_phase_end_session() since _client_end_session() cannot be directly used anymore (do_phase_end_session): use _client_end_session_helper(), and save session if there's nothing to do (do_phase_end_session_last): renamed to... (do_phase_end_session_part_2): ... this. Don't reset the phase timeout since we're still in the END_SESSION phase. Clean up next_query_clients after having used it. (start_phase): always clean up next_query_clients, remove END_SESSION_LAST phase (maybe_save_session): s/END_SESSION_LAST/END_SESSION/ (on_client_end_session_response): only accept to end a client last if we're in END_SESSION. Start the second step of END_SESSION if there's no clients that haven't replied, no inhibitor and if there are clients to end last. Note that we don't remove the phase timeout here since it will either be needed in the second step or will be removed in end_phase(). 2009-03-25 Vincent Untz Allow XSMP clients to interact only during the GSM_MANAGER_PHASE_QUERY_END_SESSION phase. If they didn't interact during this phase, too bad for them. The idea is that GSM_MANAGER_PHASE_QUERY_END_SESSION is about letting them save user data and interact if it's needed for saving user data, while GSM_MANAGER_PHASE_END_SESSION is about telling them that they really have to save data now if they need too. Also if we have a queued SaveYourself, remember if it allowed interaction or not. * gnome-session/gsm-xsmp-client.c: (gsm_xsmp_client_init): initialize next_save_yourself_allow_interact (do_save_yourself): change forceful argument to allow_interact for better clarity, and save it to next_save_yourself_allow_interact when relevant (xsmp_cancel_end_session): reset next_save_yourself_allow_interact (xsmp_query_end_session): update for do_save_yourself() argument change, and also enforce the fact that we don't save the state of the client here (xsmp_end_session): force the client to not interact here (save_yourself_request_callback): update for do_save_yourself() argument change (save_yourself_done_callback): use next_save_yourself_allow_interact if there was a queued SaveYourself. 2009-03-25 Vincent Untz * gnome-session/gsm-manager.c: (maybe_save_session): re-enable session saving (revert the change that was committed just before 2.26.0). 2009-03-25 Vincent Untz * tools/gnome-session-save.c: hide deprecated command-line options from --help, but still accept them. (main): return 0 instead of a variable that is always set to 0 2009-03-25 Vincent Untz Create a END_SESSION_LAST phase during which we handle the clients which wanted to be ended last. For this, we need to keep a list of clients in that case. * gnome-session/gsm-client.h: add a new GSM_CLIENT_END_SESSION_FLAG_LAST flag, to tell the client it's running last. * gnome-session/gsm-manager.[ch]: (phase_num_to_name): handle new phase (end_phase): empty the list of clients that wants to be ended last if it's not a relevant phase. Also handle new phase. (on_phase_timeout): handle new phase (_client_end_session_last): new, to tell a client that the session is being ended. Works like _client_end_session() (do_phase_end_session_last): prepare the right flags to be used for each clients via _client_end_session_last(). Note that we don't use all clients in the session here, but the list of clients that wanted to be ended last. We use a 10 seconds timeout for that phase to not block on clients that don't reply. Also, if there's no client in the session, then save the session if auto-save is enabled. (start_phase): empty the list of clients that wants to be ended last if it's not a relevant phase. Also handle new phase. (maybe_save_session): make this call valid in END_SESSION_LAST instead of END_SESSION (on_client_end_session_response): save the client in a specific list if it wants to be ended last. * gnome-session/gsm-xsmp-client.c: (xsmp_save_yourself_phase2): uncomment (xsmp_end_session): if the client is running last, then it means it's phase2 of SaveYourself, so use xsmp_save_yourself_phase2() 2009-03-25 Vincent Untz s/gdm_client_end_session_response/gsm_client_end_session_response/g * gnome-session/gsm-client.c: (gsm_client_end_session_response): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c: (handle_end_session_response): * gnome-session/gsm-xsmp-client.c: (save_yourself_phase2_request_callback), (interact_request_callback), (interact_done_callback), (save_yourself_done_callback): 2009-03-25 Vincent Untz Allow clients to specify that they want to be ended last (this mainly matches the Phase2 of SaveYourself in XSMP). The server doesn't use this information yet. * gnome-session/gsm-client.[ch]: (gsm_client_class_init): add new do_last argument to END_SESSION_RESPONSE signal (gdm_client_end_session_response): add do_last and use it * gnome-session/gsm-marshal.list: updated for new signature * gnome-session/gsm-manager.c: (on_client_end_session_response): add do_last parameter, unused for now * gnome-session/gsm-dbus-client.c: (handle_end_session_response): pass FALSE as do_last * gnome-session/gsm-xsmp-client.c: (save_yourself_phase2_request_callback): pass TRUE as do_last since that's what the phase2 is (interact_request_callback): pass FALSE as do_last (interact_done_callback): pass FALSE as do_last (save_yourself_done_callback): pass FALSE as do_last 2009-03-25 Vincent Untz * gnome-session/gsm-manager.c: (do_phase_end_session), (auto_save_is_enabled): coding style nit-picking 2009-03-25 Vincent Untz Allow an interacting app to cancel the logout. * gnome-session/gsm-client.[ch]: (gsm_client_class_init): add new cancel argument to END_SESSION_RESPONSE signal (gdm_client_end_session_response): add cancel and use it * gnome-session/gsm-marshal.list: updated for new signature * gnome-session/gsm-manager.c: (on_client_end_session_response): add cancel paramter, and call cancel_end_session if cancel is TRUE * gnome-session/gsm-dbus-client.c: (handle_end_session_response): pass FALSE as cancel * gnome-session/gsm-xsmp-client.c: (save_yourself_phase2_request_callback): pass FALSE as cancel (interact_request_callback): pass FALSE as cancel (interact_done_callback): pass the value returned by the client as cancel (save_yourself_done_callback): pass FALSE as cancel 2009-03-25 Vincent Untz Actually allow XSMP clients to interact during the logout. It works quite well with the inhibitor infrastructure since a JIT inhibitor will be created. Note that the user will get two dialogs: eg, when gedit has an unsaved document, the user will see the gedit save/cancel dialog and the inhibit dialog. That's actually a good thing since the save/cancel dialog from gedit might be in another workspace, and so the inhibit dialog makes sure the user knows what's going on. * gnome-session/gsm-xsmp-client.c: (xsmp_interact): uncomment (interact_request_callback): stop cancelling the session when a client wants to interact, and allow the client to interact. 2009-03-25 Vincent Untz Make session saving works a bit better by telling client to not just save the global state, but also the local state when relevant. * gnome-session/gsm-client.h: add new GSM_CLIENT_END_SESSION_FLAG_SAVE * gnome-session/gsm-manager.c: (do_phase_end_session): if the session should be autosaved, then pass the GSM_CLIENT_END_SESSION_FLAG_SAVE flag (do_phase_query_end_session): add a comment explaining why we don't use the GSM_CLIENT_END_SESSION_FLAG_SAVE flag * gnome-session/gsm-xsmp-client.c: (xsmp_query_end_session), (xsmp_end_session): depending on the presence of the GSM_CLIENT_END_SESSION_FLAG_SAVE flag, use SmSaveBoth or SmSaveGlobal 2009-03-24 Vincent Untz * gnome-session/gsm-xsmp-client.c: (do_save_yourself): just add some paranoia code to make sure our state is consistent (xsmp_cancel_end_session): reset the save_yourself state here since we cancel the operation anyway (save_yourself_phase2_request_callback): fix to not behave exactly like SaveYourselfDone. This is wrong according to XSMP. (save_yourself_done_callback): always call SmsSaveComplete() (it's expected by XSMP), and ignore the success argument. It's actually useless. 2009-03-24 Vincent Untz Rework deeply the code that writes the saved session to desktop files: we now properly discard a client when removing it; we also make sure we save the current session before we completely remove the previously saved session (to be on the safe side). Note that we only discard a client when the new saved session doesn't use the same discard command: for example, when metacity saves its state, it will reuse the same discard command and so we can't discard the old metacity client (it would discard the new client). * gnome-session/gsm-util.[ch]: (gsm_util_get_empty_tmp_session_dir): new function to get a temporary directory where to save the new session, while we still keep the previously saved session. It also makes sure the directory is empty. * gnome-session/gsm-session-save.[ch]: (save_one_client): update to make sure we remember the discard command from the client. (gsm_session_save): rework to first save the session in the temporary directory (and remember the discard commands from the saved clients), and then clear the old session. We finish by renaming the temporary directory to its final name. (gsm_session_clear_one_client): new, to properly clear one client from a saved session. We unlink the desktop file, but also run the discard command if it's not used by any other client from the newly saved session. (gsm_session_clear_saved_session): change to clear a saved session in a specified directory, and use gsm_session_clear_one_client() instead of just unlinking the desktop file. Also add missing g_dir_close(). 2009-03-24 Vincent Untz * gnome-session/gsm-xsmp-client.c: (xsmp_save): just don't return a keyfile if there's no restart command for this client (ie, we won't save this client). Also make sure keyfile is properly initialized to NULL to avoid an undefined return value in that case. 2009-03-24 Vincent Untz * gnome-session/gsm-xsmp-client.c: (xsmp_get_discard_command): uncomment (xsmp_save): when saving the xsmp client to a desktop file, also save the discard command since we'll want to use it at some point when discarding the saved app. 2009-03-24 Vincent Untz * gnome-session/gsm-manager.c: (cancel_end_session): ignore this if we're not in a relevant phase. Also make sure the inhibit dialog is destroyed before removing inhibitors (which would activate the inhibit dialog) 2009-03-24 Vincent Untz * gnome-session/gsm-util.c: (ensure_dir_exists): create the dir with permission 0755. (gsm_util_get_saved_session_dir): use ~/.config instead of ~/.gnome2. It's a good time to start using the xdg folders before we actually start putting data. 2009-03-24 Vincent Untz * gnome-session/gsm-inhibit-dialog.c: (update_dialog_text): fix debug string * gnome-session/gsm-manager.c: (cancel_end_session): add debug string (gsm_manager_shutdown): fix debug string 2009-03-24 Vincent Untz * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): use gsm_util_get_desktop_dirs() instead of just gsm_util_get_app_dirs(). Also try to handle desktop filenames that are an absolute path the best way possible (this happens with OpenOffice.org). * gnome-session/gsm-util.[ch]: (gsm_util_get_desktop_dirs): new function, to return all the directories where we look up for the desktop files. 2009-03-24 Vincent Untz * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): handle NULL errors instead of crashing, which can happen in some cases in EggDesktopFile. 2009-03-24 Vincent Untz * gnome-session/gsm-inhibit-dialog.c: use a 32x32 icon size for icons, looks better this way. 2009-03-24 Vincent Untz Let all processes cleanly exit on exit. * gnome-session/gsm-manager.c: (end_phase): rework with a switch so that it's easy to see what's going on for which phases. We also don't exit immediately when we reach the exit phase, and instead let start_phase() do its work (_client_stop): stop a client (do_phase_exit): create a 10 second timeout that will force the end of the phase, and tells each client to stop via _client_stop() so they can have a chance to properly exit before we quit. (start_phase): call do_phase_exit() on exit phase 2009-03-18 Vincent Untz * configure.in: * doc/man/*: rework the man pages so that they're up-to-date. 2009-03-16 Vincent Untz * configure.in: post-release bump to 2.26.1 ==================== 2.26.0 ==================== 2009-03-16 Vincent Untz * NEWS: * configure.in: version 2.26.0 2009-03-16 Vincent Untz * gnome-session/gsm-manager.c: (maybe_save_session): disable session saving with "#if 0" for the 2.26.0 release: it's not ready yet. 2009-03-14 Vincent Untz * capplet/gsm-properties-dialog.c: (gsm_properties_dialog_constructor): do not call gtk_widget_show_all on the dialog, just gtk_widget_show * data/session-properties.glade: hide the "save current session" button since it doesn't do anything at the moment, so it's confusing to have it there. 2009-03-08 Lucas Rocha Bug 574399 – turn off debug spew * gnome-session/main.c: ditto. 2009-03-03 Vincent Untz * configure.in: post-release bump to 2.26.0 ==================== 2.25.92 ==================== 2009-03-03 Vincent Untz * NEWS: * configure.in: version 2.25.92 2009-03-01 Lucas Rocha * gnome-session/gsm-consolekit.c: add constant holding login window session type value to be used in different places of the code. * gnome-session/gsm-logout-dialog.c: use new consolekit constant for login window session type. * gnome-session/gsm-manager.c: don't save session if session type is login window. * gnome-session/main.c: don't load saved session if session type is login window. 2009-02-26 Matthias Clasen * gnome-session/gs-idle-monitor.c: Ask for AlertNotify in a way that XSync understands. (#567958) 2009-02-26 Vincent Untz * capplet/gsm-properties-dialog.c: (edit_app_dialog): * tools/gnome-session-save.c: (display_error): use a Close button instead of an Ok button in error dialogs. If considered an UI change, then it's trivial and it doesn't affect documentation. 2009-02-25 Paolo Borelli * gnome-session/gsm-client.c: chain up finalize 2009-02-23 Lucas Rocha * gnome-session/Makefile.am, gnome-session/gsm-resumed-app.[ch]: remove GsmResumedApp code as it's being used anymore. 2009-02-23 Lucas Rocha * gnome-session/main.c, gnome-session/gsm-manager.c: remove code for handling legacy session saving files as it won't be supported anymore. 2009-02-23 Lucas Rocha Bug 552387 – gnome-session doesn't save session anymore * gnome-session/Makefile.am: add gsm-session-save.[ch] to the build. * gnome-session/gsm-session-save.[ch]: session saving functions. * gnome-session/gsm-autostart-app.c (load_desktop_file): check if the desktop file has X-GNOME-Autostart-startup-id to define startup id of the GsmAutostartApp. * gnome-session/gsm-client.[ch] (gsm_client_save): add gsm_client_save virtual method which should be implemented by each type of client. * gnome-session/gsm-dbus-client.c, gnome-session/gsm-xsmp-client.c: add respective gsm_client_save implementations. D-Bus clients still don't implement saving. * gnome-session/gsm-manager.c (auto_save_is_enabled, maybe_save_session): save session state if auto save is enable before finalizing the session. * gnome-session/main.c (load_standard_apps): load GsmApps from the saved session directory. 2009-02-23 Lucas Rocha * gnome-session/main.c, gnome-session/gsm-util.[ch]: move find_desktop_file_for_app_name to gsm-util so that we can use it in other places. 2009-02-23 Lucas Rocha * gnome-session/gsm-manager.c (user_logout): use gconf client from GsmManager instead of getting a new one. 2009-02-23 Lucas Rocha * gnome-session/gsm-xsmp-client.c (do_save_yourself): add comments on SmsSaveYourself parameters for clarity. 2009-02-23 Lucas Rocha * gnome-session/gsm-manager.c (on_xsmp_client_logout_request): improve readability of conditional code. 2009-02-23 Lucas Rocha * gnome-session/gsm-manager.c: wrap too long lines into 80 cols. 2009-02-23 Lucas Rocha * gnome-session/gsm-manager.c: rename forceful attribute to forceful_logout for clarity. 2009-02-22 Lucas Rocha * capplet/gsm-properties-dialog.c: use G_KEY_FILE_DESKTOP_* constants instead of hardcoded groups and key names. 2009-02-21 Lucas Rocha * gnome-session/gsm-manager.c: coding style fixes from last commit. 2009-02-21 Lucas Rocha * gnome-session/gsm-manager.c (gsm_manager_start, cancel_end_session): always use gsm_manager_set_phase to set manager phase for consistency. 2009-02-21 Lucas Rocha * gnome-session/gsm-manager.c: rename load_from_gconf to load_idle_delay_from_gconf for clarity. 2009-02-21 Matthias Clasen * gnome-session/gsm-inhibit-dialog.c: Use system-log-out as icon, instead of gnome-logout, which doesn't exist. 2009-02-17 Frederic Crozat * data/gsm-inhibit-dialog.glade: Ensure treeview is included in a scrolled window with a shadow. 2009-02-17 Vincent Untz * configure.in: post-release bump to 2.25.92. ==================== 2.25.91 ==================== 2009-02-17 Vincent Untz * NEWS: * configure.in: version 2.25.91 2009-02-13 Luca Ferretti * data/gnome-session.schemas.in: better phrase for "required_components_list" key, thanks to Dan Winship 2009-02-13 Luca Ferretti reviewed by: Vincent Untz * capplet/gsm-properties-dialog.c: (gsm_properties_dialog_init): Use "Startup Applications Preference" as window title to mach capplet launcher Name. 2009-02-13 Luca Ferretti * data/gnome-session.schemas.in: Removed obsolete "logout_option" key; fix and update long description for "required_components_list" key. 2009-02-12 Lucas Rocha Bug 570908 – capplet misnomer * data/session-properties.desktop.in.in: change capplet name to "Startup Applications" and the description to "Choose what applications to start when you log in" to better match what the capplet actually does nowadays. 2009-02-11 Lucas Rocha Bug 556439 – improve logout/shutdown dialog messages * gnome-session/gsm-consolekit.[ch]: add new gsm_consolekit_get_current_session_type function to GsmConsolekit. * gnome-session/gsm-logout-dialog.c (gsm_logout_dialog_timeout): only message about logged user when using logout dialog from gdm. Patch by Matthias Clasen. 2009-02-11 Lucas Rocha Bug 565063 – Avoid restarting applications when shutting down * gnome-session/gdm-signal-handler.[ch] (gdm_signal_handler_set_fatal_func): redefine this function to receive custom callback. * gnome-session/gsm-manager.[ch]: added gsm_manager_set_phase function. * gnome-session/main.c: set session manager phase to GSM_MANAGER_PHASE_EXIT when gnome-session process is shutting down. Patch by Brian Cameron. 2009-02-07 Matthias Clasen * gnome-session/gs-idle-monitor.c (_xsync_alarm_set): Fix a copy-and-paste error in debug output. 2009-02-03 Vincent Untz * configure.in: post-release bump to 2.25.91. ==================== 2.25.90 ==================== 2009-02-03 Vincent Untz * NEWS: * configure.in: version 2.25.90 2009-01-28 Vincent Untz * doc/dbus/spec-to-docbook.xsl: * gnome-session/org.gnome.SessionManager.ClientPrivate.xml: fix everything so that the dbus documentation is valid docbook. Fix bug #569443. 2009-01-28 Vincent Untz * gnome-session/gs-idle-monitor.c: (gs_idle_monitor_reset): fix build when the XTest extension is not available. 2009-01-26 Richard Hughes * gnome-session/org.gnome.SessionManager.xml: Fix up the documentation to mention the session bus, not the system bus. 2009-01-23 Vincent Untz * splash/splash-window.c: (layout_icon): fix a crash I had at some point. (gsm_splash_window_start): use 22x22 icons in the splash 2009-01-22 Vincent Untz * compat/Makefile.am: install autostart desktop files in /etc/xdg/autostart 2009-01-19 Vincent Untz * configure.in: post-release bump to 2.25.90. ==================== 2.25.5 ==================== 2009-01-19 Vincent Untz * NEWS: * configure.in: version 2.25.5 2009-01-18 William Jon McCann * gnome-session/gsm-presence.c (on_bus_name_owner_changed): Compare the correct string for name owner changes. 2009-01-18 William Jon McCann * gnome-session/gsm-manager.c (load_from_gconf), (on_gconf_key_changed): * gnome-session/gsm-presence.c (set_session_idle), (on_idle_timeout), (reset_idle_watch), (on_screensaver_active_changed), (on_screensaver_proxy_destroy), (on_bus_name_owner_changed), (register_presence), (gsm_presence_constructor): Fix timeout scale. Disable idle detection while screensaver is active. 2009-01-18 William Jon McCann * gnome-session/gsm-presence.c (reset_idle_watch), (gsm_presence_set_idle_enabled), (gsm_presence_set_idle_timeout): Reset the idle watch when the timeout property changes. 2009-01-16 William Jon McCann * gnome-session/gsm-consolekit.c (gsm_consolekit_set_session_idle): * gnome-session/gsm-consolekit.h: * gnome-session/gsm-manager.c (on_presence_status_changed), (gsm_manager_init): Inform CK that session idle status has changed. 2009-01-15 William Jon McCann * gnome-session/org.gnome.SessionManager.xml: Add docs for inhibit idle. 2009-01-15 William Jon McCann * data/gnome-session.schemas.in: * gnome-session/gsm-manager.c (gsm_manager_dispose), (invalid_type_warning), (load_from_gconf), (on_gconf_key_changed), (gsm_manager_init): Add gconf key for idle delay. 2009-01-14 William Jon McCann * gnome-session/gsm-presence.c: * gnome-session/gsm-presence.h: * gnome-session/org.gnome.SessionManager.Presence.xml: Some changes based on comments from Robert McQueen. Expose properties for status and status-text. Remove getters. 2009-01-11 William Jon McCann * gnome-session/gsm-presence.c (gsm_presence_set_status_text): Add status text size limit. 2009-01-11 William Jon McCann * configure.in: * gnome-session/Makefile.am: * gnome-session/gs-idle-monitor.c (_xsyncvalue_to_int64), (_int64_to_xsyncvalue), (gs_idle_monitor_dispose), (_find_alarm), (find_watch_for_alarm), (send_fake_event), (gs_idle_monitor_reset), (handle_alarm_notify_event), (xevent_filter), (init_xsync), (_init_xtest), (gs_idle_monitor_constructor), (gs_idle_monitor_class_init), (get_next_watch_serial), (idle_monitor_watch_new), (idle_monitor_watch_free), (gs_idle_monitor_init), (gs_idle_monitor_finalize), (gs_idle_monitor_new), (_xsync_alarm_set), (gs_idle_monitor_add_watch), (gs_idle_monitor_remove_watch): * gnome-session/gs-idle-monitor.h: * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (end_phase), (gsm_manager_is_idle_inhibited), (update_idle), (start_phase), (on_store_inhibitor_added), (on_store_inhibitor_removed), (gsm_manager_dispose), (gsm_manager_init): * gnome-session/gsm-presence.c (gsm_presence_error_quark), (gsm_presence_error_get_type), (register_presence), (gsm_presence_constructor), (gsm_presence_init), (gsm_presence_get_status_text), (gsm_presence_get_status), (on_idle_timeout), (gsm_presence_set_idle_enabled), (gsm_presence_set_status_text), (gsm_presence_set_status), (gsm_presence_set_idle_timeout), (gsm_presence_set_property), (gsm_presence_get_property), (gsm_presence_finalize), (gsm_presence_class_init), (gsm_presence_new): * gnome-session/gsm-presence.h: * gnome-session/org.gnome.SessionManager.Presence.xml: Add presence API. 2009-01-09 Lucas Rocha Bug 502944 – application icon gets tiny on desktop * configure.in, data/icons/Makefile.am, data/icons/48x48/*: add icon with 48x48 pixels. 2009-01-09 Lucas Rocha 550726 – Apps with an icon not existing in the icon theme displayed with no icon * capplet (append_app): check if defined icon name actually exists in the icon theme. Use default icon otherwise. 2009-01-08 Lucas Rocha Bug 554725 – resync gnome-session from libegg egg/*: ditto. Patch by Dan Winship. 2009-01-08 Lucas Rocha Bug 559145 – Double-click startup program entry to open edit dialog * capplet/gsm-properties-dialog.c (setup_dialog, on_row_activated): open the edit app dialog when activating the respective entry in the view. 2009-01-08 Lucas Rocha Bug 552218 – typo: "unable connect" * gnome-session/gsm-util.c: fix typo. 2009-01-08 Lucas Rocha Bug 551826 – Add NoDisplay=True to desktop files * data/gnome-wm.desktop.in.in, compat/gnome-settings-daemon-helper.desktop.in.in, compat/at-spi-registryd-wrapper.desktop.in.in.in, splash/gnome-session-splash.desktop.in.in.in: define NoDisplay=true. 2009-01-08 Lucas Rocha Bug 551766 – Automagic dependency on PolicyKit in configure.in * configure.in: added support for explicit --enable-polkit and --disable-polkit. The default (if nothing is specified) is auto. Patch by Nirbheek Chauhan. 2009-01-08 Lucas Rocha Bug 555369 – gnome-session-properties work improperly when key X-GNOME-Autostart-enabled=false in .desktop * capplet/gsm-properties-dialog.c (toggle_app, enable_app, disable_app): move app enabling/disabling logic into toggle_app and fix handling of X-GNOME-Autostart-enabled in .desktop files. Patch by Halton Huo. 2009-01-08 Lucas Rocha Bug 566858 – configure script does not check for sm package (needed to check X11/SM/SMlib.h) * configure.am, gnome-session/Makefile.am, egg/Makefile.am, tools/Makefile.am: check for sm and ice libs through pkgconfig and use it in the build. 2009-01-06 Lucas Rocha Bug 557634 – gnome-session doesn't inspect $XDG_DATA_HOME/applications * gnome-session/gsm-util.c (gsm_util_get_app_dirs): add $XDG_DATA_HOME/applications to the list of app directories. Patch by tuxce. 2009-01-06 Lucas Rocha Bug 563640 – In all phases before APPLICATION, consider process termination as completion Most clients register using the session protocol. But it's perfectly fine if a client simply exits upon completion, or forks and exits in the parent when ready. This is indeed how we were treating phase INITIALIZATION. There is no reason to not treat other non-APPLICATION phases that way. The default clients for those phases (gnome-panel, metacity, nautilus) register to the session, but for example, libcanberra installed a script for phase DESKTOP to play login sound, and since it doesn't connect to the session, gnome-session was timeout'ing for that phase. * gnome-session/gsm-manager.c (on_app_exited, _start_app): ditto. Patch by Behdad Esfahbod. 2009-01-06 Lucas Rocha Bug 563354 – gnome-session does not close ICE connection for qt3 apps * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_disconnect): disable shutdown negotiation before closing the ICE connection when connection is known to be terminated. Patch by Edward Sheldrake. 2008-12-14 Vincent Untz * configure.in: post-release bump to 2.25.4. ==================== 2.25.3 ==================== 2008-12-14 Vincent Untz * NEWS: version 2.25.3 2008-12-10 Vincent Untz Kill libgnomeui dependency. * configure.in: remove libgnomeui dep for splash, remove check for libgnomeui for eggsmclient * egg/Makefile.am: remove eggsmclient-libgnomeui.* stuff * egg/eggsmclient-libgnomeui.[ch]: killed * splash/Makefile.am: updated * splash/gnome-session-splash.c: (load_pixbuf): changed to a helper function (load_pixbuf_relative_path): use g_get_system_data_dirs() instead of gnome_program_locate_file() (load_splash_pixbuf): updated (setup_splash_window): don't unref the pixbuf if we didn't have a pixbuf (main): setup gettext, use GOption + gtk_init() instead of gnome_program_init() 2008-12-10 Vincent Untz * gnome-session/Makefile.am: fix build 2008-12-10 Vincent Untz * configure.in: * compat/Makefile.am: * gnome-session/Makefile.am: * splash/Makefile.am: try to sanitize things a bit so we can know which part of gnome-session depends on which library 2008-12-10 Vincent Untz * configure.in: remove TIME_UTILITY and GNOME_SESSION_TARBALL_* since it's unused, use GNOME_COMPILE_WARNINGS instead of some custom stuff to define compiler warning flags * capplet/Makefile.am: * compat/Makefile.am: * egg/Makefile.am: * gnome-session/Makefile.am: * splash/Makefile.am: * tools/Makefile.am: add WARN_CFLAGS/DISABLE_DEPRECATED_CFLAGS * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): fix compilation warning * splash/splash-window.c: (splash_window_expose_event): don't use deprecated API (splash_window_finalize): don't unref something we don't own 2008-12-08 Ray Strode * gnome-session/gsm-dbus-client.c (client_dbus_filter_function): Add patch from Tim Kosse to address issue with multiple clients trying to use the QueryEndSession dbus api (bug 559469) 2008-12-02 Vincent Untz * configure.in: post-release bump to 2.25.3. ==================== 2.25.2 ==================== 2008-12-02 Vincent Untz * NEWS: * configure.in: version 2.25.2 2008-11-26 Diego Escalante Urrelo * gnome-session/gsm-util.c: * gnome-session/main.c: Don't do single includes for glib. Fixes #560786. 2008-11-14 Stef Walter * configure.in: * compat/Makefile.am: * compat/README: * gnome-keyring-daemon-wrapper.c: (removed) * gnome-keyring-daemon-wrapper.desktop.in.in.in: (removed) Remove compat wrapper for gnome-keyring session interaction. 2008-11-11 Ray Strode * gnome-session/org.gnome.SessionManager.xml (CanShutdown) * gnome-session/gsm-manager.[ch] (gsm_manager_can_shutdown): Add new dbus api to say whether shutdown dialog is available. (bug 536915) * gnome-session/gsm-consolekit.c (gsm_consolekit_can_do_action): new function to query policykit to determine whether the current session is authorized to shutdown/reboot/etc. 2008-11-10 Matthias Clasen * gnome-session/gsm-manager.c (gsm_manager_register_client): Rewrite the app-finding code to make more sense. 2008-11-10 Kjartan Maraas * gnome-session/gsm-util.c: (gsm_util_init_error): Format specifier warning fix. * splash/Makefile.am: Add GCONF_LIBS/GCONF_CFLAGS. * tools/gnome-session-save.c: (display_error): Format specifiers again. 2008-10-29 William Jon McCann * gnome-session/main.c (acquire_name): Don't try to print an undefined error message. 2008-10-26 Matthias Clasen * capplet/gsm-properties-dialog.c: Make the window resizable, since it shows scrollbars and ellipsized text. 2008-10-24 William Jon McCann * configure.in: Don't try to link to gnome-keyring and libgnomeui since we don't use them. 2008-10-22 Vincent Untz * configure.in: post-release bump to 2.24.2. ==================== 2.24.1 ==================== 2008-10-22 Vincent Untz * NEWS: version 2.24.1 2008-10-03 Luca Ferretti reviewed by: Vincent Untz * capplet/gsm-app-dialog.c: (setup_dialog): * capplet/gsm-properties-dialog.c: (gsm_properties_dialog_init): Fix untraslated strings from glade files Fix bug #554340 Patch from: Wouter Bolsterlee 2008-09-29 Christian Persch Bug 551869 – minor HIG problems with the capplet * capplet/gsm-properties-dialog.c: (edit_app_dialog), (gsm_properties_dialog_init): * data/session-properties.glade: Part I: correct spacings and paddings, and make the dialogue resizable. 2008-09-29 Frederic Peters * tools/gnome-session-save.c: (main): rename kill variable to kill_session to avoid conflict with kill(2). Fixes: #554202. 2008-09-23 William Jon McCann * gnome-session/gsm-autostart-app.c (autostart_app_start_spawn): Fix startup id leak. Fixes #552815 Patch from: Matthias Clasen 2008-09-23 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (gsm_inhibit_dialog_dispose): Fix a glade xml leak. Fixes #552780 Patch from: Matthias Clasen 2008-09-23 Patryk Zawadzki * data/session-properties.desktop.in.in: add GTK and GNOME. Fix bug #552050. 2008-09-22 Vincent Untz * configure.in: post-release bump to 2.24.1. ==================== 2.24.0 ==================== 2008-09-22 Vincent Untz * NEWS: version 2.24.0 2008-09-22 Vincent Untz * gnome-session/main.c: turn off debugging by default. Fix bug #551761. 2008-09-15 Matthias Clasen Bug 552255 – leaks IceConnection objects * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_disconnect): Need to call IceCloseConnection always; SmsCleanUp doesn't do it for us. (client_iochannel_watch): ref client around the ICE processing, since handling SM callbacks might otherwise cause it to be destroyed. Clear client->priv->ice_connection on a ConnectionClosed response to avoid a double free. Patch by Dan Winship 2008-09-15 Matthias Clasen Bug 552302 – leaks empty strings * gnome-session/gsm-manager.c (_on_query_end_session_timeout): (on_client_end_session_response): Plug a small string leak. 2008-09-15 Matthias Clasen Bug 552294 – leaks EggDesktopFiles * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): Free the desktop file when done with it. 2008-09-15 Matthias Clasen Bug 552293 – leaks previous_id * gnome-session/gsm-xsmp-client.c (register_client_callback): Free previous_id in all cases. 2008-09-15 Matthias Clasen Bug 552292 – leaks ListenObjs * gnome-session/gsm-xsmp-server.c (gsm_xsmp_server_finalize): Don't leak xsmp_sockets. 2008-09-10 Frederic Crozat * gnome-session/gsm-logout-dialog.c: backport fix from gnome-panel: conversion from username to UTF-8 if locale is not UTF-8. 2008-09-08 William Jon McCann * configure.in: Post release version bump ==================== 2.23.92 ==================== 2008-09-08 William Jon McCann * NEWS: Update for release. 2008-09-08 William Jon McCann * gnome-session/main.c (append_required_apps): Warn if no required_components are specified. 2008-09-04 Vincent Untz * configure.in: * compat/Makefile.am: * compat/*.desktop.*: * data/Makefile.am: * data/gnome-wm.desktop.*: * data/session-properties.desktop.in.in: * po/POTFILES.in: * po/POTFILES.skip: * splash/Makefile.am: * splash/gnome-session-splash.desktop.*: Make all desktop files translatable. Add to rework a bit the build system for this. 2008-09-02 Vincent Untz * data/gnome-wm: avoid gnome-wm launching itself in loop when the configuration tells us to use... gnome-wm. 2008-09-02 Vincent Untz Remove required components from the default session. The required components should always be in the default session anyway, and keeping the list up-to-date in two places can break easily stuff (if someone adds a required component or if the user change the value if windowmanager only in required components, eg) Note that it affects the failsafe session case: all required components will also run in the failsafe session. This was intended to be this way, as far as I understand. * data/gnome-session.schemas.in: remove metacity,gnome-panel,nautilus from the default session * gnome-session/main.c: (load_standard_apps): always call append_required_apps() since the required applications are not in the default session. 2008-09-02 Vincent Untz * data/gnome-session.schemas.in: * gnome-session/main.c: (append_required_apps): Rename /desktop/gnome/session/required_components key to /desktop/gnome/session/required_components_list avoid potential clash that might happen because of the /desktop/gnome/session/required_components directory. 2008-09-02 Vincent Untz * data/gnome-session.schemas.in: revert string freeze break. Add a FIXME for the future instead. 2008-09-02 Vincent Untz * data/gnome-session.schemas.in: * data/gnome-wm: * gnome-session/main.c: Do not use dash but underscore to separate words in gconf keys, as recommended by the gconf naming conventions. Since they keys are new in 2.23, it's not too late to do this change. 2008-09-02 Vincent Untz * configure.in: post-release bump to 2.23.92. ==================== 2.23.91 ==================== 2008-09-02 Vincent Untz * NEWS:: version 2.23.91 2008-09-02 Vincent Untz Synchronize the environment set by the gnome-keyring daemon in the gnome-keyring-daemon wrapper to the environment of gnome-session. Fix the other part of bug #547272. * compat/gnome-keyring-daemon-wrapper.c: (keyring_env_to_hashtable): new, put an environment in a hash table (keyring_environment_updated_from_new): new, call Setenv dbus method to have gnome-session aware of changed/new environment variables (keyring_environment_removed_from_old): new, unset (kind of, since that's the Setenv dbus method with an empty value) environment variables that were unset (keyring_export_environment): new, does the synchronization magic (keyring_daemon_start): updated to use keyring_export_environment() 2008-09-02 Vincent Untz * compat/gnome-keyring-daemon-wrapper.c: (keyring_daemon_start): call gnome_keyring_daemon_prepare_environment_sync() so that the keyring daemon has all the right environment variables. Patch by Stef Walter Fix part of bug #547272. 2008-09-02 Vincent Untz * gnome-session/main.c: (main): set GNOME_DESKTOP_SESSION_ID to "this-is-deprecated" to make it clear that people should stop relying on this. 2008-09-02 Vincent Untz * gnome-session/main.c: (main): export GNOME_DESKTOP_SESSION_ID. We need this for compatibility reasons for third-party programs. Fix bug #542880. 2008-09-01 Vincent Untz Add --logout, --force-logout, --logout-dialog and --shutdown-dialog arguments to gnome-session-save, and deprecate --kill. This will make things less ambiguous. * tools/gnome-session-save.c: rename some variables (display_error): updated (get_sm_proxy): call get_session_bus() from there, since it simplifies code elsewhere (set_session_name): updated (do_logout): renamed from logout_session(), and simplified. Also add a mode argument for the logout dbus method. (do_shutdown_dialog): new (main): updated for new options * doc/man/gnome-session-save.1: update man page Fix bug #550211. 2008-09-01 Vincent Untz * gnome-session/main.c: (require_dbus_session): make sure we have a session bus by re-running ourself with "dbus-launch --exit-with-session" if necessary. (main): call require_dbus_session() at the early beginning Based on patch by Colin Walters Fix bug #546863. 2008-08-30 Matthias Clasen * gnome-session/gsm-app.c: * gnome-session/gsm-autostart-app.c: * gnome-session/gsm-manager.c: * gnome-session/gsm-resumed-app.c: Always chain up in dispose handlers. 2008-08-29 Matthias Clasen * splash/gnome-session-splash.c: Plug a small leak. 2008-08-29 Matthias Clasen * egg/eggsmclient-xsmp.c (sm_client_xsmp_connect): Don't leak cmdline. 2008-08-29 William Jon McCann * gnome-session/main.c (find_desktop_file_for_app_name): Add some debugging. 2008-08-29 Matthias Clasen * compat/at-spi-registryd-wrapper.c (set_gtk_modules): Plug another leak 2008-08-29 William Jon McCann * egg/eggdesktopfile.c (egg_desktop_file_new_from_key_file), (egg_desktop_file_launchv): * gnome-session/gsm-autostart-app.c (setup_condition_monitor), (is_conditionally_disabled): * gnome-session/gsm-resumed-app.c (gsm_resumed_app_new_from_legacy_session): * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_finalize), (register_client_callback): Fix some leaks found by valgrind. Patch from: Matthias Clasen 2008-08-29 William Jon McCann * data/Makefile.am: Don't install the gnome-wm.desktop by default. 2008-08-29 William Jon McCann * capplet/gsm-app-dialog.c (on_browse_button_clicked), (setup_dialog), (gsm_app_dialog_dispose), (gsm_app_dialog_get_name), (gsm_app_dialog_get_command), (gsm_app_dialog_get_comment), (gsm_app_dialog_init), (gsm_app_dialog_finalize): * capplet/gsm-properties-dialog.c (gsm_properties_dialog_dispose), (gsm_properties_dialog_finalize): Fix add/edit dialog. 2008-08-29 William Jon McCann * gnome-session/main.c (main): Fix typo. 2008-08-28 William Jon McCann * gnome-session/main.c (append_default_apps), (load_standard_apps), (load_override_apps), (main): Add command line option to override the gconf key used to look up the default session. 2008-08-26 William Jon McCann * data/gnome-wm: Use the required components key if possible. 2008-08-26 William Jon McCann * data/gnome-session.schemas.in: * data/gnome-wm: Don't use gnome-wm by default. We should encourage WMs to install a desktop file and to set /desktop/gnome/session/required-components/windowmanager 2008-08-26 William Jon McCann * gnome-session/main.c (find_desktop_file_for_app_name), (append_default_apps), (append_required_apps): Look in app dirs for required components. 2008-08-26 William Jon McCann * gnome-session/main.c (append_required_apps): Honor the list of required apps in the list key instead of loading all component keys in the dir. 2008-08-26 Frederic Crozat * compat/at-spi-registryd-wrapper.c: always set a11y gtk modules but unset it if at-registry could not be started. Still fixes #548982. 2008-08-22 Frederic Crozat * compat/at-spi-registryd-wrapper.c: don't set a11y gtk modules if at registry could not be started. Fixes #548982. 2008-08-22 Frederic Crozat * gnome-session/gsm-util.c: ensure non-fatal error are treated as such. Fixes #548980. 2008-08-22 Jens Granseuer * capplet/gsm-properties-dialog.c: add missing include for gio. Fixes #548909. 2008-08-21 William Jon McCann * gnome-session/gsm-autostart-app.c (gsm_autostart_app_restart): * gnome-session/gsm-manager.c (_app_has_startup_id), (find_app_for_startup_id), (_disconnect_client): Don't return an error if we can't stop an app that we want to restart. It may be stopped. Also try to find the app based on the startup ID first if we have one. Probably fixes #548710 2008-08-20 William Jon McCann * configure.in: Post release version bump ==================== 2.23.90 ==================== 2008-08-20 William Jon McCann * NEWS: Update. * configure.in: Bump version. * gnome-session/gsm-manager.c (gsm_manager_dispose): Disconnect signal handlers before disposing. 2008-08-19 William Jon McCann * gnome-session/gsm-xsmp-client.c (interact_request_callback): Fix debug to show correct dialog type for interact request. 2008-08-19 Frederic Crozat * splash/gnome-session-splash.c: Exit splash screen when last client startup notification finished. Fixes #546410 2008-08-18 William Jon McCann * capplet/gsm-properties-dialog.c (add_app): Fix a case where we don't create ~/.config/autostart Based on patch from: James Westby Fixes #548129 2008-08-18 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (gsm_inhibit_dialog_dispose): Don't try to remove the signal handlers more than once. 2008-08-18 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (gsm_inhibit_dialog_constructor): Change a warning to a debug. 2008-08-18 William Jon McCann * gnome-session/gsm-xsmp-client.c (save_yourself_phase2_request_callback): Honor SaveYourselfPhase2Request as a valid SaveYourself response. Fixes #548259 2008-08-18 Claude Paroz * data/gsm-inhibit-dialog.glade: Removed translatable property on stock label. 2008-08-16 Kjartan Maraas * capplet/gsm-app-dialog.c: * egg/eggdesktopfile.h: * egg/eggsmclient-libgnomeui.c: (egg_sm_client_module_info_get): * egg/eggsmclient-xsmp.c: * gnome-session/gsm-autostart-app.c: * gnome-session/gsm-client.c: * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c: * gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): * gnome-session/gsm-inhibit-dialog.h: * gnome-session/gsm-inhibitor.c: * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c: * gnome-session/gsm-store.c: * gnome-session/gsm-util.c: * gnome-session/gsm-xsmp-client.c: * gnome-session/gsm-xsmp-server.c: * gnome-session/test-inhibit.c: * tools/gnome-session-save.c: Fix some warnings from sparse and other tools. Closes bug #521413 2008-08-15 William Jon McCann * gnome-session/gsm-manager.c (inhibitor_has_client_id), (_disconnect_client): Remove inhibitors for the client when it disconnects. 2008-08-15 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (add_inhibitor), (gsm_inhibit_dialog_constructor): Try again with fewer warnings this time. 2008-08-15 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): Turn off the window snapshot feature for now. I think it needs a bit more development. 2008-08-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gdm-log.c (log_level_to_priority_and_prefix), (gdm_log_default_handler), (gdm_log_toggle_debug), (gdm_log_set_debug), (gdm_log_init), (gdm_log_shutdown): * gnome-session/gdm-log.h: * gnome-session/main.c (signal_cb), (main): Add log/debugging framework. 2008-08-15 William Jon McCann * gnome-session/gdm-signal-handler.c (signal_io_watch), (gdm_signal_handler_set_fatal_func): * gnome-session/gdm-signal-handler.h: * gnome-session/main.c (main): Allow the signal handler to call gtk_main_quit. 2008-08-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gdm-signal-handler.c (block_signals_push), (block_signals_pop), (signal_io_watch), (fallback_get_backtrace), (crashlogger_get_backtrace), (gdm_signal_handler_backtrace), (signal_handler), (catch_signal), (uncatch_signal), (gdm_signal_handler_add), (gdm_signal_handler_add_fatal), (callback_data_free), (gdm_signal_handler_remove_and_free_data), (gdm_signal_handler_remove), (find_callback_data_by_func), (gdm_signal_handler_remove_func), (gdm_signal_handler_class_init), (signal_list_free), (gdm_signal_handler_set_main_loop), (gdm_signal_handler_init), (gdm_signal_handler_finalize), (gdm_signal_handler_new): * gnome-session/gdm-signal-handler.h: * gnome-session/gsm-manager.c (gsm_manager_dispose), (gsm_manager_class_init), (gsm_manager_finalize): * gnome-session/main.c (signal_cb), (main): Add signal handling framework. 2008-08-15 William Jon McCann * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (_signal_pid), (autostart_app_stop_spawn): * gnome-session/gsm-manager.c (app_condition_changed): Add support for killing apps. Try to stop app if there isn't a client available for it. 2008-08-14 William Jon McCann * gnome-session/main.c (load_standard_apps), (load_override_apps), (main): Add command line option to override autostart dirs. 2008-08-14 William Jon McCann * gnome-session/gsm-manager.c (gsm_manager_constructor), (append_app), (gsm_manager_add_autostart_app), (gsm_manager_add_autostart_apps_from_dir), (gsm_manager_add_legacy_session_apps): * gnome-session/gsm-manager.h: * gnome-session/main.c (append_default_apps), (append_saved_session_apps), (append_required_apps), (load_apps), (main): Move the gconf key and dir loading code out of the manager. 2008-08-14 Ghee Teo * data/gnome-wm: Fixes bug #547769. Handle gconftool-2 errors properly. 2008-08-14 William Jon McCann * gnome-session/main.c (main): Fail when unknown options are given. Support a version option. 2008-08-13 William Jon McCann * gnome-session/gsm-manager.c (append_app), (append_default_apps): Correctly check if app-id has already been added to store. 2008-08-13 William Jon McCann * gnome-session/gsm-autostart-app.c (gsm_autostart_app_set_desktop_filename): * gnome-session/gsm-manager.c (append_default_apps), (append_autostart_apps): Clean up some debug spew. 2008-08-13 William Jon McCann * gnome-session/gsm-autostart-app.c (is_conditionally_disabled): * gnome-session/gsm-manager.c (_debug_app_for_phase), (debug_app_summary), (gsm_manager_start): Add a debugging summary of all apps before starting. 2008-08-13 William Jon McCann * gnome-session/gsm-client.c (gsm_client_error_quark), (gsm_client_error_get_type), (gsm_client_cancel_end_session), (gsm_client_query_end_session), (gsm_client_end_session): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session), (dbus_client_end_session), (dbus_client_cancel_end_session): * gnome-session/gsm-manager.c (_client_end_session), (_client_query_end_session), (_client_cancel_end_session): * gnome-session/gsm-xsmp-client.c (client_iochannel_watch), (_client_protocol_timeout), (do_save_yourself), (xsmp_cancel_end_session), (xsmp_query_end_session), (xsmp_end_session), (gsm_xsmp_client_disconnect), (gsm_xsmp_client_finalize), (interact_request_callback), (close_connection_callback): Make QES,ES,CES return errors. Check to make sure that connection is valid before handling same. Set status and disconnect when disconnected. 2008-08-13 William Jon McCann * splash/Makefile.am: * splash/gnome-login-sound.c: * splash/gnome-login-sound.desktop.in: * splash/gnome-logout-sound.sh: Remove gnome-login-sound. It is superseded and improved upon by libcanberra-login-sound. 2008-08-13 Erwann Chenede - * gnome-session/Makefile.am: added XRENDER_LIBS to enable compilation on Solaris. Fixes #547619 2008-08-12 William Jon McCann * gnome-session/gsm-manager.c (phase_num_to_name): Add missing breaks; 2008-08-12 William Jon McCann * gnome-session/gsm-autostart-app.c (autostart_app_start_spawn): Initialize error. Fixes #547443 2008-08-12 Matthias Clasen * compat/at-spi-registryd-wrapper.c: Fix a crash. 2008-08-11 William Jon McCann * gnome-session/gsm-manager.c (on_xsmp_client_logout_request), (on_store_client_added): Add back support for logout via SaveYourselfRequest. Based on patch from: Kim Woelders Fixes #547069 2008-08-11 William Jon McCann * capplet/main.c (main): Add support for --version. 2008-08-11 William Jon McCann * capplet/gsm-properties-dialog.c (key_file_set_locale_string), (write_desktop_file): Try to handle null key values. May fix #546896 2008-08-11 William Jon McCann * capplet/Makefile.am: * capplet/commands.c: * capplet/commands.h: * capplet/gsm-app-dialog.c (make_exec_uri), (on_browse_button_clicked), (on_entry_activate), (setup_dialog), (gsm_app_dialog_constructor), (gsm_app_dialog_dispose), (gsm_app_dialog_set_name), (gsm_app_dialog_set_command), (gsm_app_dialog_set_comment), (gsm_app_dialog_get_name), (gsm_app_dialog_get_command), (gsm_app_dialog_get_comment), (gsm_app_dialog_set_property), (gsm_app_dialog_get_property), (gsm_app_dialog_class_init), (gsm_app_dialog_init), (gsm_app_dialog_finalize), (gsm_app_dialog_new): * capplet/gsm-app-dialog.h: * capplet/gsm-properties-dialog.c (on_response), (find_by_id), (get_app_description), (append_app), (compare_app), (append_autostart_apps), (populate_model), (on_selection_changed), (system_desktop_entry_exists), (update_desktop_file), (ensure_user_autostart_dir), (key_file_set_locale_string), (key_file_to_file), (write_desktop_file), (enable_app), (disable_app), (on_startup_enabled_toggled), (add_app), (add_from_desktop_file), (on_drag_data), (edit_app_dialog), (on_add_app_clicked), (delete_desktop_file), (delete_app), (on_delete_app_clicked), (update_app), (on_edit_app_clicked), (on_autosave_value_notify), (on_autosave_value_toggled), (on_save_session_clicked), (setup_dialog), (gsm_properties_dialog_constructor), (gsm_properties_dialog_dispose), (gsm_properties_dialog_class_init), (gsm_properties_dialog_init), (gsm_properties_dialog_finalize), (gsm_properties_dialog_new): * capplet/gsm-properties-dialog.h: * capplet/main.c (dialog_response), (main): * capplet/ui.c: * capplet/ui.h: * data/session-properties.glade: * gnome-session/gsm-inhibit-dialog.h: Rework the dialogs to use gobject. 2008-08-08 William Jon McCann * gnome-session/gsm-manager.c (gsm_manager_error_get_type), (gsm_manager_logout): * gnome-session/gsm-manager.h: * gnome-session/org.gnome.SessionManager.xml: * tools/gnome-session-save.c (display_error), (get_sm_proxy), (set_session_name), (logout_session), (main): Melt the gnome-session-save tool and make it actually work. Fix the api for Logout to take a uint. 2008-08-08 Jonh Wendell * gnome-session/gsm-autostart-app.c (is_disabled): Dropped the auto-restart check, it's useless in this context. 2008-08-08 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (add_inhibitor), (gsm_inhibit_dialog_set_client_store), (gsm_inhibit_dialog_set_property), (gsm_inhibit_dialog_get_property), (gsm_inhibit_dialog_class_init), (gsm_inhibit_dialog_new): * gnome-session/gsm-inhibit-dialog.h: * gnome-session/gsm-manager.c (query_end_session_complete), (on_client_end_session_response), (request_reboot), (request_shutdown), (request_suspend), (request_hibernate), (request_switch_user): Try to get application name for client when not responding and we don't have an app-id for it. Should fix #546755 2008-08-08 William Jon McCann * configure.in: Bump dbus-glib dep to 0.76 Fixes #546722 2008-08-07 Matthias Clasen * data/gnome-session.schemas.in: Fix a typo. 2008-08-07 Matthias Clasen * capplet/commands.c: Use standard icon name. 2008-08-05 Jens Granseuer * gnome-session/gsm-gconf.c: include sys/types.h for pid_t. Fixes #546439. 2008-08-05 William Jon McCann * configure.in: Post release version bump ==================== 2.23.6 ==================== 2008-08-05 William Jon McCann * NEWS: Update for 2.23.6 release 2008-08-05 William Jon McCann * gnome-session/gsm-app.h: Removed unused item from vtable. 2008-08-04 William Jon McCann * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init), (is_disabled), (parse_condition_string), (if_exists_condition_cb), (unless_exists_condition_cb), (gconf_condition_cb), (setup_condition_monitor), (load_desktop_file), (gsm_autostart_app_dispose), (is_conditionally_disabled), (autostart_app_start_spawn): Fix a number of bugs and leaks related to the monitoring of the AutostartCondition keys. * gnome-session/gsm-manager.c (app_condition_changed), (_app_has_app_id), (find_app_for_app_id): Allow NULL clients on conditional disable. Fix finding of clients. 2008-08-04 William Jon McCann * gnome-session/gsm-app.c (gsm_app_peek_is_conditionally_disabled): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (is_conditionally_disabled), (is_disabled), (gsm_autostart_app_class_init): * gnome-session/gsm-manager.c (_start_app): Add gsm_app_is_conditionally_disabled. Remove AutostartCondition check from is_disabled. We want to be able to distinguish the two. 2008-08-04 William Jon McCann * gnome-session/main.c (acquire_name), (main): Remove session bus launching code. The bus was designed to be started before the session is run. 2008-08-04 William Jon McCann * compat/at-spi-registryd-wrapper.c: * egg/eggdesktopfile.c: * gnome-session/gsm-util.c: * gnome-session/gsm-util.h: * gnome-session/main.c: * splash/gnome-login-sound.c: * splash/gnome-session-splash.c: * splash/splash-window.h: Use single GTK+ includes Patch from: Wouter Bolsterlee Fixes #544830 2008-08-04 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-app.c (gsm_app_error_quark), (get_next_app_serial), (register_app), (gsm_app_constructor), (gsm_app_class_init), (gsm_app_peek_id), (gsm_app_peek_app_id), (gsm_app_peek_startup_id), (gsm_app_peek_phase), (gsm_app_peek_is_disabled), (gsm_app_peek_autorestart), (gsm_app_get_app_id), (gsm_app_get_startup_id), (gsm_app_get_phase): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (is_disabled), (autostart_app_start_spawn), (autostart_app_start_activate), (gsm_autostart_app_get_app_id), (gsm_autostart_app_constructor), (gsm_autostart_app_class_init): * gnome-session/gsm-manager.c (app_condition_changed), (on_phase_timeout), (_start_app), (_disconnect_client), (_app_has_startup_id), (find_app_for_startup_id), (on_xsmp_client_register_request), (append_app), (gsm_manager_register_client), (_app_has_autostart_condition): * gnome-session/gsm-resumed-app.c (gsm_resumed_app_get_app_id), (gsm_resumed_app_class_init): * gnome-session/org.gnome.SessionManager.App.xml: Put the apps on the bus. 2008-08-04 William Jon McCann * gnome-session/gsm-app.c (gsm_app_has_autostart_condition): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_dispose), (is_disabled), (gsm_autostart_app_has_autostart_condition), (gsm_autostart_app_class_init): * gnome-session/gsm-manager.c (_start_app), (do_phase_startup), (find_app_for_app_id), (find_app_for_startup_id), (append_app), (append_required_apps), (gsm_manager_init), (gsm_manager_finalize), (_app_has_autostart_condition), (gsm_manager_is_autostart_condition_handled): * gnome-session/gsm-manager.h: * gnome-session/org.gnome.SessionManager.xml: Add a method to ask if a certain AutostartCondition is being handled. One use of this is for the settings daemon to know if there are any a11y tools that will be started for a certain gconf key. 2008-08-04 William Jon McCann * data/Makefile.am: * gnome-session/Makefile.am: * gnome-session/gsm-inhibit-dialog.glade: Move glade file to data as requested by Lucas. 2008-08-04 William Jon McCann * capplet/commands.c (system_desktop_entry_exists), (find_by_id), (ensure_user_autostart_dir), (key_file_to_file), (key_file_set_locale_string), (delete_desktop_file), (write_desktop_file), (append_app), (compare_app), (append_autostart_apps), (spc_command_get_store), (spc_command_enable_app), (spc_command_disable_app), (spc_command_add_app): * capplet/main.c (main): * capplet/ui.c (make_exec_uri), (cmd_browse_button_clicked_cb), (entry_activate_cb), (edit_app_dialog), (selection_changed_cb), (startup_enabled_toggled_cb), (add_from_desktop_file), (drag_data_cb), (setup_treeview), (add_app_cb), (delete_app_cb), (edit_app_cb), (autosave_value_notify), (autosave_value_toggled), (help_cb): * compat/at-spi-registryd-wrapper.c (registry_ior_watch), (set_gtk_modules), (main): * compat/gnome-keyring-daemon-wrapper.c (keyring_daemon_stop), (child_setup), (keyring_daemon_start), (quit), (main): * compat/gnome-settings-daemon-helper.c (set_gtk1_theme_rcfile): * gnome-session/gsm-gconf.c (gsm_gconf_init), (gsm_gconf_check), (gsm_gconf_shutdown): * gnome-session/gsm-util.c (gsm_util_get_autostart_dirs), (gsm_util_get_app_dirs), (gsm_util_text_is_blank), (gsm_util_init_error), (gsm_util_generate_startup_id), (gsm_util_update_activation_environment), (gsm_util_setenv): * splash/gnome-login-sound.c (get_sound_file_from_config), (get_sound_file), (maybe_play_sound): * splash/gnome-session-splash.c (get_session_bus), (set_session_running_handler), (event_func), (splash_clicked), (filter_func), (load_pixbuf), (load_splash_pixbuf), (main): * splash/splash-window.c (re_scale), (splash_window_expose_event), (splash_window_realize), (splash_icon_destroy), (splash_window_finalize), (layout_icon), (re_laydown), (update_trans_effect), (gsm_splash_window_new), (gsm_splash_window_start), (gsm_splash_window_finish): * tools/gnome-session-save.c (ping_reply), (ice_ping), (die_cb), (cancelled_cb), (display_error), (ice_connection_watch), (get_session_bus), (set_session_name), (main): Some cosmetic / code-style changes requested by Lucas. 2008-08-01 Matthias Clasen * gnome-session/gsm-util.c (gsm_util_get_autostart_dirs): Don't look in /usr/share/autostart, since that is a KDE-specific location using legacy KDE autostart conventions predating the autostart spec. 2008-07-31 William Jon McCann * data/Makefile.am: * data/gnome-session.schemas.in: * data/gnome-wm: * data/gnome-wm.desktop.in: * gnome-session/gsm-util.c (gsm_util_get_app_dirs): Install a desktop file for gnome-wm and use that as the default window manager instead of calling metacity directly. Add a gconf key to allow changing the default program for gnome-wm to use. Remove the gnome/wm-properties directory from the autostart search path. 2008-07-30 William Jon McCann * gnome-session/gsm-inhibitor.c (gsm_inhibitor_error_quark), (gsm_inhibitor_error_get_type), (gsm_inhibitor_set_client_id), (gsm_inhibitor_get_client_id), (gsm_inhibitor_class_init): * gnome-session/gsm-inhibitor.h: DBus doesn't allow NULL or empty object path strings. Throw an error instead. 2008-07-30 William Jon McCann * gnome-session/main.c (on_bus_name_lost), (acquire_name_on_proxy), (acquire_name): Handle NameLost signal and exit when disconnected from bus. 2008-07-30 William Jon McCann * gnome-session/org.gnome.SessionManager.Client.xml: * gnome-session/org.gnome.SessionManager.Inhibitor.xml: Drop the properties for now until we can figure out why they are causing the dbus-glib bindings to crash. 2008-07-30 William Jon McCann * gnome-session/gsm-manager.c (listify_store_ids), (gsm_manager_get_clients), (gsm_manager_get_inhibitors): * gnome-session/gsm-manager.h: * gnome-session/org.gnome.SessionManager.xml: Add GetClients and GetInhibitors. 2008-07-30 William Jon McCann * gnome-session/gsm-client.c (gsm_client_set_startup_id), (gsm_client_set_app_id), (gsm_client_class_init): * gnome-session/gsm-dbus-client.c (handle_end_session_response): * gnome-session/gsm-inhibit-dialog.c (add_inhibitor), (on_store_inhibitor_added): * gnome-session/gsm-inhibitor.c (gsm_inhibitor_set_bus_name), (gsm_inhibitor_set_client_id), (gsm_inhibitor_set_reason), (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_client_id), (gsm_inhibitor_get_reason), (gsm_inhibitor_class_init): * gnome-session/gsm-manager.c (_find_by_startup_id), (_on_query_end_session_timeout), (_disconnect_client), (_disconnect_dbus_client), (inhibitor_has_bus_name), (_app_has_startup_id), (_client_has_startup_id), (on_xsmp_client_register_request), (inhibitor_has_client_id), (on_client_end_session_response), (append_app), (append_default_apps), (gsm_manager_register_client), (gsm_manager_inhibit): * gnome-session/gsm-xsmp-client.c (register_client_callback): DBus forces us to not use NULL strings for properties. Would be nice if the bindings took care of this for us by converting NULL strings into some "unset" value. 2008-07-30 Matthias Clasen * gnome-session/gsm-client.c: Cosmetic fix to some g_return_val_if_fail return values. 2008-07-29 William Jon McCann * gnome-session/gsm-client.c (gsm_client_get_unix_process_id): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (get_caller_info), (gsm_dbus_client_set_bus_name), (dbus_client_get_unix_process_id), (gsm_dbus_client_class_init): * gnome-session/gsm-xsmp-client.c (_parse_value_as_uint), (xsmp_get_unix_process_id), (gsm_xsmp_client_class_init): * gnome-session/org.gnome.SessionManager.Client.xml: Add GetUnixProcessId to Client interface. 2008-07-29 William Jon McCann * capplet/commands.c: * capplet/ui.c: * doc/dbus/gnome-session.xml.in: Fix build. 2008-07-29 Matthias Clasen * gnome-session/gconf.[hc]: Rename to gsm-gconf.[hc] * gnome-session/util.[hc]: Rename to gsm-util.[hc] * gnome-session/*.c: * gnome-session/Makefile.am: Adapt 2008-07-29 Matthias Clasen * gnome-session/gsm-xsmp-client.c: * gnome-session/gsm-manager.c: _-prefix static functions. Pointed out by Lucas Rocha. 2008-07-29 William Jon McCann * MAINTAINERS: Add myself. 2008-07-29 William Jon McCann * configure.in: Bump to 2.23.6 to be in sync with trunk. 2008-07-29 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (on_store_inhibitor_added), (on_store_inhibitor_removed), (setup_dialog): * gnome-session/gsm-store.c (gsm_store_remove): Fix double free. 2008-07-29 William Jon McCann * gnome-session/gsm-manager.c (_disconnect_client), (_disconnect_dbus_client), (remove_clients_for_connection), (on_client_disconnected): Don't remove clients from the iterator func. Set client status when disconnecting. 2008-07-29 William Jon McCann * gnome-session/gsm-client.c (gsm_client_dispose), (gsm_client_class_init): * gnome-session/gsm-dbus-client.c (gsm_dbus_client_dispose), (gsm_dbus_client_class_init): * gnome-session/gsm-inhibit-dialog.c (on_response), (model_has_one_entry), (on_store_inhibitor_removed), (gsm_inhibit_dialog_dispose), (gsm_inhibit_dialog_finalize): * gnome-session/gsm-inhibitor.c (gsm_inhibitor_class_init): * gnome-session/gsm-manager.c (bus_name_owner_changed), (gsm_manager_register_client): * gnome-session/gsm-store.c (gsm_store_foreach_remove): * gnome-session/gsm-xsmp-server.c (accept_ice_connection): Add introspection info to Inhibitor. Fix a few refcounting problems. 2008-07-29 William Jon McCann * gnome-session/gsm-dbus-client.c (dbus_client_stop), (dbus_client_query_end_session), (dbus_client_end_session), (dbus_client_cancel_end_session), (gsm_dbus_client_class_init): * gnome-session/gsm-dbus-client.h: Remove some obsolete signals. 2008-07-29 William Jon McCann * gnome-session/gsm-client.c (gsm_client_class_init): Fix the minimum value for guint property. * gnome-session/gsm-dbus-client.c (setup_connection), (raise_error), (handle_end_session_response), (client_dbus_filter_function), (gsm_dbus_client_constructor), (dbus_client_stop), (dbus_client_query_end_session), (dbus_client_end_session), (dbus_client_cancel_end_session), (gsm_dbus_client_new): * gnome-session/org.gnome.SessionManager.ClientPrivate.xml: * gnome-session/test-client-dbus.c (on_client_query_end_session), (on_client_end_session), (on_client_cancel_end_session), (on_client_stop), (register_client), (unregister_client): Unicast the client private signals. 2008-07-29 William Jon McCann * doc/dbus/Makefile.am: * gnome-session/Makefile.am: * gnome-session/gsm-client.xml: * gnome-session/gsm-dbus-client.c (gsm_dbus_client_class_init): * gnome-session/gsm-dbus-client.xml: * gnome-session/gsm-inhibitor.xml: * gnome-session/gsm-manager.xml: Rename the introspection docs. Remove the dbus-glib stuff from the DBusClient. 2008-07-29 William Jon McCann * doc/dbus/Makefile.am: * gnome-session/gsm-dbus-client.xml: Rename the DBusClient interface to ClientPrivate. Cuz well that's what it is. 2008-07-29 William Jon McCann * gnome-session/gsm-client.c (gsm_client_set_status), (gsm_client_set_property), (gsm_client_get_property), (gsm_client_class_init), (gsm_client_peek_status), (gsm_client_get_status): * gnome-session/gsm-client.h: * gnome-session/gsm-client.xml: * gnome-session/gsm-inhibitor.xml: Make status uint. Add some more exported methods to Client. 2008-07-29 William Jon McCann * gnome-session/gsm-client.c (gsm_client_peek_id), (gsm_client_peek_app_id), (gsm_client_peek_startup_id), (gsm_client_peek_restart_style_hint), (gsm_client_get_startup_id), (gsm_client_get_app_id), (gsm_client_get_restart_style_hint), (gsm_client_get_app_name): * gnome-session/gsm-client.h: * gnome-session/gsm-client.xml: * gnome-session/gsm-dbus-client.c (dbus_client_stop), (dbus_client_query_end_session), (dbus_client_end_session): * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): * gnome-session/gsm-inhibitor.c (gsm_inhibitor_peek_bus_name), (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_client_id), (gsm_inhibitor_get_reason), (gsm_inhibitor_get_flags), (gsm_inhibitor_get_toplevel_xid), (gsm_inhibitor_peek_id), (gsm_inhibitor_peek_app_id), (gsm_inhibitor_peek_client_id), (gsm_inhibitor_peek_reason), (gsm_inhibitor_peek_flags), (gsm_inhibitor_peek_toplevel_xid), (gsm_inhibitor_peek_cookie): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (_debug_client), (_debug_inhibitor), (_find_by_cookie), (_find_by_startup_id), (_client_end_session), (_client_query_end_session), (inhibitor_has_flag), (inhibitor_is_jit), (on_query_end_session_timeout), (disconnect_client), (inhibitor_has_bus_name), (_client_has_startup_id), (inhibitor_has_client_id), (on_client_end_session_response), (gsm_manager_register_client), (gsm_manager_inhibit), (gsm_manager_uninhibit): * gnome-session/gsm-xsmp-client.c (set_description): * gnome-session/gsm-xsmp-server.c (accept_ice_connection): Add client introspection info. Fix the inhibitor methods. 2008-07-29 William Jon McCann * gnome-session/gsm-manager.c (gsm_manager_register_client): * gnome-session/gsm-manager.xml: * gnome-session/test-client-dbus.c (register_client): Don't return the "new" startup ID from the register client method. We can make this available via the Client interface if necessary. 2008-07-29 William Jon McCann * gnome-session/gsm-manager.c (append_default_apps): Check for gnome vendor prefix on default apps. 2008-07-28 William Jon McCann * doc/dbus/Makefile.am: Install into docdir/dbus. 2008-07-28 William Jon McCann * doc/dbus/Makefile.am: Fix distcheck 2008-07-28 William Jon McCann * gnome-session/gsm-manager.c (inhibitor_has_flag), (gsm_manager_is_logout_inhibited), (gsm_manager_start), (gsm_manager_setenv), (gsm_manager_initialization_error), (gsm_manager_is_switch_user_inhibited), (gsm_manager_is_suspend_inhibited), (gsm_manager_shutdown), (gsm_manager_logout), (gsm_manager_register_client), (gsm_manager_unregister_client), (gsm_manager_inhibit), (gsm_manager_uninhibit), (gsm_manager_is_inhibited): * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: Export an IsInhibited method to the bus. 2008-07-28 William Jon McCann * doc/dbus/Makefile.am: * gnome-session/gsm-manager.c (on_store_client_added), (on_store_client_removed), (gsm_manager_set_client_store), (gsm_manager_class_init), (on_store_inhibitor_added), (on_store_inhibitor_removed), (gsm_manager_init): * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: Add signals for client and inhibitor add/remove. 2008-07-28 William Jon McCann * doc/dbus/Makefile.am: * doc/dbus/gnome-session.xml.in: * gnome-session/gsm-inhibitor.xml: Add docs for inhibitors. 2008-07-27 William Jon McCann * gnome-session/gsm-manager.c (disconnect_client): Use app_restart variable. 2008-07-27 William Jon McCann * gnome-session/gsm-manager.c (do_phase_query_end_session): Add query timeout after signalling clients. 2008-07-27 William Jon McCann * gnome-session/gsm-store.c (gsm_store_dispose), (gsm_store_class_init): Clear store in dispose. 2008-07-27 William Jon McCann * gnome-session/gsm-manager.c (gsm_manager_class_init): * gnome-session/gsm-store.c (gsm_store_remove), (foreach_remove_wrapper), (gsm_store_foreach_remove): * gnome-session/gsm-xsmp-server.c (accept_ice_connection), (gsm_xsmp_server_finalize): Emit removed signal after removing from store. 2008-07-27 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-client.c: * gnome-session/gsm-inhibitor.c (register_inhibitor), (gsm_inhibitor_constructor): * gnome-session/gsm-inhibitor.xml: Put inhibitors on the bus. 2008-07-27 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-client-store.c: * gnome-session/gsm-client-store.h: * gnome-session/gsm-inhibit-dialog.c (find_inhibitor), (add_inhibitor), (on_store_inhibitor_added), (on_store_inhibitor_removed), (gsm_inhibit_dialog_set_inhibitor_store), (add_to_model), (populate_model), (gsm_inhibit_dialog_class_init), (gsm_inhibit_dialog_new): * gnome-session/gsm-inhibit-dialog.h: * gnome-session/gsm-inhibitor-store.c: * gnome-session/gsm-inhibitor-store.h: * gnome-session/gsm-inhibitor.c (get_next_inhibitor_serial), (gsm_inhibitor_constructor), (gsm_inhibitor_get_id), (gsm_inhibitor_finalize): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (_debug_client), (debug_clients), (debug_inhibitors), (_find_by_cookie), (app_condition_changed), (do_phase_end_session), (gsm_manager_is_logout_inhibited), (cancel_end_session), (_generate_unique_cookie), (on_query_end_session_timeout), (do_phase_query_end_session), (disconnect_client), (remove_clients_for_connection), (remove_inhibitors_for_connection), (on_xsmp_client_register_request), (on_client_end_session_response), (on_store_client_added), (gsm_manager_set_client_store), (gsm_manager_get_property), (gsm_manager_class_init), (gsm_manager_init), (gsm_manager_finalize), (gsm_manager_new), (gsm_manager_is_switch_user_inhibited), (gsm_manager_is_suspend_inhibited), (gsm_manager_register_client), (gsm_manager_unregister_client), (gsm_manager_inhibit), (gsm_manager_uninhibit): * gnome-session/gsm-manager.h: * gnome-session/gsm-store.c (gsm_store_error_quark), (gsm_store_size), (gsm_store_remove), (gsm_store_foreach), (gsm_store_find), (gsm_store_lookup), (foreach_remove_wrapper), (gsm_store_foreach_remove), (_remove_all), (gsm_store_clear), (gsm_store_add), (gsm_store_set_locked), (gsm_store_get_locked), (gsm_store_set_property), (gsm_store_get_property), (gsm_store_class_init), (_destroy_object), (gsm_store_init), (gsm_store_finalize), (gsm_store_new): * gnome-session/gsm-store.h: * gnome-session/gsm-xsmp-server.c (accept_ice_connection), (gsm_xsmp_server_set_client_store), (gsm_xsmp_server_class_init), (gsm_xsmp_server_new): * gnome-session/gsm-xsmp-server.h: * gnome-session/main.c (main): Unify the InhibitorStore and ClientStore classes. 2008-07-27 William Jon McCann * gnome-session/gsm-dbus-client.xml: Add docs for dbus-client. 2008-07-27 William Jon McCann * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: Add docs for logout mode. 2008-07-27 William Jon McCann * doc/dbus/Makefile.am: * doc/dbus/spec-to-docbook.xsl: * gnome-session/gsm-manager.xml: Require fully qualified interface names in links. 2008-07-27 William Jon McCann * gnome-session/gsm-manager.xml: Add more docs. 2008-07-27 William Jon McCann * data/gnome-session.schemas.in: * splash/Makefile.am: * splash/README: Restore splash. 2008-07-27 William Jon McCann * Makefile.am: * configure.in: * doc/Makefile.am: * doc/dbus/Makefile.am: * doc/dbus/config.xsl: * doc/dbus/dbus-introspect-docs.dtd: * doc/dbus/docbook.css: * doc/dbus/gnome-session.xml.in: * doc/dbus/spec-to-docbook.xsl: Add some D-Bus docs. 2008-07-26 William Jon McCann * Makefile.am: * configure.in: * doc/Makefile.am: * man/.cvsignore: * man/Makefile.am: * man/default.session.5.in: * man/gnome-session-save.1: * man/gnome-session.1.in: * man/gnome-wm.1: * man/session-properties-capplet.1: * man/session-properties-capplet.sgml: * man/session-properties.1: * man/session-properties.sgml: Move man to doc dir. 2008-07-26 William Jon McCann * configure.in: * gnome-session/Makefile.am: * gnome-session/gsm-inhibit-dialog.c (scale_pixbuf), (get_cmap), (pixbuf_get_from_pixmap), (get_pixmap_for_window), (get_pixbuf_for_window), (add_inhibitor), (setup_dialog), (gsm_inhibit_dialog_constructor): * gnome-session/test-inhibit.c (do_inhibit_for_window), (on_widget_show), (main): Add ability to get a window snapshot of application. 2008-07-25 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): Also check for desktop files using a gnome vendor prefix. 2008-07-25 William Jon McCann * gnome-session/gsm-manager.c (on_query_end_session_timeout), (on_client_end_session_response): Use app name when id isn't available. 2008-07-24 William Jon McCann * data/gnome-session.schemas.in: * splash/Makefile.am: * splash/README: * splash/gnome-session-splash.c: * splash/gnome-session-splash.desktop.in: * splash/splash-window.c: * splash/splash-window.h: Make startup faster by removing the splash. 2008-07-24 William Jon McCann * capplet/commands.c (append_autostart_apps), (spc_command_get_store): Merge from trunk. Correctly sort apps model by name. 2008-07-24 William Jon McCann * gnome-session/gsm-manager.c (end_phase), (bus_name_owner_changed): Drop some unused code. Pointed out by Lucas Rocha 2008-07-24 William Jon McCann * gnome-session/gsm-client-store.c (gsm_client_store_remove), (foreach_remove_wrapper), (gsm_client_store_foreach_remove), (_remove_all), (gsm_client_store_clear): * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_remove): Make sure client-removed signals are emitted. 2008-07-24 William Jon McCann * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_remove), (_remove_all), (gsm_inhibitor_store_clear): Make sure to always emit the removed signal. 2008-07-24 William Jon McCann * gnome-session/gsm-xsmp-client.c (setup_connection): Use add_seconds for timeout. Pointed out by Matthias Clasen 2008-07-24 William Jon McCann * gnome-session/gconf.c (gsm_gconf_check): Remove gsm_gconf_get_client. * gnome-session/gsm-autostart-app.c (is_disabled): Don't leak a gconf client. Pointed out by Matthias Clasen 2008-07-24 William Jon McCann * gnome-session/gsm-app.c (gsm_app_dispose): Don't leak id. Pointed out by Matthias Clasen 2008-07-24 William Jon McCann * gnome-session/gsm-autostart-app.c (gsm_autostart_app_set_desktop_filename), (start_notify): Make sure error is initialized. * gnome-session/gsm-manager.c (get_caller_info): Move variable initialization. 2008-07-24 Frederic Crozat * splash/gnome-login-sound.c: really disable login/logout sound if disabled by user. Fix bug #544540. 2008-07-24 William Jon McCann * gnome-session/gsm-manager.c (gsm_manager_class_init): Drop unused signal. * gnome-session/gsm-manager.xml: Start adding D-Bus API docs. 2008-07-23 William Jon McCann * gnome-session/gsm-xsmp-client.c (xsmp_get_restart_style_hint): Make sure hint is initialized. 2008-07-22 William Jon McCann * compat/at-spi-registryd-wrapper.c (main): * gnome-session/gsm-manager.c (gsm_manager_setenv): * gnome-session/gsm-xsmp-server.c (setup_listener): * gnome-session/main.c (main): * gnome-session/util.c (gsm_util_update_activation_environment), (gsm_util_setenv): * gnome-session/util.h: Use DBus API to set environment variables in activation environment. Patch from: Ray Strode Fixes #360475 2008-07-22 Frederic Crozat * splash/splash-window.c: Dither splash background, needed for 16bpp display. Fix bug #544159. 2008-07-22 William Jon McCann * gnome-session/gsm-consolekit.c (gsm_consolekit_init), (gsm_consolekit_can_restart), (gsm_consolekit_can_stop): * gnome-session/gsm-logout-dialog.c: Add some more verbosity when not compiled with PK-gnome. 2008-07-21 William Jon McCann * configure.in: Use FORTIFY_SOURCE * gnome-session/util.c: Add missing include 2008-07-21 William Jon McCann * configure.in: Add our own warning flags * gnome-session/util.c: Add missing includes 2008-07-21 William Jon McCann * gnome-session/gsm-xsmp-server.c: Add some missing includes 2008-07-21 William Jon McCann * gnome-session/gsm-logout-dialog.c: Use standard icon names. Patch from Matthias Clasen. Fixes #542256 2008-07-21 William Jon McCann * capplet/commands.c (spc_command_get_app_description): Must escape the comment for displaying as markup Patch from Matthias Clasen. Fixes #542086 2008-07-21 William Jon McCann * configure.in: Bump version number. 2008-07-18 William Jon McCann * Makefile.am: Remove intltool crap 2008-07-18 William Jon McCann * gnome-session/gsm-client.c (gsm_client_get_restart_style_hint): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (dbus_client_get_restart_style_hint), (gsm_dbus_client_class_init): * gnome-session/gsm-manager.c (disconnect_client): * gnome-session/gsm-xsmp-client.c (xsmp_get_restart_style_hint), (gsm_xsmp_client_class_init): Add support for legacy restart style hints from clients. 2008-07-18 William Jon McCann * gnome-session/gsm-client.h: * gnome-session/gsm-manager.c (phase_num_to_name), (end_phase), (on_phase_timeout), (do_phase_startup), (_client_end_session), (do_phase_end_session), (_client_query_end_session), (inhibitor_has_flag), (gsm_manager_is_logout_inhibited), (_client_cancel_end_session), (inhibitor_is_jit), (cancel_end_session), (manager_switch_user), (do_attempt_reboot), (do_attempt_shutdown), (manager_attempt_reboot), (manager_attempt_shutdown), (manager_attempt_hibernate), (manager_attempt_suspend), (do_dialog_action), (inhibit_dialog_response), (query_end_session_complete), (generate_cookie), (_generate_unique_cookie), (on_query_end_session_timeout), (do_phase_query_end_session), (start_phase), (gsm_manager_start), (find_app_for_app_id), (disconnect_client), (_disconnect_dbus_client), (remove_clients_for_connection), (inhibitor_has_bus_name), (remove_inhibitors_for_connection), (_app_has_startup_id), (on_xsmp_client_register_request), (on_client_end_session_response), (gsm_manager_setenv), (gsm_manager_initialization_error), (request_logout), (logout_dialog_response), (show_shutdown_dialog), (show_logout_dialog), (user_logout), (gsm_manager_logout), (gsm_manager_register_client): * gnome-session/gsm-manager.h: * gnome-session/gsm-xsmp-client.c (do_save_yourself), (xsmp_query_end_session), (xsmp_end_session), (save_yourself_request_callback), (save_yourself_done_callback): Add a forceful shutdown path. Make shutdown path use same state machine as phases. 2008-07-17 William Jon McCann * gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (_debug_inhibitor), (debug_inhibitors), (inhibitor_has_bus_name), (remove_inhibitors_for_connection), (on_client_end_session_response), (on_query_end_session_timeout): Also clear JIT inhibitors from DBus clients when they leave the bus. 2008-07-17 William Jon McCann * gnome-session/gsm-client.c (gsm_client_cancel_end_session): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (dbus_client_cancel_end_session), (gsm_dbus_client_class_init): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-dbus-client.xml: * gnome-session/gsm-manager.c (_cancel_shutdown_client), (inhibitor_is_jit), (cancel_end_session), (inhibit_dialog_response): * gnome-session/gsm-xsmp-client.c (xsmp_cancel_end_session), (gsm_xsmp_client_class_init), (interact_request_callback): Send cancellation to all clients. Cancel JIT inhibitors. 2008-07-17 William Jon McCann * gnome-session/gsm-xsmp-client.c (xsmp_shutdown_cancelled), (interact_request_callback), (save_yourself_done_callback): Try to work around some buggy grab behavior in session clients. 2008-07-17 William Jon McCann * gnome-session/gsm-inhibit-dialog.c (update_dialog_text), (name_cell_data_func): * gnome-session/gsm-inhibit-dialog.glade: Add back heading to inhibit dialog since it makes more sense when some applications are not busy. 2008-07-17 William Jon McCann * gnome-session/gsm-client.c (gsm_client_get_app_name): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (dbus_client_get_app_name), (gsm_dbus_client_class_init): * gnome-session/gsm-manager.c (on_client_end_session_response): * gnome-session/gsm-xsmp-client.c (xsmp_get_app_name), (gsm_xsmp_client_class_init), (interact_request_callback): Try to get something like an app-id for XSMP clients to display info in inhibit dialog. 2008-07-17 William Jon McCann * gnome-session/gsm-manager.c (on_xsmp_client_register_request), (inhibitor_has_client_id), (generate_cookie), (_generate_unique_cookie), (on_client_end_session_response), (on_store_client_added), (gsm_manager_register_client): * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init), (save_yourself_phase2_request_callback), (interact_request_callback), (interact_done_callback), (save_yourself_done_callback), (close_connection_callback), (gsm_xsmp_client_connect): Start hooking up XSMP bit of query-end-session. 2008-07-16 William Jon McCann * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session), (dbus_client_end_session), (gsm_dbus_client_class_init), (gsm_dbus_client_new), (gsm_dbus_client_end_session_response): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-inhibit-dialog.c (add_inhibitor): * gnome-session/gsm-inhibitor.c (gsm_inhibitor_new_for_client): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (_debug_client), (debug_clients), (disconnect_client), (remove_inhibitors_for_connection), (manager_logout), (_client_query_end_session), (query_end_session_complete), (on_client_end_session_response), (on_query_end_session_timeout), (query_end_session), (gsm_manager_register_client): * gnome-session/gsm-manager.h: * gnome-session/gsm-resumed-app.c (gsm_resumed_app_new_from_legacy_session): * gnome-session/gsm-xsmp-client.c (register_client_callback): * gnome-session/test-client-dbus.c (on_client_query_end_session), (register_client), (quit_test), (main): Fix up some missed property names. Hook up query-end-session stuff for dbus client. 2008-07-16 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-app.c (gsm_app_set_startup_id), (gsm_app_set_property), (gsm_app_get_property), (gsm_app_dispose), (gsm_app_class_init), (gsm_app_get_startup_id): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (load_desktop_file), (autostart_app_start_spawn), (autostart_app_start_activate): * gnome-session/gsm-client.c (gsm_client_finalize), (gsm_client_set_startup_id), (gsm_client_set_property), (gsm_client_get_property), (default_stop), (gsm_client_class_init), (gsm_client_get_startup_id), (gsm_client_stop), (gdm_client_end_session_response): * gnome-session/gsm-client.h: * gnome-session/gsm-client.xml: * gnome-session/gsm-dbus-client.c (gsm_dbus_client_error_quark), (gsm_dbus_client_error_get_type), (gsm_dbus_client_class_init), (gsm_dbus_client_end_session_response): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-dbus-client.xml: * gnome-session/gsm-inhibitor.c (gsm_inhibitor_set_client_id), (gsm_inhibitor_get_client_id), (gsm_inhibitor_set_property), (gsm_inhibitor_get_property), (gsm_inhibitor_finalize), (gsm_inhibitor_class_init), (gsm_inhibitor_new_for_client): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (_find_by_startup_id), (app_condition_changed), (app_registered), (phase_timeout), (start_phase), (inhibitor_has_bus_name), (_app_has_startup_id), (find_app_for_startup_id), (register_client_for_name), (_client_has_startup_id), (on_xsmp_client_register_request), (_client_query_end_session), (query_end_session_complete), (inhibitor_has_client_id), (generate_cookie), (_generate_unique_cookie), (on_client_end_session_response), (on_query_end_session_timeout), (query_end_session), (request_logout), (user_logout), (gsm_manager_logout), (gsm_manager_register_client), (gsm_manager_unregister_client): * gnome-session/gsm-manager.xml: * gnome-session/gsm-marshal.list: * gnome-session/gsm-xsmp-client.c (set_description): * gnome-session/test-client-dbus.c (register_client): * gnome-session/util.c (gsm_util_generate_startup_id): * gnome-session/util.h: Rename client-id to startup-id to distinguish from Client's ID. Start adding a new shutdown path that allows for more compatibility with xsmp. 2008-07-15 William Jon McCann * gnome-session/gsm-client.c (gsm_client_query_end_session), (gsm_client_end_session): * gnome-session/gsm-client.h: * gnome-session/gsm-client.xml: * gnome-session/gsm-dbus-client.c (dbus_client_query_end_session), (dbus_client_end_session), (gsm_dbus_client_class_init): * gnome-session/gsm-manager.c (_shutdown_client): * gnome-session/gsm-xsmp-client.c (xsmp_stop), (xsmp_query_end_session), (xsmp_end_session), (gsm_xsmp_client_class_init): Add QueryEndSession and EndSession methods and signals. 2008-07-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-inhibit-dialog.c (lock_screen), (on_response), (gsm_inhibit_dialog_set_action), (find_inhibitor), (add_inhibitor), (update_dialog_text), (on_store_inhibitor_added), (on_store_inhibitor_removed), (gsm_inhibit_dialog_set_inhibitor_store), (gsm_inhibit_dialog_set_property), (gsm_inhibit_dialog_get_property), (name_cell_data_func), (add_to_model), (populate_model), (setup_dialog), (gsm_inhibit_dialog_constructor), (gsm_inhibit_dialog_dispose), (gsm_inhibit_dialog_class_init), (gsm_inhibit_dialog_init), (gsm_inhibit_dialog_finalize), (gsm_inhibit_dialog_new): * gnome-session/gsm-inhibit-dialog.h: * gnome-session/gsm-logout-inhibit-dialog.c: * gnome-session/gsm-logout-inhibit-dialog.glade: * gnome-session/gsm-logout-inhibit-dialog.h: * gnome-session/gsm-manager.c (inhibit_dialog_response), (request_reboot), (request_shutdown), (request_suspend), (request_hibernate), (request_logout), (request_switch_user): * gnome-session/test-client-dbus.c (register_client): Rename logout_inhibit_dialog to inhibit_dialog. 2008-07-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-dbus-client.c (gsm_dbus_client_new): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-manager.c (register_client_for_name), (gsm_manager_register_client): * gnome-session/gsm-method-client.c: * gnome-session/gsm-method-client.h: * gnome-session/gsm-service-client.c: * gnome-session/gsm-service-client.h: * gnome-session/test-client-method.c: Drop ServiceClient for now. Move MethodClient stuff into DBusClient. 2008-07-15 William Jon McCann * gnome-session/gsm-dbus-client.c (dbus_client_stop), (gsm_dbus_client_class_init): Unicast the stop signal to the client. 2008-07-15 William Jon McCann * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_get_id), (gsm_app_is_disabled), (gsm_app_is_running), (gsm_app_get_autorestart), (gsm_app_provides), (gsm_app_start), (gsm_app_restart), (gsm_app_stop): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_class_init): * gnome-session/gsm-client.c (default_stop), (gsm_client_class_init), (gsm_client_notify_session_over), (gsm_client_stop): * gnome-session/gsm-client.h: * gnome-session/gsm-resumed-app.c (gsm_resumed_app_class_init): * gnome-session/gsm-resumed-app.h: * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init): By default emit stop signal from client. 2008-07-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-client.c (register_client), (gsm_client_constructor), (gsm_client_class_init): * gnome-session/gsm-client.xml: Register each client object with the bus. 2008-07-07 William Jon McCann * gnome-session/gsm-logout-inhibit-dialog.c (lock_screen), (on_response), (setup_dialog): * gnome-session/gsm-logout-inhibit-dialog.glade: Add ability to lock screen while waiting for processes to finish. 2008-07-07 William Jon McCann * gnome-session/gsm-logout-inhibit-dialog.c (update_dialog_text), (name_cell_data_func), (setup_dialog): * gnome-session/gsm-logout-inhibit-dialog.glade: Implement MPT's suggested rewording. 2008-06-26 William Jon McCann * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-manager.c (manager_logout), (inhibitor_has_flag), (gsm_manager_is_switch_user_inhibited), (gsm_manager_is_suspend_inhibited), (gsm_manager_is_logout_inhibited), (gsm_manager_inhibit): * gnome-session/test-inhibit.c (do_inhibit): Change inhibit flags to be opt in for each scenario. 2008-06-25 William Jon McCann * gnome-session/gsm-logout-inhibit-dialog.c (model_has_one_entry), (update_dialog_text), (on_store_inhibitor_added), (on_store_inhibitor_removed), (populate_model): * gnome-session/gsm-logout-inhibit-dialog.glade: Use the proper pluralization depending on how many inhibitors are present. Fix up spacing. 2008-06-25 William Jon McCann * gnome-session/gsm-dbus-client.c (gsm_dbus_client_class_init): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-logout-inhibit-dialog.c (add_inhibitor): * gnome-session/gsm-manager.c (do_attempt_reboot), (do_attempt_shutdown), (manager_attempt_reboot), (manager_attempt_shutdown), (manager_attempt_hibernate), (manager_attempt_suspend), (gsm_manager_is_switch_user_inhibited), (gsm_manager_is_suspend_inhibited), (do_action), (request_reboot), (request_shutdown), (request_suspend), (request_hibernate), (logout_dialog_response): * gnome-session/gsm-manager.h: Make inhibit work for shutdown, reboot, suspend, hibernate. 2008-06-25 William Jon McCann * gnome-session/gsm-consolekit.c (get_current_session_id), (get_seat_id_for_session), (get_current_seat_id), (seat_can_activate_sessions), (gsm_consolekit_can_switch_user): * gnome-session/gsm-consolekit.h: * gnome-session/gsm-logout-dialog.c (gsm_logout_supports_system_suspend), (gsm_logout_supports_system_hibernate), (gsm_logout_supports_switch_user), (gsm_get_dialog): * gnome-session/gsm-logout-inhibit-dialog.c (gsm_logout_inhibit_dialog_class_init): * gnome-session/gsm-manager.c (gsm_manager_is_switch_user_inhibited), (manager_switch_user), (do_action), (request_switch_user), (logout_dialog_response): Make switch user work. 2008-06-24 William Jon McCann * gnome-session/gsm-logout-dialog.c (gsm_get_dialog): Center the dialog and set the appropriate window icon. 2008-06-24 William Jon McCann * AUTHORS: Update 2008-06-24 William Jon McCann * configure.in: * gnome-session/Makefile.am: Remove test program for service client. Bump intltool req. 2008-06-24 William Jon McCann * egg/eggdesktopfile.c (egg_desktop_file_new_from_dirs): * egg/eggdesktopfile.h: * gnome-session/gsm-logout-inhibit-dialog.c (find_inhibitor), (add_inhibitor): * gnome-session/test-inhibit.c (do_inhibit): Search the correct dirs when looking up app ids. 2008-06-24 William Jon McCann * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_lookup), (foreach_remove_wrapper), (gsm_inhibitor_store_foreach_remove), (gsm_inhibitor_store_add), (gsm_inhibitor_store_init): * gnome-session/gsm-inhibitor-store.h: * gnome-session/gsm-logout-inhibit-dialog.c (find_inhibitor), (_util_icon_remove_extension), (_find_icon), (_load_icon), (add_inhibitor), (on_store_inhibitor_added), (on_store_inhibitor_removed), (gsm_logout_inhibit_dialog_set_inhibitor_store), (gsm_logout_inhibit_dialog_set_property), (gsm_logout_inhibit_dialog_get_property), (name_cell_data_func), (add_to_model), (populate_model), (setup_dialog), (gsm_logout_inhibit_dialog_class_init), (gsm_logout_inhibit_dialog_init), (gsm_logout_inhibit_dialog_finalize), (gsm_logout_inhibit_dialog_new): * gnome-session/gsm-logout-inhibit-dialog.h: * gnome-session/gsm-manager.c (inhibitor_has_bus_name), (bus_name_owner_changed), (logout_inhibit_dialog_response), (request_logout), (_generate_unique_cookie), (gsm_manager_uninhibit): Populate inhibit dialog. 2008-06-24 William Jon McCann * configure.in: * gnome-session/Makefile.am: * gnome-session/gsm-client-store.h: * gnome-session/gsm-inhibitor-store.c (gsm_inhibitor_store_error_quark), (gsm_inhibitor_store_size), (gsm_inhibitor_store_clear), (remove_inhibitor), (gsm_inhibitor_store_remove), (gsm_inhibitor_store_foreach), (gsm_inhibitor_store_find), (gsm_inhibitor_store_lookup), (gsm_inhibitor_store_foreach_remove), (gsm_inhibitor_store_add), (gsm_inhibitor_store_set_property), (gsm_inhibitor_store_get_property), (gsm_inhibitor_store_class_init), (inhibitor_unref), (gsm_inhibitor_store_init), (gsm_inhibitor_store_finalize), (gsm_inhibitor_store_new): * gnome-session/gsm-inhibitor-store.h: * gnome-session/gsm-inhibitor.c (gsm_inhibitor_constructor), (gsm_inhibitor_init), (gsm_inhibitor_set_bus_name), (gsm_inhibitor_set_app_id), (gsm_inhibitor_set_reason), (gsm_inhibitor_set_cookie), (gsm_inhibitor_set_flags), (gsm_inhibitor_set_toplevel_xid), (gsm_inhibitor_get_bus_name), (gsm_inhibitor_get_app_id), (gsm_inhibitor_get_reason), (gsm_inhibitor_get_flags), (gsm_inhibitor_get_toplevel_xid), (gsm_inhibitor_get_cookie), (gsm_inhibitor_set_property), (gsm_inhibitor_get_property), (gsm_inhibitor_finalize), (gsm_inhibitor_class_init), (gsm_inhibitor_new): * gnome-session/gsm-inhibitor.h: * gnome-session/gsm-logout-dialog.c (gsm_get_dialog): * gnome-session/gsm-logout-dialog.h: * gnome-session/gsm-logout-inhibit-dialog.c (gsm_logout_inhibit_dialog_set_action), (gsm_logout_inhibit_dialog_set_property), (gsm_logout_inhibit_dialog_get_property), (on_response), (setup_dialog), (gsm_logout_inhibit_dialog_constructor), (gsm_logout_inhibit_dialog_dispose), (gsm_logout_inhibit_dialog_class_init), (gsm_logout_inhibit_dialog_init), (gsm_logout_inhibit_dialog_finalize), (gsm_logout_inhibit_dialog_new): * gnome-session/gsm-logout-inhibit-dialog.glade: * gnome-session/gsm-logout-inhibit-dialog.h: * gnome-session/gsm-manager.c (inhibitor_has_bus_name), (remove_inhibitors_for_connection), (bus_name_owner_changed), (gsm_manager_init), (gsm_manager_finalize), (gsm_manager_is_logout_inhibited), (do_action), (logout_inhibit_dialog_response), (request_logout), (logout_dialog_response), (initiate_logout), (_generate_unique_cookie), (gsm_manager_inhibit), (gsm_manager_uninhibit): * gnome-session/gsm-manager.h: * gnome-session/test-inhibit.c (do_inhibit): Add an inhibitor class and store class to make it easier to update the model for the inhibit dialog. Add a stub for an inhibit dialog. 2008-06-23 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-manager.c (gsm_inhibitor_free), (inhibitor_has_bus_name), (inhibit_changed_check), (remove_inhibitors_for_connection), (bus_name_owner_changed), (gsm_manager_init), (gsm_manager_finalize), (generate_cookie), (_generate_unique_cookie), (gsm_manager_inhibit), (gsm_manager_uninhibit): * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: * gnome-session/test-client-method.c (register_client): * gnome-session/test-inhibit.c (session_manager_connect), (do_inhibit), (session_manager_disconnect), (do_uninhibit), (main): Implement inhibit registration. Doesn't actually use it for anything yet. 2008-06-18 William Jon McCann * gnome-session/gsm-app.c (gsm_app_error_quark), (gsm_app_set_id), (gsm_app_set_client_id), (gsm_app_set_property), (gsm_app_get_property), (gsm_app_dispose), (gsm_app_class_init): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (load_desktop_file), (gsm_autostart_app_set_desktop_filename), (gsm_autostart_app_set_property), (gsm_autostart_app_get_property), (gsm_autostart_app_dispose), (is_disabled), (autostart_app_stop_spawn), (autostart_app_stop_activate), (gsm_autostart_app_stop), (autostart_app_start_spawn), (start_notify), (autostart_app_start_activate), (gsm_autostart_app_start), (gsm_autostart_app_constructor), (gsm_autostart_app_class_init), (gsm_autostart_app_new): * gnome-session/gsm-autostart-app.h: * gnome-session/gsm-manager.c (_app_has_client_id), (find_app_for_client_id), (register_client_for_name), (bus_name_owner_changed), (register_manager), (append_default_apps), (append_autostart_apps), (append_required_apps): Add preliminary support for service clients. 2008-06-18 William Jon McCann * gnome-session/gsm-manager.c (bus_name_owner_changed), (on_xsmp_client_register_request), (gsm_manager_finalize): * gnome-session/gsm-manager.xml: Drop set_name. 2008-06-18 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_get_autorestart), (gsm_app_restart): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_dispose), (gsm_autostart_app_stop), (gsm_autostart_app_start), (gsm_autostart_app_restart), (gsm_autostart_app_get_autorestart), (gsm_autostart_app_class_init): * gnome-session/gsm-client.c (gsm_client_class_init): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (gsm_dbus_client_set_bus_name), (gsm_dbus_client_get_bus_name), (gsm_dbus_client_set_property), (gsm_dbus_client_get_property), (gsm_dbus_client_class_init): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-manager.c (gsm_manager_error_get_type), (find_app_for_app_id), (disconnect_client), (_disconnect_dbus_client), (remove_clients_for_connection), (on_client_disconnected), (on_xsmp_client_register_request), (gsm_manager_register_client), (gsm_manager_unregister_client): * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: * gnome-session/gsm-method-client.c (gsm_method_client_class_init): * gnome-session/gsm-resumed-app.c (app_exited), (gsm_resumed_app_start), (gsm_resumed_app_restart), (gsm_resumed_app_dispose), (gsm_resumed_app_class_init): * gnome-session/gsm-service-client.c (gsm_service_client_class_init): * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_class_init), (register_client_callback): * gnome-session/test-client-method.c (session_manager_connect), (register_client), (session_manager_disconnect), (unregister_client), (main): Add dbus method client support. Add test client. Fix up restart handling. 2008-06-18 William Jon McCann * gnome-session/gsm-app.c: * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c: * gnome-session/gsm-autostart-app.h: * gnome-session/gsm-client.c: * gnome-session/gsm-client.h: * gnome-session/gsm-logout-dialog.c: * gnome-session/gsm-manager.c: * gnome-session/gsm-resumed-app.c: * gnome-session/gsm-resumed-app.h: * gnome-session/gsm-xsmp-client.c: * gnome-session/gsm-xsmp-server.c: * gnome-session/main.c: Update copyright headers. 2008-06-17 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_get_id): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_set_desktop_file), (gsm_autostart_app_dispose), (is_disabled), (app_exited), (gsm_autostart_app_get_id), (gsm_autostart_app_constructor), (gsm_autostart_app_class_init): * gnome-session/gsm-client-store.c (gsm_client_store_get_locked): * gnome-session/gsm-client-store.h: * gnome-session/gsm-client.c (gsm_client_finalize), (gsm_client_set_app_id), (gsm_client_set_property), (gsm_client_get_property), (gsm_client_class_init), (gsm_client_get_app_id), (gsm_client_notify_session_over), (gsm_client_restart), (gsm_client_stop), (gsm_client_disconnected): * gnome-session/gsm-client.h: * gnome-session/gsm-dbus-client.c (gsm_dbus_client_constructor), (gsm_dbus_client_init), (gsm_dbus_client_set_property), (gsm_dbus_client_get_property), (gsm_dbus_client_finalize), (gsm_dbus_client_class_init): * gnome-session/gsm-dbus-client.h: * gnome-session/gsm-manager.c (gsm_manager_error_get_type), (app_condition_changed), (phase_timeout), (_start_app), (find_app_for_client_id), (find_app_for_app_id), (on_xsmp_client_register_request), (on_store_client_added), (gsm_manager_class_init), (_shutdown_client), (get_caller_info), (gsm_manager_register_client), (gsm_manager_unregister_client), (gsm_manager_inhibit), (gsm_manager_uninhibit): * gnome-session/gsm-manager.h: * gnome-session/gsm-manager.xml: * gnome-session/gsm-method-client.c (gsm_method_client_constructor), (gsm_method_client_init), (gsm_method_client_set_property), (gsm_method_client_get_property), (gsm_method_client_finalize), (gsm_method_client_stop), (gsm_method_client_restart), (gsm_method_client_class_init), (gsm_method_client_new): * gnome-session/gsm-method-client.h: * gnome-session/gsm-resumed-app.c (gsm_resumed_app_get_id), (gsm_resumed_app_class_init): * gnome-session/gsm-service-client.c (gsm_service_client_constructor), (gsm_service_client_init), (gsm_service_client_set_property), (gsm_service_client_get_property), (gsm_service_client_finalize), (gsm_service_client_stop), (gsm_service_client_restart), (gsm_service_client_class_init), (gsm_service_client_new): * gnome-session/gsm-service-client.h: * gnome-session/gsm-xsmp-client.c (xsmp_restart), (xsmp_stop), (_boolean_handled_accumulator), (gsm_xsmp_client_class_init), (register_client_callback), (save_yourself_request_callback), (save_yourself_phase2_request_callback), (interact_request_callback), (interact_done_callback), (save_yourself_done_callback), (gsm_xsmp_client_register_request), (gsm_xsmp_client_save_state): * gnome-session/gsm-xsmp-client.h: Stub out some dbus based client classes. Make the GsmClient class more generic. 2008-06-16 William Jon McCann * gnome-session/gsm-consolekit.c (get_action_from_error): * gnome-session/gsm-logout-dialog.c (gsm_get_dialog), (gsm_get_shutdown_dialog), (gsm_get_logout_dialog): * gnome-session/gsm-logout-dialog.h: * gnome-session/gsm-manager.c (on_client_disconnected), (gsm_manager_init), (manager_request_reboot), (manager_request_shutdown), (_shutdown_client), (manager_logout), (manager_request_hibernate), (manager_request_sleep), (logout_dialog_response), (show_shutdown_dialog), (show_logout_dialog), (initiate_logout), (gsm_manager_shutdown), (gsm_manager_logout): Fix and simplify shutdown handling. 2008-06-15 William Jon McCann * gnome-session/Makefile.am: * gnome-session/gconf.c (gsm_gconf_shutdown): * gnome-session/gdm.c (gdm_send_protocol_msg), (get_display_number), (gdm_authenticate_connection), (gdm_shutdown_protocol_connection), (gdm_init_protocol_connection), (gdm_parse_query_response), (gdm_update_logout_actions), (gdm_is_available), (gdm_set_logout_action), (gdm_new_login): * gnome-session/gsm-logout-dialog.c: * gnome-session/gsm-manager.c: * gnome-session/gsm-power-manager.c (on_name_owner_changed), (ensure_gpm_connection), (gsm_power_manager_init), (gsm_power_manager_finalize), (gsm_power_manager_get_property), (gsm_power_manager_can_suspend), (gsm_power_manager_can_hibernate), (gsm_power_manager_attempt_suspend), (gsm_power_manager_attempt_hibernate), (gsm_get_power_manager): * gnome-session/gsm-power-manager.h: * gnome-session/logout-dialog.c: * gnome-session/logout-dialog.h: * gnome-session/power-manager.c: * gnome-session/power-manager.h: Strip trailing whitespace. Make pretty. 2008-06-15 William Jon McCann * configure.in: * gnome-session/gsm-manager.c (initiate_shutdown), (logout_dialog_response), (gsm_manager_logout): * gnome-session/logout-dialog.c (gsm_logout_dialog_set_property), (gsm_logout_dialog_get_property), (on_ck_request_completed), (gsm_logout_dialog_destroy), (gsm_logout_supports_reboot), (gsm_logout_supports_shutdown), (gsm_logout_dialog_timeout), (gsm_logout_dialog_set_timeout), (gsm_get_logout_dialog): * gnome-session/logout-dialog.h: Add config summary. Add some debug spew. 2008-06-15 William Jon McCann * gnome-session/gsm-manager.c (register_manager), (gsm_manager_shutdown), (gsm_manager_logout): * gnome-session/gsm-manager.h: Register to the session bus. 2008-06-15 William Jon McCann * gnome-session/main.c (maybe_start_session_bus), (acquire_name_on_proxy), (acquire_name), (main): Acquire a name on the bus. 2008-06-15 William Jon McCann Don't use "capplet" anywhere as this term shouldn't used anymore. #537310, Frederic Peters. * data/gnome-session.schemas.in: replaced "capplet" with "Session Preferences". 2008-06-15 William Jon McCann * configure.in: * gnome-session/Makefile.am: * gnome-session/gdm.c (gdm_init_protocol_connection), (gdm_is_available): * gnome-session/gdm.h: * gnome-session/gsm-consolekit.c (gsm_consolekit_get_property), (gsm_consolekit_class_init), (gsm_consolekit_ensure_ck_connection), (gsm_consolekit_on_name_owner_changed), (gsm_consolekit_init), (gsm_consolekit_finalize), (gsm_consolekit_error_quark), (gsm_consolekit_new), (try_system_stop), (try_system_restart), (emit_restart_complete), (emit_stop_complete), (system_restart_auth_cb), (system_stop_auth_cb), (get_action_from_error), (request_restart_priv), (request_stop_priv), (gsm_consolekit_attempt_restart), (gsm_consolekit_attempt_stop), (gsm_consolekit_can_restart), (gsm_consolekit_can_stop), (gsm_get_consolekit): * gnome-session/gsm-consolekit.h: * gnome-session/gsm-manager.c (do_request_reboot), (do_request_shutdown), (manager_shutdown): * gnome-session/logout-dialog.c (on_ck_request_completed), (gsm_logout_dialog_init), (gsm_logout_dialog_destroy), (gsm_logout_supports_reboot), (gsm_logout_supports_shutdown), (gsm_get_logout_dialog): Add CK shutdown support. Merged from trunk. 2008-06-13 William Jon McCann * gnome-session/gsm-manager.c (on_app_exited), (_start_app), (on_client_disconnected), (on_manage_request): Add restart support back. 2008-06-13 William Jon McCann * gnome-session/gsm-app.c (gsm_app_class_init), (gsm_app_died): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (app_exited), (launch): Wait on processes so we don't create zombies. 2008-06-13 William Jon McCann * gnome-session/gsm-app.c (gsm_app_init), (gsm_app_set_phase), (set_property), (gsm_app_class_init), (gsm_app_start): * gnome-session/gsm-autostart-app.c (get_basename), (gsm_autostart_app_constructor), (gsm_autostart_app_class_init), (gsm_autostart_app_new): * gnome-session/gsm-client-store.c (gsm_client_store_add): * gnome-session/gsm-client.c (gsm_client_class_init): * gnome-session/gsm-manager.c (end_phase), (_start_app), (start_phase), (_client_has_client_id), (_app_has_client_id), (on_manage_request), (on_store_client_added), (gsm_manager_set_client_store), (append_app), (append_default_apps), (append_autostart_apps), (append_legacy_session_apps), (append_required_apps), (gsm_manager_class_init): * gnome-session/gsm-manager.h: * gnome-session/gsm-resumed-app.c (gsm_resumed_app_init), (gsm_resumed_app_class_init): * gnome-session/gsm-xsmp-client.c (client_iochannel_watch), (client_protocol_timeout), (setup_connection), (debug_print_property), (set_properties_callback), (delete_properties_callback), (get_properties_callback), (do_save_yourself), (xsmp_save_yourself), (xsmp_save_yourself_phase2), (xsmp_interact), (xsmp_shutdown_cancelled), (xsmp_stop), (gsm_xsmp_client_finalize), (gsm_xsmp_client_class_init), (register_client_callback), (save_yourself_request_callback): * gnome-session/gsm-xsmp-server.c (accept_ice_connection), (accept_xsmp_connection), (ice_error_handler), (ice_io_error_handler), (sms_error_handler), (setup_listener): Actually register clients. 2008-06-12 William Jon McCann * gnome-session/gsm-app.c (gsm_app_init), (set_property), (get_property), (dispose), (gsm_app_class_init), (gsm_app_get_id), (gsm_app_get_client_id), (gsm_app_get_phase), (gsm_app_is_running), (gsm_app_provides), (gsm_app_start), (gsm_app_stop), (gsm_app_exited): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init), (gsm_autostart_app_set_desktop_file), (gsm_autostart_app_set_property), (gsm_autostart_app_get_property), (gsm_autostart_app_dispose), (if_exists_condition_cb), (unless_exists_condition_cb), (is_running), (is_disabled), (app_exited), (launch), (get_basename), (gsm_autostart_app_provides), (gsm_autostart_app_class_init), (gsm_autostart_app_new): * gnome-session/gsm-client-store.c: * gnome-session/gsm-client-store.h: * gnome-session/gsm-client.c (gsm_client_finalize): * gnome-session/gsm-manager.c (app_condition_changed), (_start_app), (start_phase), (append_app), (_find_app_provides), (append_required_apps), (gsm_manager_init), (gsm_manager_finalize), (initiate_shutdown): * gnome-session/gsm-resumed-app.c (launch), (get_basename), (gsm_resumed_app_class_init), (gsm_resumed_app_new_from_legacy_session): * gnome-session/gsm-resumed-app.h: * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_finalize): A bit more refactoring. 2008-06-12 William Jon McCann * gnome-session/gsm-client-store.c (gsm_client_store_size), (gsm_client_store_lookup), (_has_client_id), (gsm_client_store_add), (gsm_client_store_set_locked), (gsm_client_store_set_property), (gsm_client_store_get_property), (gsm_client_store_class_init): * gnome-session/gsm-client-store.h: * gnome-session/gsm-client.c (gsm_client_set_status), (gsm_client_set_client_id), (gsm_client_set_property), (gsm_client_get_property), (_boolean_handled_accumulator), (gsm_client_class_init), (gsm_client_get_client_id), (gsm_client_stop), (gsm_client_manage_request), (gsm_client_logout_request): * gnome-session/gsm-client.h: * gnome-session/gsm-manager.c (_find_by_client_id), (app_condition_changed), (on_store_client_added), (gsm_manager_set_client_store), (_stop_client), (manager_shutdown), (_shutdown_client), (initiate_shutdown): * gnome-session/gsm-marshal.list: * gnome-session/gsm-xsmp-client.c (client_iochannel_watch), (client_protocol_timeout), (find_property), (set_description), (setup_connection), (gsm_xsmp_client_constructor), (gsm_xsmp_client_init), (delete_property), (debug_print_property), (set_properties_callback), (delete_properties_callback), (get_properties_callback), (prop_to_command), (xsmp_get_restart_command), (xsmp_get_discard_command), (xsmp_get_autorestart), (xsmp_restart), (do_save_yourself), (xsmp_save_yourself), (xsmp_save_yourself_phase2), (xsmp_interact), (xsmp_shutdown_cancelled), (xsmp_stop), (gsm_client_set_ice_connection), (gsm_xsmp_client_set_property), (gsm_xsmp_client_get_property), (gsm_xsmp_client_finalize), (gsm_xsmp_client_class_init), (gsm_xsmp_client_new), (register_client_callback), (save_yourself_request_callback), (save_yourself_phase2_request_callback), (interact_request_callback), (interact_done_callback), (save_yourself_done_callback), (close_connection_callback), (gsm_xsmp_client_connect): * gnome-session/gsm-xsmp-client.h: * gnome-session/gsm-xsmp-server.c (accept_ice_connection): Give the code another whacking. 2008-06-11 William Jon McCann * gnome-session/Makefile.am: * gnome-session/app-autostart.c: * gnome-session/app-autostart.h: * gnome-session/app-resumed.c: * gnome-session/app-resumed.h: * gnome-session/app.c: * gnome-session/app.h: * gnome-session/client-xsmp.c: * gnome-session/client-xsmp.h: * gnome-session/client.c: * gnome-session/client.h: * gnome-session/dbus.c: * gnome-session/dbus.h: * gnome-session/gconf.c (gsm_gconf_check): * gnome-session/gsm-app.c (set_property), (get_property), (dispose), (get_basename), (gsm_app_get_phase), (gsm_app_is_disabled), (gsm_app_provides), (app_exited), (launch): * gnome-session/gsm-app.h: * gnome-session/gsm-autostart-app.c (gsm_autostart_app_init), (gsm_autostart_app_class_init), (gsm_autostart_app_dispose), (gsm_autostart_app_new), (unless_exists_condition_cb), (if_exists_condition_cb), (gconf_condition_cb), (is_disabled): * gnome-session/gsm-autostart-app.h: * gnome-session/gsm-client-store.c (gsm_client_store_error_quark), (gsm_client_store_clear), (remove_client), (gsm_client_store_remove), (gsm_client_store_foreach), (gsm_client_store_find), (gsm_client_store_foreach_remove), (gsm_client_store_add), (gsm_client_store_class_init), (client_unref), (gsm_client_store_init), (gsm_client_store_finalize), (gsm_client_store_new): * gnome-session/gsm-client-store.h: * gnome-session/gsm-client.c (get_next_client_serial), (gsm_client_constructor), (gsm_client_init), (gsm_client_finalize), (gsm_client_class_init), (gsm_client_get_id), (gsm_client_register_client), (gsm_client_request_logout): * gnome-session/gsm-client.h: * gnome-session/gsm-manager.c (gsm_manager_error_quark), (app_condition_changed), (end_phase), (app_registered), (phase_timeout), (start_phase), (gsm_manager_start), (remove_client_for_connection), (remove_clients_for_connection), (bus_name_owner_changed), (register_manager), (gsm_manager_set_failsafe), (gsm_manager_set_client_store), (gsm_manager_set_property), (gsm_manager_get_property), (append_app), (append_default_apps), (append_autostart_apps), (append_legacy_session_apps), (append_saved_session_apps), (append_required_apps), (load_apps), (gsm_manager_constructor), (gsm_manager_class_init), (gsm_manager_init), (gsm_manager_finalize), (gsm_manager_new), (gsm_manager_setenv), (gsm_manager_initialization_error), (manager_shutdown), (initiate_shutdown), (logout_dialog_response), (gsm_manager_initiate_shutdown), (gsm_manager_shutdown), (gsm_manager_logout), (manager_set_name), (gsm_manager_set_name): * gnome-session/gsm-manager.h: * gnome-session/gsm-marshal.list: * gnome-session/gsm-resumed-app.c (gsm_resumed_app_init), (gsm_resumed_app_class_init), (gsm_resumed_app_new_from_legacy_session), (gsm_resumed_app_new_from_session), (get_basename), (launch): * gnome-session/gsm-resumed-app.h: * gnome-session/gsm-xsmp-client.c (gsm_xsmp_client_init), (gsm_xsmp_client_class_init), (gsm_xsmp_client_new), (xsmp_finalize), (client_iochannel_watch), (client_protocol_timeout), (register_client_callback), (do_save_yourself), (save_yourself_request_callback), (xsmp_save_yourself), (save_yourself_phase2_request_callback), (xsmp_save_yourself_phase2), (interact_request_callback), (xsmp_interact), (interact_done_callback), (xsmp_shutdown_cancelled), (xsmp_die), (save_yourself_done_callback), (close_connection_callback), (debug_print_property), (find_property), (delete_property), (set_properties_callback), (delete_properties_callback), (get_properties_callback), (xsmp_get_client_id), (xsmp_get_pid), (xsmp_get_desktop_file), (prop_to_command), (xsmp_get_restart_command), (xsmp_get_discard_command), (xsmp_get_autorestart), (set_description), (gsm_xsmp_client_connect): * gnome-session/gsm-xsmp-client.h: * gnome-session/gsm-xsmp-server.c (accept_ice_connection), (gsm_xsmp_server_start), (gsm_xsmp_server_set_client_store), (gsm_xsmp_server_set_property), (gsm_xsmp_server_get_property), (accept_xsmp_connection), (ice_error_handler), (ice_io_error_handler), (sms_error_handler), (auth_entry_new), (update_iceauthority), (setup_listener), (gsm_xsmp_server_constructor), (gsm_xsmp_server_class_init), (gsm_xsmp_server_init), (gsm_xsmp_server_finalize), (gsm_xsmp_server_new): * gnome-session/gsm-xsmp-server.h: * gnome-session/gsm.h: * gnome-session/logout-dialog.c (gsm_logout_dialog_timeout), (gsm_get_logout_dialog): * gnome-session/logout-dialog.h: * gnome-session/main.c (gsm_dbus_init), (gsm_dbus_check), (main): * gnome-session/org.gnome.SessionManagement.xml: * gnome-session/session.c: * gnome-session/session.h: * gnome-session/util.c (gsm_util_init_error), (gsm_util_generate_client_id): * gnome-session/util.h: * gnome-session/xsmp.c: * gnome-session/xsmp.h: First crack at new new gnome-session based around D-Bus. XSMP still provided but more as a legacy feature. Not quite operational yet. See bug #535829 for more info. 2008-06-10 Kjartan Maraas * compat/gnome-keyring-daemon-wrapper.c: (keyring_daemon_start), (main): Fix some invalid reads and a leak reported by valgrind. Closes bug #537577. 2008-06-05 Lucas Rocha * data/session-properties.glade: add bevel to list of startup apps on session properties capplet. #536833, Matthias Clasen. 2008-06-03 Lucas Rocha * configure.in: post-release bump to 2.23.4 2008-06-03 Lucas Rocha * NEWS: * README: Version 2.23.3. 2008-05-31 Lucas Rocha * compat/at-spi-registryd-wrapper.c (show_error, registry_ior_watch, registry_ior_watch_timeout, main): remove dialog shown after a timeout in at-spi wrapper program in order to avoid false-positive at-spi errors. #524263, Li Yuan. 2008-05-31 Lucas Rocha * configure.in: properly check for broadcast startup message function on Gdk to have icons shown on session startup. 2008-05-31 Lucas Rocha Fix crash when appending resumed apps from legacy session file. #532075, Ed Catmur. Patch by Ed Catmur. * gnome-session/app-resumed.c (get_basename): implement get_basename by returning the program name for now. This will probably need to be changed in the future with the new session saving implementation based on desktop files. * gnome-session/app.c (get_basename, gsm_app_get_basename, gsm_app_class_init): turn gsm_app_get_basename into an overridable method so that we can re-implement it on different types of apps. * gnome-session/session.c (append_app): check if basename is NULL before checking if app has been registered earlier. 2008-05-29 Dan Winship * gnome-session/xsmp.c: Deal with the possibility of multiple local connections, and recognize "unix/" as a local connection prefix as well as "local/". Fixes XSMP under Fedora Rawhide. Problem noted by Kjartan Maraas. 2008-05-27 Lucas Rocha * gnome-session/session.c, gnome-session/xsmp.c, gnome-session/app.c: fixed several memory leaks. #534641, Kjartan Maraas. 2008-05-25 Lucas Rocha Add support for drag and drop of desktop files on Session Properties capplet. #437206, Vincent Untz. Patch from Jared Moore * capplet/commands.c (spc_command_add_app): check if icon is set on iter before using default app icon. * capplet/ui.c (setup_treeview, drag_data_cb, add_from_desktop_file): set drag and drop handlers. The treeview now can receive a list of desktop file uris from DnD. 2008-05-25 Lucas Rocha Fix gnome-keyring-wrapper program to correctly set SSH_AUTH_SOCK env variable on session initialization phase. #534055, Dan Winship. * compat/gnome-keyring-daemon-wrapper.c (keyring_daemon_start): capture output from gnome-keyring-daemon and set SSH_AUTH_SOCK and GNOME_KEYRING_PID env variables properly. 2008-05-25 Lucas Rocha Make splash listen to "SessionRunning" to know when to go away on session startup. #529602, Karsten Bräckelmann. * splash/Makefile.am: add D-Bus bits on INCLUDES and LDADD. * splash/README: remove obsolete note about gnome-session-splash. * splash/gnome-session-splash.c (get_session_bus, set_session_running_handler, on_session_running, main): listen to "SessionRunning" D-Bus signal to know when go away. * splash/gnome-session-splash.desktop.in: move splash to Panel phase as it's the phase just after window manager is started. 2008-05-25 Lucas Rocha Emit "SessionRunning" D-Bus signal when session is fully up and running with all autostart apps present. * gnome-session/dbus.[ch] (gsm_dbus_server_class_init): add "session-running" signal to GsmDBusServer class. (gsm_dbus_emit_session_running): new method for emitting the new signal. * gnome-session/org.gnome.SessionManagement.xml: added "SessionRunning" signal. (gsm_dbus_emit_session_over): rename gsm_dbus_session_over to gsm_dbus_emit_session_over for consistency. * gnome-session/session.c (end_phase): added gsm_dbus_emit_session_emit() call when GSM_SESSION_PHASE_RUNNING is reached. 2008-05-24 Lucas Rocha Emit "SessionOver" D-Bus signal before ending the session. * gnome-session/dbus.[ch] (gsm_dbus_server_class_init): add "session-over" signal to GsmDBusServer class. (gsm_dbus_session_over): new method for emitting the new signal. * gnome-session/org.gnome.SessionManagement.xml: added "SessionOver" signal. * gnome-session/session.c (session_shutdown): added gsm_dbus_session_over() call. 2008-05-17 Lucas Rocha * gnome-session/logout-dialog.c: fixes small build warning. 2008-05-17 Lucas Rocha * gnome-session/main.c (main): call gsm_dbus_shutdown, gsm_xsmp_shutdown, and gsm_gconf_shutdown after main quit. (gsm_initialization_error): call gtk_main_quit after showing error dialog. 2008-05-17 Lucas Rocha Port gnome-session-save tool to new code base. * tools/gnome-session-save.c: tool source code. * configure.in, Makefile.am, tools/Makefile.am: add tools to build. * gnome-session/org.gnome.SessionManagement.xml, gnome-session/dbus.c (gsm_dbus_server_set_name): new SetName D-Bus method which should be used to set the name of current session. * gnome-session/session.[ch] (gsm_session_set_name): new GsmSession method for setting session name. 2008-05-14 Lucas Rocha * configure.in: post-release bump to 2.23.3 2008-05-14 Lucas Rocha * NEWS: * README: Version 2.23.2.2. 2008-05-14 Lucas Rocha * capplet/ui.c (add_app_cb): remove iter from store if app is not actually added. #532973, David Ronis. 2008-05-14 Lucas Rocha * gnome-session/main.c (main): fixed a build warning on the gtk_init_with_args() call. 2008-05-14 Lucas Rocha * capplet/ui.c: fixed command entry widget name to match the one in the glade. 2008-05-14 Kjartan Maraas * data/session-properties.glade: Don't translate widget labels. 2008-05-13 Lucas Rocha * configure.in: post-release bump to 2.23.3 2008-05-13 Lucas Rocha * NEWS: * README: Version 2.23.2.1. 2008-05-13 Lucas Rocha * configure.in: fixed libglade dependency to 2.3.6. #532835, Karsten Bräckelmann. 2008-05-12 Lucas Rocha * configure.in: post-release bump to 2.23.3 2008-05-12 Lucas Rocha * NEWS: * README: Version 2.23.2. 2008-05-12 Lucas Rocha * capplet/main.c, capplet/ui.[ch], capplet/commands.[ch]: added copyright headers. 2008-05-10 Lucas Rocha Session properties capplet re-implemented for new code base. #529601, Karsten Bräckelmann. * capplet/main.c, capplet/ui.[ch], capplet/commands.[ch]: session properties capplet code. * gnome-session/util.[ch]: utility functions shared among session manager and capplet. * gnome-session/session.c (gsm_session_new): use gsm_util_* functions instead of local ones. * data/session-properties.glade: capplet Glade file. 2008-04-22 Lucas Rocha * configure.in: post-release bump to 2.23.2 2008-04-22 Lucas Rocha * NEWS: * README: Version 2.23.1.1. 2008-04-22 Lucas Rocha * splash/Makefile.am: install splash .desktop files in an autostart directory instead of old default-session one. * compat/Makefile.am: install compat .desktop files in an autostart directory instead of old default-session one. 2008-04-21 Lucas Rocha * configure.in: post-release bump to 2.23.2 ==================== 2.23.1 ==================== 2008-04-21 Lucas Rocha * NEWS: * README: Version 2.23.1. 2008-04-21 Lucas Rocha * data/Makefile.am, data/nautilus.desktop, data/gnome-settings-daemon.desktop: don't install .desktop files for nautilus and gnome-settings-daemon because gnome-session looks for those in their origin paths now. 2008-04-21 Lucas Rocha * data/gnome-wm: restore the gnome-wm script to keep backwards compatibitility. 2008-04-19 Lucas Rocha * gnome-session/app-autostart (file_condition_cb, is_disabled): Separate callbacks for if-exists and unless-exists condition to not need a condition_type private attribute. 2008-04-13 Lucas Rocha Fully implement if-exists and unless-exists condition types. * configure.in: bump glib dependency to 2.16.0 and add gio bits. * gnome-session/app-autostart.c: added condition and condition_type private attribute to keep track of codition changes in the app. (gsm_app_autostart_class_init, gsm_app_autostart_dispose): added dispose to free internal resources. (file_condition_cb): callback for file monitor used to keep track of if-exists and unless-exists condition changes. (gconf_condition_cb): only emit "condition-changed" if the condition actually changed. (is_disabled): added file monitors for if-exists and unless-exists condition types. 2008-04-10 Lucas Rocha * data/gnome-panel.desktop, data/Makefile.am: don't install gnome-panel.desktop anymore as gnome-panel has all needed keys in its .desktop file now. 2008-04-10 Lucas Rocha Re-implemented the way we define the default session. Instead of a directory full of .desktop files, we now get the list of default apps from a gconf key. Then session manager then looks for those apps in the standard applications and autostart directories. This way we don't require default apps to export their .desktop files in a special directory. #525157, Rob Bradford. * data/gnome-session.schemas.in: added a new gconf key /desktop/gnome/session/default-session which stores the list of default session apps. * gnome-session/Makefile.am: no need to define default-session directory anymore. * gnome-session/gsm.h: added new constant called GSM_GCONF_DEFAULT_SESSION_KEY refering to new gconf key. * gnome-session/session.c (gsm_session_new, append_default_apps): new function to load default apps from gconf key. The gconf key only stores the application names and GsmSession looks for a respective .desktop file in some standard application and autostart directories. (get_autostart_dirs, get_app_dirs): new utility functions which return all autostart and applications directories respectively. 2008-04-10 Lucas Rocha * gnome-session/README: fix small typo. 2008-04-10 Lucas Rocha * gnome-session/Makefile.am: use GNOME_SESSION_FLAGS and GNOME_SESSION_LIBS in INCLUDES and LDADD respectively. 2008-04-10 Lucas Rocha * gnome-session/main.c (main): correctly set translation domain on gtk_init_with_args() call. 2008-04-10 Lucas Rocha * configure.in: several cosmetic changes. 2008-04-10 Lucas Rocha * gnome-session/main.c (main), gnome-session/Makefile.am: uncommented gettext-related code. Defined locale directory. 2008-04-09 Lucas Rocha * HACKING: removed obsolete information and updated the content. 2008-03-31 Lucas Rocha * gnome-session/app-autostart.c (is_disabled): Call egg_desktop_file_can_launch() to check OnlyShowIn/NotShowIn and TryExec. #525184, Owen Taylor. Patch by Dan Winship. 2008-03-31 Lucas Rocha * data/default-session.in: removed default-session.in as this is not necessary or used by gnome-session anymore. 2008-03-30 Lucas Rocha * data/metacity.desktop, data/Makefile.am: don't install metacity.desktop anymore as metacity is doing it now. 2008-03-23 Lucas Rocha * AUTHORS, MAINTAINERS: updated with real content. 2008-03-23 Lucas Rocha Fix relation between apps set with X-GNOME-Autorestart and AutostartCondition. * gnome-session/session.c (app_condition_changed, client_disconnected): don't restart apps if their condition are set to false. * gnome-session/app-autostart.c (is_disabled): don't keep track of condition in case the app is not set with X-GNOME-Autorestart. 2008-03-22 Lucas Rocha * configure.in: removed libnotify dependency and made some cleanups. 2008-03-22 Lucas Rocha * configure.in: update version to 2.23.1 for future release. * po/POTFILES.in, data/Makefile.am: Several fixes in the build files in order to make it pass distcheck. 2008-03-06 Lucas Rocha * egg/eggdesktopfile.c (egg_desktop_file_new_from_key_file), gnome-session/xsmp.c (gsm_xsmp_init): fixed two memory leaks. 2008-03-05 Lucas Rocha * egg/eggdesktopfile.c (egg_desktop_file_launchv): use g_ptr_array_add instead of g_ptr_array_set_size to add NULL item to env array. 2008-03-05 Lucas Rocha * egg/eggdesktopfile.c (egg_desktop_file_launchv): add a NULL item to the environment vars array in order to avoid invalid memory access. 2008-03-05 Lucas Rocha * gnome-session/client-xsmp.c (debug_print_property): removed useless debug message. 2008-03-04 Lucas Rocha Added support for stopping/starting autostart apps based on their AutostartCondition key definition (GConf-only for now). * gnome-session/app-autostart.[ch]: added condition-changed signal and keep track of gconf key changes from the .desktop AutostartCondition key. * gnome-session/session.c (start_phase): connect to condition-changed signal and launch or kill autostart app depending on the new condition state. 2008-02-19 Lucas Rocha * gnome-session/Makefile.am: added app-resumed.[ch] to the build. * gnome-session/app-resumed.[ch]: fix attribute name. * gnome-session/session.c (gsm_session_new, append_saved_session_apps): uncomment legacy saved session loading code. 2008-02-19 Lucas Rocha * data/Makefile.am: added autotools bits for session .desktop file. * data/gnome.desktop.in: added xsession .desktop file. 2008-02-19 Lucas Rocha * data/Makefile.am: added autotools bits for GConf schemas. * gnome-session/gsm.schemas: moved schemas file to "data" directory as gnome-session.schemas.in. 2007-11-27 Lucas Rocha * gnome-session/dbus.c (gsm_dbus_init): use G_SPAWN_SEARCH_PATH flag and do not use '--sh-syntax' option on dbus-launch in order to have it correctly running and setting the respective environment vars. 2007-11-26 Lucas Rocha New D-Bus APIs for logging out (org.gnome.SessionManager.Logout) and shutting down the computer (org.gnome.SessionManager.Shutdown). * gnome-session/Makefile.am: added gdm.[ch], power-manager.[ch] and logout-dialog.[ch] to the build. * gnome-session/logout-dialog.[ch]: new logout dialog implementation for logout and shutdown operations. * gnome-session/power-manager.[ch]: new functions for powering down, restarting, and suspending the computer through GNOME Power Manager. * gnome-session/gdm.[ch]: new functions for communication with GDM. * gnome-session/client-xsmp.c: (save_yourself_request_callback): update with new gnome_session_initiate_shutdown() API. * gnome-session/dbus.c (gsm_dbus_server_logout, gsm_dbus_server_shutdown), gnome-session/org.gnome.SessionManagement.xml: new D-Bus APIs for Logout and Shutdown. * gnome-session/session.[ch]: (logout_dialog_response, gsm_session_initiate_shutdown): new parameter for determining which logout mode to use (normal logout or shutdown). Use new logout dialog when a confirmation is requested. (session_cancel_shutdown): reset the logout dialog response in case the shutdown process is cancelled. (initiate_shutdown): moved the code for initiating the session shutdown to a separate function. (session_shutdown): activate shutdown functions in case this is requested in the logout dialog. 2007-11-20 Lucas Rocha * gnome-session/session.c (app_registered): remove timeout function when all applications from a certain phase are registered on time. 2007-11-18 Lucas Rocha * compat/gnome-settings-daemon-helper.c: remove screen resolution settings code as this is now handled by gnome-settings-daemon accordingly. See bug #434982. * configure.in: don't check XRandr bits anymore. 2007-11-17 Dan Winship * gnome-session/xsmp.c: * gnome-session/client-xsmp.c: * gnome-session/app-resumed.c: add some comments explaining various things 2007-11-12 Lucas Rocha * gnome-session/session.c (start_phase): only add autostarted apps to pending apps on phases before GSM_SESSION_PHASE_APPLICATION. 2007-11-10 Lucas Rocha Add support for client autorestart which can be activated by the "X-GNOME-AutoRestart" .desktop file key or by setting the restart style accordingly through the session client API (GnomeClient's gnome_client_set_restart_style()). * gnome-session/client-xsmp.c (register_client_callback): do not generate new IDs itself, and have it just pass the previous_id directly to gsm_session_register_client(), and if it's NULL, then gsm_session_register_client() can generate the new client ID using gsm_xsmp_generate_client_id(). (gsm_client_xsmp_class_init, xsmp_restart): XSMP client implementation of gsm_client_restart() method. * gnome-session/client.[ch] (gsm_client_restart): new abstract method for restarting a session client. * gnome-session/session.c (gsm_session_register_client): change it to generate a new client ID in case the provided ID is NULL and return the generated ID in case the client is accepted. A client ID is accepted by the session manager if it's not duplicated, belongs to one of the autostarted apps or is NULL. 2007-11-07 Lucas Rocha * egg/eggdesktopfile.c (egg_desktop_file_launchv): fix build warning. 2007-10-27 Lucas Rocha * gnome-session/client-xsmp.c (xsmp_get_client_id, xsmp_get_pid, xsmp_get_restart_command, xsmp_get_autorestart): cast correct variable in order to make invalid memory accesses on wrong variable. 2007-10-27 Lucas Rocha * gnome-session/client.c (gsm_client_get_client_id, gsm_client_get_pid, gsm_client_get_desktop_file, gsm_client_get_restart_command, gsm_client_get_discard_command, gsm_client_get_autorestart, gsm_client_save_state): add definition for abstract methods in GsmClient. 2007-10-23 Lucas Rocha * gnome-session/gconf.c (unset_display_setup): revert change for unsetting DISPLAY environment variable before running gconf-sanity-check as now it can run without a display. 2007-10-21 Lucas Rocha * gnome-session/session.c (start_phase): correctly check if application was successfully launched. Fix crasher when printing out error message in case application failed to launch and returned no error. (gsm_session_register_client): emit "registered" signal on application with the registered session client id. 2007-10-21 Lucas Rocha * gnome-session/app.[ch] (gsm_app_class_init): added new GsmApp signals "registered" and "exited". (launch, app_exited): if case the application belongs to Initialization phase, monitor program exit in order to emit "exited" signal accordingly. (gsm_app_registered): new method for emitting "registered" signal on an GsmApp object. 2007-10-21 Lucas Rocha * gnome-session/gconf.c (unset_display_setup): do not unset DISPLAY environment variable as gconf-sanity-check doesn't run if there's no defined display. 2007-10-21 Lucas Rocha * egg/eggsmclient.c (sm_client_post_parse_func): try to get session client id from the DESKTOP_AUTOSTART_ID environment variable in case no client id is given from command line option --sm-client-id. Unset this environment variable just after using it in order to avoid child processes to use the same client id. 2007-10-21 Lucas Rocha * egg/eggdesktopfile.c (egg_desktop_file_launchv): fix leak and invalid memory access on environment variables array. 2007-10-21 Lucas Rocha * compat/gnome-keyring-daemon-wrapper.desktop.in, compat/gnome-settings-daemon-helper.desktop.in, data/gnome-panel.desktop, data/gnome-settings-daemon.desktop, data/metacity.desktop, data/nautilus.desktop, splash/gnome-login-sound.desktop.in, splash/gnome-session-splash.desktop.in: use X-GNOME-Autostart-Notify key for passing session client ids through the DESKTOP_AUTOSTART_ID environment variable. 2007-06-29 Dan Winship * Initial commit. Don't expect it to be useful yet. :)