wip: treeland autotests mcp need window tree#874
Conversation
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: zorowk The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
标题是不是多打了个'e' ( |
There was a problem hiding this comment.
Pull request overview
中文:该 PR 引入基于 Qt RemoteObjects 的“窗口树/光标信息”远程数据源(用于获取当前模式、各层/工作区窗口信息等),并新增用户配置 inputAccelProfile 以通过 libinput 应用指针加速曲线;同时为若干容器补充 objectName 以便窗口树识别与调试定位。
English: This PR adds a Qt RemoteObjects-based “window tree / cursor info” remote source (exposing current mode, per-layer/workspace windows, etc.), introduces a new user config inputAccelProfile to apply libinput pointer acceleration profiles, and assigns objectNames to several containers to make the window tree/debugging easier.
Changes:
- 新增
TreelandRemoteSource+.rep接口,通过 RemoteObjects 导出窗口树与光标位置 / AddTreelandRemoteSource+.repinterface to expose window tree & cursor via RemoteObjects. - 将输入设备初始化从
initTouchPad扩展为initDevice,并接入inputAccelProfile配置 / Expand input init frominitTouchPadtoinitDeviceand wire ininputAccelProfile. - 为 Shell 各层容器与锁屏对象补充
objectName/ SetobjectNames for shell layer containers and lock screen.
Reviewed changes
Copilot reviewed 11 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
src/seat/helper.h |
增加 TreelandRemoteSource 成员声明 / Add member for remote source. |
src/seat/helper.cpp |
创建 TreelandRemoteSource,并切换到 InputDevice::initDevice / Instantiate remote source and switch to initDevice. |
src/modules/resource/treelandremotesource.h |
新增窗口树远程数据源头文件 / New window tree remote source header. |
src/modules/resource/treelandremotesource.cpp |
实现 RemoteObjects host、采集窗口/层/工作区信息与光标同步 / Implement host, collection logic, cursor updates. |
src/modules/resource/treeland_windowtree.rep |
新增 RemoteObjects .rep 协议定义 / New RemoteObjects .rep schema. |
src/input/inputdevice.h |
将 API 改为 initDevice 并新增连接管理字段 / Rename API and add connection tracking member. |
src/input/inputdevice.cpp |
实现 initDevice 并接入 accel profile 配置 / Implement initDevice and accel profile wiring. |
src/core/shellhandler.cpp |
为各层容器设置 objectName / Set objectNames for layer containers. |
src/core/layersurfacecontainer.h |
为容器类补充 Q_OBJECT / Add Q_OBJECT macros. |
src/CMakeLists.txt |
引入 Qt RemoteObjects/Network 并生成 repc 源码 / Add Qt modules and repc sources. |
misc/dconfig/org.deepin.dde.treeland.user.json |
新增 inputAccelProfile 配置项 / Add inputAccelProfile setting. |
done |
a040804 to
043eb67
Compare
88c9471 to
74cd473
Compare
|
TAG Bot New tag: 0.8.7 |
content:
Define a hierarchical .rep interface representing Layer -> Workspace -> Window topology.
Implement captureTree slot to provide real-time snapshots on demand.
Map SurfaceListModel indices to Z-order to ensure physical stacking accuracy.
Remove high-frequency signal listeners and timers to optimize compositor performance.
Log:
Introduced a structured window tree provider using Qt Remote Objects.
Unlike the previous polling mechanism, this implementation only serializes
window metadata when explicitly requested, significantly reducing CPU overhead
while preserving the full logical hierarchy of the desktop.
Influence:
Provides a lightweight and semantically rich interface for the AI assistant to inspect
the current desktop layout without impacting system fluidity.
Add libinput accel speed/profile dconfig options and wire them into input device setup. Apply settings on device hotplug and config changes, and reuse a helper to update all current devices. Log: apply libinput accel config Influence: pointer, touchpad, virtual input
No description provided.