Commit Graph

28 Commits

Author SHA1 Message Date
474ed8dc69 fix(policy): 窗口移除前获取其是否需要自动布局结果 2026-05-07 01:59:56 +08:00
964de33b23 feat(policy): 处理窗口元数据变更事件 2026-05-07 01:58:00 +08:00
b14be7b8dd feat(policy): 在窗口管理/取消管理时推送窗口列表变更 effect 2026-05-05 02:59:16 +08:00
f11125d214 fix(core): 补充 POINTER_ENTER 事件处理缺失的 break 语句 2026-05-05 02:38:30 +08:00
70e2477649 feat(action): 重构 action 接口为函数指针表并实现 quit 和 raise_or_run 2026-05-05 00:44:04 +08:00
42986fb783 feat(command): 添加窗口 bool 状态的 set 命令 2026-05-04 20:02:45 +08:00
ecc9834b03 refactor(command): 从 switch_workspace 命令中移除冗余的 output 字段 2026-05-04 17:52:36 +08:00
12bfce4745 refactor(core): 使用独立 bool 字段代替 geometry_mode 字段
将 fullscreen/maximized/minimized 从互斥枚举拆分为独立 bool 字段,以便
窗口状态切换时能回到上一状态。比如窗口初始为最大化状态,如果进入全屏状
态后从全屏状态退出时还能恢复最大化状态。
2026-05-04 04:07:36 +08:00
3349a912cc refactor(plan): 添加往 plan 中新增 effect 相关辅助函数以消除模板代码 2026-05-02 23:22:50 +08:00
b457d65fb9 feat(policy): 完善窗口状态变更时的边框和焦点管理 2026-05-02 22:25:11 +08:00
d90cebe0c2 feat(core+backend/X11): 实现窗口边框管理和焦点跟随鼠标 2026-05-02 00:46:13 +08:00
085a071f23 feat(policy): 处理 ConfigureRequest 事件 2026-04-29 01:56:31 +08:00
a393308704 feat(core+backend/X11): 实现窗口状态变更(最大化/最小化/全屏) 2026-04-28 03:45:40 +08:00
d602b0111e fix(core/policy): 修复切换工作区时 map_effect 使用的错误 union 字段
map_effect 应该使用 .as.map.window ,错误的用了 .as.unmap.window
2026-04-28 03:33:36 +08:00
722d3946c6 feat(core+backend/X11): 区分窗口销毁和撤销 2026-04-27 22:28:43 +08:00
fc038eda35 fix(core/binding): 将 action_arg 改为值类型避免悬空指针问题 2026-04-27 01:23:07 +08:00
c93e78bbd6 feat(core+backend/X11): 完成快捷键绑定和触发功能 2026-04-27 01:09:23 +08:00
a749fc3c6c feat(core/policy): 添加 unmanage/focus/kill 命令处理 2026-04-23 04:49:43 +08:00
d4c03fcfbd feat(core/policy): 完善 manage_window 和 switch_workspace 命令处理 2026-04-22 19:40:09 +08:00
af4a45a342 refactor(core/policy): 将接口返回类型从 bool 调整为 void
policy_route_event/policy_apply_command 两个函数的 out 参数中已经能包
含返回值所代表的意义了,因此直接将这两个函数的返回类型改为 void
2026-04-22 19:36:50 +08:00
413e68f572 refactor(core/plan): 使用 need_relayout 简化 dirty_flags 2026-04-22 19:09:21 +08:00
fd843dc826 refactor(core): 提取 window 相关类型和操作到独立模块 2026-04-20 00:20:04 +08:00
a7225836e4 feat(core/policy): 实现 policy_apply_command 命令分发功能 2026-04-19 23:38:43 +08:00
38d2a28438 refactor(core/policy): 从 policy_context_t 中提取 event 为独立参数
policy_context_t 应该只包含所有 policy 相关接口都需要用到的参数,而
event 只是 policy_route_event 接口需要的参数,故应该将其从
policy_context_t 中剔除
2026-04-18 22:24:03 +08:00
2fc4b33359 style: 更新 .clang-format 规则并重新格式化所有源文件
- 重构模块使用新的代码风格
- 老代码 (src 目录下的代码) 继续使用之前的代码风格

通过在需要不同代码风格的目录下放对应 .clang-format 配置文件实现
2026-04-14 01:52:53 +08:00
6561b16be0 feat(core): 引入 plan/effect 执行骨架
新增 plan/effect 数据结构与基础操作
在 runtime 中接入 event -> command_buffer -> plan -> backend 流程
补齐 policy/backend 接口并同步更新测试构建
2026-04-13 05:56:31 +08:00
637f658318 feat(core/policy): map_request 事件命令转换 2026-04-13 05:35:13 +08:00
90a25fb120 core: 添加窗口所属层级判定 2026-03-31 18:02:38 +08:00