The session manager is a special client which will manage of collection of clients. It is usually used to start and stop a collection of clients specified by the user. For example, on login, the session manager might start a mail reader, calendar, and editor. Or it might restart the collection of clients which were running when the user last logged out. To be managed by the session manager, clients must provide it with information necessary to restart them. These properties include the text string which can be executed to start or restart the client, the name of the system running the client (as opposed to the system which is running the X server), and the state of the client (normal, iconic, or withdrawn). The client must also be ready to respond to messages from the session manager, such as a message to save their internal state before termination, or to delete a window.
A client can specify any value for the properties it shares with the session manager. A client could specify a command which would delete all the user's files on restart, or it could specify that it be restarted on a machine other than the one it was started on.