|
|
88129293a0
|
feat: 补发 ConfigureNotify 通知客户端实际几何
当 WM 拒绝窗口的 ConfigureRequest(因窗口需要重新布局)或映射
窗口时,按 ICCCM 规范主动向客户端发送 synthetic ConfigureNotify,
告知其当前真实几何,避免客户端状态不一致。
- core: 新增 NOTIFY_CONFIGURE 命令与 CONFIGURE_NOTIFY 效果,
由 policy 在 window_need_layout 分支生成,plan 层下发
- backend(x11): 新增 configure 批次,map/notify 时查询实际几何
并合成 ConfigureNotify 事件下发
|
2026-07-29 04:31:28 +08:00 |
|
|
|
079f41ce8a
|
refactor: 从 core 中抽出跨模块契约建立 interface/common 模块分层
引入 interface/(零实现声明层)与 common/(共享 ADT 操作层),把跨模块
契约从 core 实现里抽出来,依赖方向回到单向(base ← interface ← common ←
各实现层)。docs/module-layering.org 记录完整方案与判定标准。
interface/(纯类型与多态接口声明,零 .c):
- types.h / event.h / backend.h 从 core 移入
- effect.h 新建(effect_t 从 plan.h 抽出)
common/(多实现层共用的自包含操作,.h + .c):
- event.{h,c}:event_reset / event_cleanup
- listeners.{h,c}:listeners 维护(add / cleanup);notify 留 core
- window.{h,c}:window_list + layer_props/metadata cleanup + window_classify_layer
- workspace.{h,c}:workspace_desc(从 wm_desc.h 拆出,改真实函数)
window 相关整理:
- window_layer_type_t 上浮 interface/types.h(common 的 classify 需要)
- window_classify_layer 移 common/window
- window_info_t 独立成 core/window_info.h(state/command 共享,不寄生)
- 删除 wm_desc.h,base/window_list 并入 common/window
全项目 include 路径同步更新
|
2026-06-25 03:00:30 +08:00 |
|
|
|
bf3de7fb92
|
style: 禁掉 clang-format 的 AlignConsecutiveAssignments 规则并重新格式化整个项目
|
2026-06-24 13:05:56 +08:00 |
|
|
|
9a1e015fc1
|
feat: 添加 MOD4 + 鼠标右键调整窗口大小功能
|
2026-06-22 00:48:14 +08:00 |
|
|
|
4e7ab45864
|
feat: 添加 MOD4 + 鼠标左键移动窗口功能
|
2026-06-21 16:30:59 +08:00 |
|
|
|
b8cd40df9f
|
feat(backend): 支持鼠标抓取功能
|
2026-06-20 01:06:30 +08:00 |
|
|
|
09d5e4b4d0
|
refactor(policy): 删除 action 模块,将 action -> command 解析放在 policy 模块内部
- 删除 src/core/action.c|h,将 spawn 移至 src/base/process
- policy_resolve_action 实现完整的 action 分发逻辑
- binding_table_cycle_mode 改为纯计算,返回模式 ID 而非修改状态
- 从 state 移除 state_workspace_cycle_layout / state_cycle_current_output
- 新增 ZDWM_COMMAND_QUIT 命令,通过 plan 标志驱动 runtime 退出
- set_binding_mode 现在生成 BIND_KEY effect 以同步后端按键绑定
- 扩展 action 数据类型支持 window_send_to_workspace 和 window_cycle_output
|
2026-05-27 01:12:04 +08:00 |
|
|
|
3349a912cc
|
refactor(plan): 添加往 plan 中新增 effect 相关辅助函数以消除模板代码
|
2026-05-02 23:22:50 +08:00 |
|
|
|
46140e1e03
|
feat(core/plan): 清理 effect 所持有的内存
|
2026-04-27 00:20:43 +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 |
|