|
|
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 |
|
|
|
29e0f1e2dc
|
feat: 为窗口移动/尺寸调整添加可配置的刷新率节流
|
2026-06-23 04:38:57 +08:00 |
|
|
|
30dfb19a7b
|
fix(config): 补全默认全景色
|
2026-06-16 19:11:49 +08:00 |
|
|
|
a4bd0b53de
|
feat(bar): 添加窗口列表显示当前 workspace 的窗口列表
|
2026-06-16 17:14:59 +08:00 |
|
|
|
dee4073996
|
feat(bar): 新增绑定模式指示器显示当前 binding mode
- 新增 bar/binding: 监听 binding mode 变更,显示当前模式名
- 支持点击单元循环切换绑定模式(binding_mode_cycle)
- 默认模式下按 show_default 配置决定是否隐藏单元
- 补充 binding 相关默认配置(颜色、内边距、是否显示默认模式)
|
2026-06-16 02:09:38 +08:00 |
|
|
|
41f82d7039
|
feat(bar): 在 workspace 列表末尾显示当前 workspace 布局符号
|
2026-06-15 19:50:42 +08:00 |
|
|
|
4535e171a0
|
feat(bar): 实现 bar 布局排版和渲染绘制流程
|
2026-06-09 20:01:11 +08:00 |
|
|
|
b510b7b473
|
feat(bar): 初始化 bar 窗口并将 bar 集成到 runtime 启动流程中
|
2026-06-06 09:23:15 +08:00 |
|
|
|
adf839bf21
|
feat(bar): 实现 bar 可见性切换 action
|
2026-06-06 04:44:56 +08:00 |
|
|
|
be37b17c2e
|
refactor(runtime): 将 runtime 模块从 core 目录迁移至独立的 runtime 目录并封装内部细节
|
2026-06-06 02:08:35 +08:00 |
|
|
|
f82d0b7a87
|
refactor: 移除新架构用不到的老模块
|
2026-06-06 00:40:39 +08:00 |
|
|
|
0d43c79ad6
|
feat(config): 默认配置补充按键绑定
|
2026-05-31 18:54:23 +08:00 |
|
|
|
13fc41f141
|
feat(runtime): 通过 listeners 发送初始状态
|
2026-05-23 23:06:53 +08:00 |
|
|
|
33b0f2f54f
|
refactor(action): 重新设计 action 实现方式
|
2026-05-19 02:55:08 +08:00 |
|
|
|
74319e97f1
|
feat: 添加核心状态变更通知系统
|
2026-05-17 03:20:38 +08:00 |
|
|
|
0d4a907dd8
|
feat(action): 实现切换当前 output 工作区功能
|
2026-05-09 23:00:01 +08:00 |
|
|
|
1f4659e7a4
|
refactor: 使用 workspace_id_invalid() 替代直接比较 ZDWM_WORKSPACE_ID_INVALID
|
2026-05-09 04:09:46 +08:00 |
|
|
|
a60d9f31a7
|
feat(action): 实现 focus_window 窗口焦点切换及 raise 命令
|
2026-05-07 07:20:27 +08:00 |
|
|
|
8fcf46979a
|
feat(action): 绑定 toggle_fullscreen/maximize/floating 快捷键
|
2026-05-07 03:54:30 +08:00 |
|
|
|
70e2477649
|
feat(action): 重构 action 接口为函数指针表并实现 quit 和 raise_or_run
|
2026-05-05 00:44:04 +08:00 |
|
|
|
d90cebe0c2
|
feat(core+backend/X11): 实现窗口边框管理和焦点跟随鼠标
|
2026-05-02 00:46:13 +08:00 |
|
|
|
1cfa2c4505
|
feat(config): 添加配置窗口边框 API
|
2026-05-01 19:07:21 +08:00 |
|
|
|
7413d7439a
|
feat(layouts): 实现 fair/fullscreen/maximize 内置布局
|
2026-04-27 18:38:49 +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 |
|
|
|
7a86eb469b
|
feat: 添加按键绑定功能
|
2026-04-25 05:36:50 +08:00 |
|
|
|
998b22a288
|
config/runtime_config: remove goto in runtime_config_load function
|
2026-04-18 17:38:27 +08:00 |
|
|
|
2fc4b33359
|
style: 更新 .clang-format 规则并重新格式化所有源文件
- 重构模块使用新的代码风格
- 老代码 (src 目录下的代码) 继续使用之前的代码风格
通过在需要不同代码风格的目录下放对应 .clang-format 配置文件实现
|
2026-04-14 01:52:53 +08:00 |
|
|
|
71eba04de1
|
fix(config): 修复 rule_action 合法性校验 bug
|
2026-04-13 03:01:00 +08:00 |
|
|
|
b55d0c6b91
|
core: 添加窗口规则 (rules) 数据结构和配置接口
|
2026-04-12 02:11:57 +08:00 |
|
|
|
e6b4486f89
|
base: 将通用动态数组操作接入 layout/state/config
|
2026-03-24 20:09:55 +08:00 |
|
|
|
3e09dec613
|
config: 添加用户配置加载流程和默认配置
|
2026-03-24 02:40:57 +08:00 |
|
|
|
67f0c169f5
|
utils 按作用拆成 log/macros/memory 三个模块
|
2026-03-23 19:05:39 +08:00 |
|
|
|
32679b354a
|
config: 加载用户配置动态链接库
|
2026-03-23 14:51:26 +08:00 |
|