The process goes: xfsm-manager state -> XFSM_MANAGER_SHUTDOWN xfsm-client state -> XFSM_CLIENT_SAVING xfsm-client emits QueryEndSession user program responds with EndSessionResponse xfsm-client state -> XFSM_CLIENT_SAVEDONE xfsm-manager state -> XFSM_MANAGER_SHUTDOWNPHASE2 xfsm-client emits EndSession user program responds with EndSessionResponse xfsm-client state -> XFSM_CLIENT_DISCONNECTED xfsm-client emits Stop user program quits or after 15 seconds xfsm-client sends SIGKILL.
04810a0 dbus-clients: Add the end session signals
xfce4-session/xfsm-client-dbus.xml | 67 ++++++++++++++++
xfce4-session/xfsm-client.c | 149 +++++++++++++++++++++++++++++++++++-
xfce4-session/xfsm-client.h | 8 +-
xfce4-session/xfsm-manager.c | 19 ++++-
4 files changed, 237 insertions(+), 6 deletions(-)
Upstream: git.xfce.org