diff --git a/man/org.freedesktop.login1.xml b/man/org.freedesktop.login1.xml
index 0908b2ea10..44ad033752 100644
--- a/man/org.freedesktop.login1.xml
+++ b/man/org.freedesktop.login1.xml
@@ -1003,6 +1003,7 @@ node /org/freedesktop/login1/session/1 {
in i signal_number);
TakeControl(in b force);
ReleaseControl();
+ SetType(in s type);
TakeDevice(in u major,
in u minor,
out h fd,
@@ -1058,7 +1059,6 @@ node /org/freedesktop/login1/session/1 {
readonly u Leader = ...;
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly u Audit = ...;
- @org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Type = '...';
@org.freedesktop.DBus.Property.EmitsChangedSignal("const")
readonly s Class = '...';
@@ -1099,6 +1099,8 @@ node /org/freedesktop/login1/session/1 {
+
+
@@ -1183,10 +1185,17 @@ node /org/freedesktop/login1/session/1 {
out and replaced. Otherwise, this method fails if there is already a controller. Note that this method is
limited to D-Bus users with the effective UID set to the user of the session or root.
- ReleaseControl() drops control of a given session. Closing the
- D-Bus connection implicitly releases control as well. See TakeControl() for more information. This
- method also releases all devices for which the controller requested ownership via TakeDevice().
-
+ ReleaseControl() drops control of a given session. Closing the D-Bus
+ connection implicitly releases control as well. See TakeControl() for more
+ information. This method also releases all devices for which the controller requested ownership via
+ TakeDevice().
+
+ SetType() allows the type of the session to be changed dynamically. It can
+ only be called by session's current controller. If TakeControl() has not been
+ called, this method will fail. In addition, the session type will be reset to its original value once
+ control is released, either by calling ReleaseControl() or closing the D-Bus
+ connection. This should help prevent a session from entering an inconsistent state, for example if the
+ controller crashes. The only argument type is the new session type.
TakeDevice() allows a session controller to get a file descriptor for a
specific device. Pass in the major and minor numbers of the character device and