···11<?xml version="1.0" encoding="UTF-8"?>
22<protocol name="session_core_v1" version="1">
33+ <copyright>
44+ Copyright (c) 2026 Oskar Rochowiak
55+66+ Permission is hereby granted, free of charge, to any person obtaining a
77+ copy of this software and associated documentation files (the "Software"),
88+ to deal in the Software without restriction, including without limitation
99+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1010+ and/or sell copies of the Software, and to permit persons to whom the
1111+ Software is furnished to do so, subject to the following conditions:
1212+1313+ The above copyright notice and this permission notice shall be included in
1414+ all copies or substantial portions of the Software.
1515+1616+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1717+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1818+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1919+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2020+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2121+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2222+ DEALINGS IN THE SOFTWARE.
2323+ </copyright>
2424+325 <object name="session_core_manager" version="1">
426 <description summary="session observer">
527 Unprivileged read-only interface for observing active sessions.
···101123 </s2c>
102124 <s2c name="username">
103125 <arg name="username" type="varchar" summary="username"/>
126126+ </s2c>
127127+ <s2c name="class">
128128+ <arg name="class" type="enum" interface="session_class" summary="session class"/>
104129 </s2c>
105130 <s2c name="vt">
106131 <arg name="vt" type="uint" summary="virtual terminal number"/>
···395420 <value idx="1" name="active" summary="session is in the foreground"/>
396421 <value idx="2" name="closing" summary="session is being destroyed"/>
397422 <value idx="3" name="opening" summary="session is being created"/>
423423+ </enum>
424424+425425+ <enum name="session_class">
426426+ <value idx="0" name="user" summary="interactive login session owned by a user"/>
427427+ <value idx="1" name="greeter" summary="login prompt or display manager session"/>
428428+ <value idx="2" name="lock_screen" summary="screen locker session associated with an existing login"/>
429429+ <value idx="3" name="background" summary="non-interactive user session without an attached seat or VT"/>
430430+ <value idx="4" name="background_light" summary="lightweight background session excluded from idle shutdown accounting"/>
431431+ <value idx="5" name="manager" summary="per-user service manager session"/>
432432+ <value idx="6" name="manager_early" summary="early per-user service manager session created before a regular login"/>
398433 </enum>
399434400435 <enum name="seat_mode">
+38
protocols/session_management_v2.xml
···11<?xml version="1.0" encoding="UTF-8"?>
22<protocol name="session_management_v2" version="1">
33+ <copyright>
44+ Copyright (c) 2026 Oskar Rochowiak
55+66+ Permission is hereby granted, free of charge, to any person obtaining a
77+ copy of this software and associated documentation files (the "Software"),
88+ to deal in the Software without restriction, including without limitation
99+ the rights to use, copy, modify, merge, publish, distribute, sublicense,
1010+ and/or sell copies of the Software, and to permit persons to whom the
1111+ Software is furnished to do so, subject to the following conditions:
1212+1313+ The above copyright notice and this permission notice shall be included in
1414+ all copies or substantial portions of the Software.
1515+1616+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1717+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1818+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1919+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
2020+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
2121+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
2222+ DEALINGS IN THE SOFTWARE.
2323+ </copyright>
2424+325 <object name="session_manager" version="1">
426 <description summary="privileged session manager">
527 Privileged interface for registering owned sessions.
···4466 </description>
4567 <arg name="remote_host" type="varchar" summary="remote host name"/>
4668 </c2s>
6969+ <c2s name="class">
7070+ <description summary="stage the session class">
7171+ Optional. Must be sent before done. Defaults to user.
7272+ </description>
7373+ <arg name="class" type="enum" interface="session_class" summary="session class"/>
7474+ </c2s>
4775 <c2s name="env">
4876 <description summary="stage an environment variable">
4977 Optional. Must be sent before done. May be sent multiple times.
···84112 <enum name="error_code">
85113 <value idx="0" name="not_found" summary="session or cgroup not found"/>
86114 <value idx="1" name="io" summary="generic I/O error"/>
115115+ </enum>
116116+117117+ <enum name="session_class">
118118+ <value idx="0" name="user" summary="interactive login session owned by a user"/>
119119+ <value idx="1" name="greeter" summary="login prompt or display manager session"/>
120120+ <value idx="2" name="lock_screen" summary="screen locker session associated with an existing login"/>
121121+ <value idx="3" name="background" summary="non-interactive user session without an attached seat or VT"/>
122122+ <value idx="4" name="background_light" summary="lightweight background session excluded from idle shutdown accounting"/>
123123+ <value idx="5" name="manager" summary="per-user service manager session"/>
124124+ <value idx="6" name="manager_early" summary="early per-user service manager session created before a regular login"/>
87125 </enum>
88126</protocol>