|
|
6a227b0497
|
fix: 移除 glibc 内部 bits/* 头文件提升可移植性
time.c 与 runtime.c 中误引的 <bits/time.h>、<bits/types/struct_itimerspec.h>、
<bits/types/sigset_t.h> 是 glibc 实现细节头文件,非 glibc 环境(bionic、musl 等)
不提供,导致跨平台编译失败。
这些符号(CLOCK_MONOTONIC / TFD_CLOEXEC / struct itimerspec / sigset_t)均由
已包含的公开标准头文件 <time.h>、<sys/timerfd.h>、<signal.h> 统一提供,
删除冗余引用后 glibc 与非 glibc 环境均可正常编译
|
2026-07-13 03:32:11 +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 |
|
|
|
ac65180203
|
feat(bar): 按间隔节流 bar_item 更新
- 新增 base/time: time_monotonic_ms 与 time_create_monotonic_timerfd_by_fps
- bar 初始化改用该工具创建 timerfd,移除内联的 itimerspec 拼装
- bar_item_update 按 update_interval_ms 节流,记录 last_updated_time 跳过过早更新
|
2026-06-16 00:31:07 +08:00 |
|
|
|
f82d0b7a87
|
refactor: 移除新架构用不到的老模块
|
2026-06-06 00:40:39 +08:00 |
|
|
|
f540c07aad
|
refactor: 将 APP_NAME 宏从 CMake 配置文件生成改为静态头文件
|
2026-06-05 18:59:38 +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 |
|
|
|
74be362b1f
|
refactor(base): 通过 typeof 为 array_push 宏添加返回类型推导
|
2026-05-17 03:11:15 +08:00 |
|
|
|
d6512c531f
|
fix(base): 修复 window_list_cleanup 中 p_delete 参数类型错误
|
2026-05-05 00:42:06 +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 |
|
|
|
2fc4b33359
|
style: 更新 .clang-format 规则并重新格式化所有源文件
- 重构模块使用新的代码风格
- 老代码 (src 目录下的代码) 继续使用之前的代码风格
通过在需要不同代码风格的目录下放对应 .clang-format 配置文件实现
|
2026-04-14 01:52:53 +08:00 |
|
|
|
0f8c35ae6c
|
core: 添加转移 window metadata 数据的接口
|
2026-04-07 05:47:47 +08:00 |
|
|
|
9728fad871
|
backend: X11 后端添加获取窗口 metadata 信息方式
|
2026-04-07 03:16:51 +08:00 |
|
|
|
e6b4486f89
|
base: 将通用动态数组操作接入 layout/state/config
|
2026-03-24 20:09:55 +08:00 |
|
|
|
e7a519be6a
|
base: 添加动态数组管理辅助函数
|
2026-03-24 17:06:44 +08:00 |
|
|
|
67f0c169f5
|
utils 按作用拆成 log/macros/memory 三个模块
|
2026-03-23 19:05:39 +08:00 |
|