<!-- ##### SECTION Title ##### --> GnomeClient <!-- ##### SECTION Short_Description ##### --> Routines to provide session management support in your application <!-- ##### SECTION Long_Description ##### --> <para>The GNOME project uses a special object - the GnomeClient object - to implement session management. This object handles the connection to a session manager, the setting and removing of properties and the handling of messages sent by a session manager.</para> <para>There are two functions in the GNOME libraries, that create a new GnomeClient object: gnome_client_new() and gnome_client_new_without_connection(). As one may guess from the functions names: The first function tries to connect to a session manager automatically, while the second one does not. However, you probably don't need to create your own client; <function>gnome_init()</function> automatically creates a client for you. To obtain this client, call <function>gnome_master_client().</function> </para> <para> Two useful sources of information on session management are the gnome-client header file and the SMlib.PS.Z document that comes with X. </para> <!-- ##### SECTION See_Also ##### --> <para> </para> <!-- ##### STRUCT GnomeClient ##### --> <para> </para> <!-- ##### ENUM GnomeClientFlags ##### --> <para> </para> <!-- ##### MACRO GNOME_CLIENT_CONNECTED ##### --> <para> Returns TRUE if the client is connected to the session manager. </para> @obj: Client to check. <!-- ##### ENUM GnomeInteractStyle ##### --> <para> Controls permitted user interaction during session save. </para> <!-- ##### ENUM GnomeDialogType ##### --> <para> Controls type of dialog generated for user interaction. </para> <!-- ##### ENUM GnomeSaveStyle ##### --> <para> </para> <!-- ##### ENUM GnomeRestartStyle ##### --> <para> </para> <!-- ##### ENUM GnomeClientState ##### --> <para> </para> <!-- ##### USER_FUNCTION GnomeInteractFunction ##### --> <para> Callback invoked to perform user interaction. </para> @client: Client. @key: Key to be returned when interaction ends. @dialog_type: Type of dialog being shown. @data: Callback data. <!-- ##### FUNCTION gnome_client_disable_master_connection ##### --> <para> </para> <!-- ##### FUNCTION gnome_master_client ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gnome_cloned_client ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gnome_client_new ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gnome_client_new_without_connection ##### --> <para> </para> @Returns: <!-- ##### FUNCTION gnome_client_connect ##### --> <para> </para> @client: <!-- ##### FUNCTION gnome_client_disconnect ##### --> <para> </para> @client: <!-- ##### FUNCTION gnome_client_set_id ##### --> <para> </para> @client: @client_id: <!-- ##### FUNCTION gnome_client_get_id ##### --> <para> </para> @client: @Returns: <!-- ##### FUNCTION gnome_client_get_previous_id ##### --> <para> </para> @client: @Returns: <!-- ##### FUNCTION gnome_client_get_config_prefix ##### --> <para> </para> @client: @Returns: <!-- ##### FUNCTION gnome_client_get_global_config_prefix ##### --> <para> </para> @client: @Returns: <!-- ##### FUNCTION gnome_client_set_global_config_prefix ##### --> <para> </para> @client: @prefix: <!-- ##### FUNCTION gnome_client_get_flags ##### --> <para> </para> @client: @Returns: <!-- ##### FUNCTION gnome_client_set_restart_style ##### --> <para> </para> @client: @style: <!-- ##### FUNCTION gnome_client_set_restart_command ##### --> <para> </para> @client: @argc: @argv: <!-- ##### FUNCTION gnome_client_add_static_arg ##### --> <para> </para> @client: @Varargs: <!-- ##### FUNCTION gnome_client_set_discard_command ##### --> <para> </para> @client: @argc: @argv: <!-- ##### FUNCTION gnome_client_set_resign_command ##### --> <para> </para> @client: @argc: @argv: <!-- ##### FUNCTION gnome_client_set_shutdown_command ##### --> <para> </para> @client: @argc: @argv: <!-- ##### FUNCTION gnome_client_set_current_directory ##### --> <para> </para> @client: @dir: <!-- ##### FUNCTION gnome_client_set_environment ##### --> <para> </para> @client: @name: @value: <!-- ##### FUNCTION gnome_client_set_clone_command ##### --> <para> </para> @client: @argc: @argv: <!-- ##### FUNCTION gnome_client_set_process_id ##### --> <para> </para> @client: @pid: <!-- ##### FUNCTION gnome_client_set_program ##### --> <para> </para> @client: @program: <!-- ##### FUNCTION gnome_client_set_user_id ##### --> <para> </para> @client: @user_id: <!-- ##### FUNCTION gnome_client_request_phase_2 ##### --> <para> </para> @client: <!-- ##### FUNCTION gnome_client_save_any_dialog ##### --> <para> </para> @client: @dialog: <!-- ##### FUNCTION gnome_client_save_error_dialog ##### --> <para> </para> @client: @dialog: <!-- ##### FUNCTION gnome_client_request_interaction ##### --> <para> </para> @client: @dialog: @func: @client_data: <!-- ##### FUNCTION gnome_client_request_interaction_interp ##### --> <para> </para> @client: @dialog: @func: @data: @destroy: <!-- ##### FUNCTION gnome_interaction_key_return ##### --> <para> </para> @key: @cancel_shutdown: <!-- ##### FUNCTION gnome_client_request_save ##### --> <para> </para> @client: @save_style: @shutdown: @interact_style: @fast: @global: <!-- ##### FUNCTION gnome_client_flush ##### --> <para> </para> @client: <!-- ##### FUNCTION gnome_client_init ##### --> <para> </para> <!-- ##### SIGNAL GnomeClient::save-yourself ##### --> <para> This signal is probably the most important one, because it causes the clients to save the programs state. Clients should connect to this signal and save their state. </para> @client: the object which received the signal. @arg1: @arg2: @arg3: @arg4: @arg5: @Returns: <!-- ##### SIGNAL GnomeClient::die ##### --> <para> Emitted when the client should exit. </para> @client: the object which received the signal. <!-- ##### SIGNAL GnomeClient::save-complete ##### --> <para> Emitted when everything is saved. </para> @client: the object which received the signal. <!-- ##### SIGNAL GnomeClient::shutdown-cancelled ##### --> <para> Emitted if the user or a client cancels the logout. </para> @client: the object which received the signal. <!-- ##### SIGNAL GnomeClient::connect ##### --> <para> Emitted on connection to the session manager. </para> @client: the object which received the signal. @arg1: <!-- ##### SIGNAL GnomeClient::disconnect ##### --> <para> Emitted on disconnection from the session manager. </para> @client: the object which received the signal.