|
|
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 |
|
|
|
78200debf5
|
refactor(core/runtime): 调整布局计算流程
|
2026-04-28 03:28:03 +08:00 |
|
|
|
722d3946c6
|
feat(core+backend/X11): 区分窗口销毁和撤销
|
2026-04-27 22:28:43 +08:00 |
|
|
|
8d838135d6
|
feat(core/runtime): 集成布局计算到主循环
|
2026-04-27 21:06:11 +08:00 |
|
|
|
7413d7439a
|
feat(layouts): 实现 fair/fullscreen/maximize 内置布局
|
2026-04-27 18:38:49 +08:00 |
|
|
|
10fa3740a8
|
refactor(Makefile): 用硬链接代替复制并拆分测试目标
|
2026-04-27 01:28:31 +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 |
|
|
|
19e97b730b
|
refactor(backend/X11): 将 event_reset 调用移到事件分发处
|
2026-04-27 01:05:10 +08:00 |
|
|
|
2ab4a84236
|
feat(backend/X11): 填充 ZDWM_EVENT_WINDOW_REMOVE 事件数据
|
2026-04-27 01:00:32 +08:00 |
|
|
|
e394ed78a5
|
fix(backend/X11): 释放 backend->map 所持有的内存
|
2026-04-27 00:43:09 +08:00 |
|
|
|
46140e1e03
|
feat(core/plan): 清理 effect 所持有的内存
|
2026-04-27 00:20:43 +08:00 |
|
|
|
f3b8be8cf1
|
feat(backend/X11): 实现按键抓取功能
|
2026-04-26 19:03:18 +08:00 |
|
|
|
56f211480f
|
feat(core/binding): 实现 parse_key_sequence 函数解析按键序列
|
2026-04-25 07:53:57 +08:00 |
|
|
|
7a86eb469b
|
feat: 添加按键绑定功能
|
2026-04-25 05:36:50 +08:00 |
|
|
|
a749fc3c6c
|
feat(core/policy): 添加 unmanage/focus/kill 命令处理
|
2026-04-23 04:49:43 +08:00 |
|
|
|
fc68e75f82
|
refactor(backend/X11): 重构 effect 应用为延迟批量模式并添加 KILL_WINDOW 支持
- 添加 ZDWM_EFFECT_KILL_WINDOW 副作用和 WM_DELETE_WINDOW 协议支持
- 将 backend_apply_effect 从即时调用 X11 拆分为 merge + batch apply 两阶段:
- 先收集 effect 到后端持有的列表
- 再按 unmap(grab server) → map → kill → configure → focus 顺序统一提交
|
2026-04-23 04:37:34 +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 |
|
|
|
1e3a571619
|
refactor(backend/X11): 合并批量 effect 中的 focus 操作
一批 effect 中可能包含多个 FOCUS_WINDOW,但最终只有一个窗口能获得焦点,
延迟到循环结束后只执行最后一次 focus 调用
|
2026-04-22 19:50:26 +08:00 |
|
|
|
d4c03fcfbd
|
feat(core/policy): 完善 manage_window 和 switch_workspace 命令处理
|
2026-04-22 19:40:09 +08:00 |
|
|
|
663db3412f
|
feat(backend/X11): 添加从 _NET_WM_STATE 中获取 urgent 属性的功能
|
2026-04-22 19:37:01 +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 |
|
|
|
3121b49d1b
|
fix(core/window): 添加设置窗口 floating 状态的限制条件
- 不能取消 fixed_size 和 sticky 状态窗口的 floating 状态
- 简化 window_need_layout 中浮动窗口不参加自动布局判断逻辑
|
2026-04-22 17:44:51 +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 |
|
|
|
92dcec0e79
|
feat(backend/X11): 添加 _NET_SUPPORTING_WM_CHECK 兼容窗口
|
2026-04-19 05:39:31 +08:00 |
|
|
|
22cd362724
|
feat(backend/X11): 实现 backend_apply_effect 接口以提交 X11 副作用
|
2026-04-19 04:49:02 +08:00 |
|
|
|
c6a67b52a2
|
docs(core/policy): 为函数 policy_apply_command 添加注释
|
2026-04-18 22:33:31 +08:00 |
|
|
|
9cb808c272
|
feat(core/plan): 扩展 effect 类型
|
2026-04-18 22:31:20 +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 |
|
|
|
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 |
|
|
|
7b5404e8e0
|
refactor(backend/x11): 用 X-macro 统一 atom 列表的声明和初始化
|
2026-04-14 01:35:25 +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 |
|
|
|
20e5e57c8c
|
refactor(core/layout): 清理 layout_registry_t 时改用 for 循环统一代码风格
|
2026-04-13 05:48:14 +08:00 |
|
|
|
0c86f9aad8
|
docs: backend_next_event 接口添加注释
|
2026-04-13 05:37:31 +08:00 |
|
|
|
0c24fb2a32
|
feat(core/event): 添加 event 资源清理和重置接口
|
2026-04-13 05:35:13 +08:00 |
|
|
|
637f658318
|
feat(core/policy): map_request 事件命令转换
|
2026-04-13 05:35:13 +08:00 |
|
|
|
5230b8b718
|
feat(core): 添加 command 定义及 command_buffer 维护功能
|
2026-04-13 05:34:53 +08:00 |
|
|
|
ead8160a61
|
feat(core/rules): 添加规则匹配和解析功能
|
2026-04-13 03:02:58 +08:00 |
|
|
|
9dd3ae00d2
|
fix(core/rules): 修复 rules_move 接口参数顺序与实现不一致问题
|
2026-04-13 03:01:50 +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 |
|
|
|
823d8c1b65
|
docs: 格式化多个文档中的表格列宽对齐
|
2026-04-11 06:11:38 +08:00 |
|
|
|
11601c75bd
|
backend: X11 后端函数 detect_monitor_by_randr 中使用 p_strndup 替代 strndu
|
2026-04-11 06:00:08 +08:00 |
|
|
|
8a72e671bc
|
core: 重命名 event_t 联合体成员 data 为 as
|
2026-04-11 05:59:44 +08:00 |
|
|
|
d73d5b0b1f
|
core: 添加 output 索引循环切换接口
|
2026-04-11 05:56:49 +08:00 |
|
|
|
3a6525087d
|
core: 调整 window 状态修改接口实现方式
|
2026-04-11 02:30:54 +08:00 |
|