|
|
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 |
|
|
|
b71b66921e
|
refactor(window): 用更通用的尺寸提示(min/max size)替换 fixed_size 标记
|
2026-06-22 23:22:08 +08:00 |
|
|
|
adf839bf21
|
feat(bar): 实现 bar 可见性切换 action
|
2026-06-06 04:44:56 +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 |
|
|
|
56f8380028
|
feat(action): 实现 switch_workspace cycle_layout 和 cycle_output 操作
|
2026-05-07 03:21:27 +08:00 |
|
|
|
12bfce4745
|
refactor(core): 使用独立 bool 字段代替 geometry_mode 字段
将 fullscreen/maximized/minimized 从互斥枚举拆分为独立 bool 字段,以便
窗口状态切换时能回到上一状态。比如窗口初始为最大化状态,如果进入全屏状
态后从全屏状态退出时还能恢复最大化状态。
|
2026-05-04 04:07:36 +08:00 |
|
|
|
d90cebe0c2
|
feat(core+backend/X11): 实现窗口边框管理和焦点跟随鼠标
|
2026-05-02 00:46:13 +08:00 |
|
|
|
28ebb086b1
|
refactor(core/state): 调整 state_window_remove 接口实现
在 state_window_remove 中用 array_erase 替代手写移位,并在删除窗口后将
其 transient 子窗口的 transient_for 重置为 INVALID,避免悬空引用
|
2026-04-23 04:12:59 +08:00 |
|
|
|
af4a45a342
|
refactor(core/policy): 将接口返回类型从 bool 调整为 void
policy_route_event/policy_apply_command 两个函数的 out 参数中已经能包
含返回值所代表的意义了,因此直接将这两个函数的返回类型改为 void
|
2026-04-22 19:36:50 +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 |
|
|
|
2fc4b33359
|
style: 更新 .clang-format 规则并重新格式化所有源文件
- 重构模块使用新的代码风格
- 老代码 (src 目录下的代码) 继续使用之前的代码风格
通过在需要不同代码风格的目录下放对应 .clang-format 配置文件实现
|
2026-04-14 01:52:53 +08:00 |
|
|
|
d73d5b0b1f
|
core: 添加 output 索引循环切换接口
|
2026-04-11 05:56:49 +08:00 |
|
|
|
0f8c35ae6c
|
core: 添加转移 window metadata 数据的接口
|
2026-04-07 05:47:47 +08:00 |
|
|
|
5353e4c677
|
窗口 metadata 添加 role 字段
|
2026-04-07 05:33:33 +08:00 |
|
|
|
a89613d37d
|
fix: 更改 window 相关接口注释使其与最新的窗口堆叠方案适配
|
2026-04-05 23:25:25 +08:00 |
|
|
|
1d781d66e9
|
迁移窗口堆叠顺序到新方案(完成)
|
2026-04-05 23:18:59 +08:00 |
|
|
|
dee0a19f34
|
core: 窗口分层类型与接口草案
|
2026-03-24 23:40:46 +08:00 |
|
|
|
67f0c169f5
|
utils 按作用拆成 log/macros/memory 三个模块
|
2026-03-23 19:05:39 +08:00 |
|
|
|
34017fb5da
|
调整数据类型和接口函数命名规范
|
2026-03-23 12:42:19 +08:00 |
|
|
|
931dc3d8d5
|
core: 定义核心事件数据模型并更新其文档
|
2026-03-21 02:51:43 +08:00 |
|
|
|
59a6177770
|
core: 补全 state 容器初始化与实体访问接口
|
2026-03-14 04:02:00 +08:00 |
|
|
|
6335013172
|
core: 抽离状态描述结构并补全 state 容器接口
|
2026-03-13 04:26:30 +08:00 |
|
|
|
57c6a831d4
|
docs: 明确 sticky 窗口规则并修正 core 头文件注释
|
2026-03-12 06:56:56 +08:00 |
|
|
|
499030bd04
|
core: 明确布局函数返回语义与 floating 布局约定
|
2026-03-12 05:46:28 +08:00 |
|