feat: 为 workspace 添加可用布局列表功能

- wm_workspace_t 新增 available_layouts 和 layout_count 字段
- 新增 WM_COMMAND_CYCLE_LAYOUT 命令支持循环切换布局
- 添加 workspace 布局列表操作 API
- 完善命令规则和实现骨架
- 新增布局列表配置示例和文档
This commit is contained in:
2026-03-11 05:54:30 +08:00
parent 329943ab3e
commit 7de9cd500b
6 changed files with 179 additions and 1 deletions

View File

@@ -31,6 +31,7 @@ typedef enum wm_command_type_t {
WM_COMMAND_MOVE_FLOATING_WINDOW,
WM_COMMAND_RESIZE_FLOATING_WINDOW,
WM_COMMAND_SET_LAYOUT,
WM_COMMAND_CYCLE_LAYOUT,
WM_COMMAND_REDRAW,
WM_COMMAND_QUIT,
} wm_command_type_t;
@@ -133,5 +134,10 @@ typedef struct wm_command_t {
wm_workspace_id_t workspace_id;
wm_layout_id_t layout_id;
} set_layout;
struct {
wm_workspace_id_t workspace_id;
int direction; // 1: 下一个布局, -1: 上一个布局
} cycle_layout;
} as;
} wm_command_t;