Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ set(XML
xml/treeland-foreign-toplevel-manager-v1.xml
xml/treeland-shortcut-manager-v1.xml
xml/treeland-window-management-v1.xml
xml/treeland-ddm-v1.xml
)

install(FILES ${XML} DESTINATION ${CMAKE_INSTALL_DATADIR}/treeland-protocols)
55 changes: 55 additions & 0 deletions xml/treeland-ddm-v1.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
This is the treeland - ddm private communication protocol.
-->
<protocol name="treeland_ddm">
<copyright><![CDATA[
SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
SPDX-License-Identifier: MIT
]]></copyright>
<interface name="treeland_ddm" version="1">
<description summary="core global for treeland - ddm connection">
This object is primarily used for establish connection between
treeland and ddm.
</description>
<!-- Requests -->
<request name="switch_to_greeter">
<description summary="send treeland to greeter mode">
Send treeland to Greeter mode.
</description>
</request>
<request name="switch_to_user">
<description summary="call treeland to switch lockscreen user">
Set lockscreen user to username. Ignore when username is "ddm".
</description>
<arg name="username" type="string"/>
</request>
<request name="activate_session">
<description summary="activate wayland session">
Activate treeland session. This will makes treeland try to take
control of screen.
</description>
</request>
<request name="deactivate_session">
<description summary="deactivate wayland session">
Deactivate treeland session. This will release control of the
screen, but not to close the current seats.
</description>
</request>
<!-- Events -->
<event name="switch_to_vt">
<description summary="switch to virtual terminal">
Call ddm to switch current virtual terminal to vtnr. ddm should
take care of the switch and call ioctl respectively.
</description>
<arg name="vtnr" type="int"/>
</event>
<event name="acquire_vt">
<description summary="acquire control of virtual terminal">
Call ddm to acquire control of VT at vtnr. ddm should call
VT_SETMODE respectively.
</description>
<arg name="vtnr" type="int"/>
</event>
</interface>
</protocol>