Commit Graph

  • b8ca575458 fix(policy): 新增窗口后通知原焦点窗口状态变更 arch_refactor Zedhugh Chen 2026-08-01 16:50:11 +08:00
  • 6b2f0e3218 chore(config): 默认 Super+f 改为切换全屏 Zedhugh Chen 2026-07-29 04:53:11 +08:00
  • d7d16f1ac8 feat(window): 无标题窗口标题按优先级回退显示 instance/class/app_id Zedhugh Chen 2026-07-29 04:50:10 +08:00
  • 88129293a0 feat: 补发 ConfigureNotify 通知客户端实际几何 Zedhugh Chen 2026-07-29 03:41:58 +08:00
  • 7b7b6d807f chore(make): 简化 Makefile 中的冗余逻辑 Zedhugh Chen 2026-07-28 21:14:14 +08:00
  • 80b091a806 chore(clangd): 补全时禁止自动插入头文件 Zedhugh Chen 2026-07-28 21:12:01 +08:00
  • 89f11d1e24 feat(tray): tray_init 传入背景颜色 Zedhugh Chen 2026-07-28 05:46:15 +08:00
  • ceb40b434d fix(tray): 修复 tray 图标不能 reparent 到 container 窗口的 bug Zedhugh Chen 2026-07-28 05:34:48 +08:00
  • 272139f34f fix(tray): 修正图标自然尺寸为 int32_t 类型 Zedhugh Chen 2026-07-28 05:32:50 +08:00
  • 583b1fa382 feat(tray): 拦截托盘图标的 unmap/destroy 事件并移除图标 Zedhugh Chen 2026-07-28 03:35:08 +08:00
  • 612c2367ca feat(tray): 拦截托盘窗口的 map/configure/property 事件 Zedhugh Chen 2026-07-28 03:07:13 +08:00
  • 88e589cc9e feat(tray): 托盘图标按 icon_size 等比例缩放水平排列 Zedhugh Chen 2026-07-28 02:30:38 +08:00
  • c609d15d77 fix(tray): 修复 tray_init 中初始化状态不完全导致 bar 计算布局时走文本测量的 bug Zedhugh Chen 2026-07-28 02:27:46 +08:00
  • d47ca9cf1a feat(tray): 完善 tray_cleanup 释放图标窗口并归还 selection owner Zedhugh Chen 2026-07-25 04:07:57 +08:00
  • e39eb245b6 feat(tray): 处理 SYSTEM_TRAY_REQUEST_DOCK 实现图标嵌入托盘容器 Zedhugh Chen 2026-07-25 03:59:04 +08:00
  • 3c5cfd3ead feat(tray): 实现 tray_cleanup 并在 backend_destroy 中调用以释放托盘资源 Zedhugh Chen 2026-07-25 01:07:49 +08:00
  • e7a0945a93 feat(tray): 成为 selection owner 后广播 MANAGER 事件通知托盘客户端 Zedhugh Chen 2026-07-24 20:59:51 +08:00
  • 47bd59b806 feat(tray): 实现 tray_init 完成 system tray selection 接管 Zedhugh Chen 2026-07-24 20:07:48 +08:00
  • 31cd35bf84 feat(bar): 新增 tray_output_index 配置用于选择 tray 挂载的屏幕 Zedhugh Chen 2026-07-18 18:31:31 +08:00
  • 3d258bdc8b feat(bar): 将 tray 作为一个 item 集成到 bar 中 Zedhugh Chen 2026-07-18 18:23:52 +08:00
  • 9f8681d467 feat(backend): backend_create_bar_window 返回 tray 句柄 Zedhugh Chen 2026-07-18 18:21:25 +08:00
  • d0120566bf feat(tray): 实现 tray_api_t 定义的所有接口 Zedhugh Chen 2026-07-15 18:49:15 +08:00
  • 6a227b0497 fix: 移除 glibc 内部 bits/* 头文件提升可移植性 Zedhugh Chen 2026-07-13 03:32:11 +08:00
  • 6b75cda128 feat(bar): bar item 扩展钩子功能 bar cell 添加 fixed_width 属性与操作接口 Zedhugh Chen 2026-06-28 02:04:20 +08:00
  • 27aab6f0e9 feat(tray): 添加 tray 相关接口并融入现有启动流程 Zedhugh Chen 2026-06-27 22:52:19 +08:00
  • eaad539a0b docs(tray): 新增实现计划,tray 接口声明移到 interface 中 Zedhugh Chen 2026-06-27 22:48:02 +08:00
  • 079f41ce8a refactor: 从 core 中抽出跨模块契约建立 interface/common 模块分层 Zedhugh Chen 2026-06-25 03:00:30 +08:00
  • e1113c0052 docs: 新增模块分层与系统托盘设计文档 Zedhugh Chen 2026-06-24 13:54:21 +08:00
  • bf3de7fb92 style: 禁掉 clang-format 的 AlignConsecutiveAssignments 规则并重新格式化整个项目 Zedhugh Chen 2026-06-24 13:05:56 +08:00
  • 8f671bd755 feat: bar 点击回调添加按键和修饰键参数 Zedhugh Chen 2026-06-23 07:42:52 +08:00
  • 195aeb5166 fix(bar): 修复点击 workspace 末尾 layout 单元无法切换布局的 bug Zedhugh Chen 2026-06-23 07:01:23 +08:00
  • af80181897 fix(bar): 计算 left/right 侧的整体区域以修复点击命中检测 Zedhugh Chen 2026-06-23 06:59:42 +08:00
  • 42bddf5ac7 feat: 让 bar 支持点击触发动作 Zedhugh Chen 2026-06-23 06:57:38 +08:00
  • 29e0f1e2dc feat: 为窗口移动/尺寸调整添加可配置的刷新率节流 Zedhugh Chen 2026-06-23 04:27:34 +08:00
  • 74b30a5d4b fix(runtime): 修复布局函数为空导致的窗口未被布局 bug Zedhugh Chen 2026-06-23 03:24:04 +08:00
  • 40c2c328cd fix(policy): 修复切换焦点时的边框颜色设置和新窗口可能不触发布局 bug Zedhugh Chen 2026-06-23 03:22:45 +08:00
  • 71f050c2f3 feat(window): 添加判断窗口能否调整大小的辅助函数 Zedhugh Chen 2026-06-23 02:43:28 +08:00
  • f355b88b82 feat(policy): 调整窗口大小时遵循窗口的 max/min size hints Zedhugh Chen 2026-06-23 00:45:50 +08:00
  • f3b1466dac fix(backend): 扫描窗口时按 transient 关系排序并过滤无效窗口 Zedhugh Chen 2026-06-23 00:33:03 +08:00
  • b71b66921e refactor(window): 用更通用的尺寸提示(min/max size)替换 fixed_size 标记 Zedhugh Chen 2026-06-22 23:22:08 +08:00
  • 9a1e015fc1 feat: 添加 MOD4 + 鼠标右键调整窗口大小功能 Zedhugh Chen 2026-06-22 00:48:14 +08:00
  • 4e7ab45864 feat: 添加 MOD4 + 鼠标左键移动窗口功能 Zedhugh Chen 2026-06-21 16:30:59 +08:00
  • b8cd40df9f feat(backend): 支持鼠标抓取功能 Zedhugh Chen 2026-06-20 01:04:00 +08:00
  • 7a47f4d44d feat(backend): 添加光标支持 Zedhugh Chen 2026-06-19 17:12:08 +08:00
  • 090266baa5 feat(backend): 发送鼠标按键和移动事件 Zedhugh Chen 2026-06-18 01:19:41 +08:00
  • 9f9adf7e2e feat(backend): 写入 _NET_SUPPORTED 属性声明 EWMH 支持能力 Zedhugh Chen 2026-06-16 23:33:05 +08:00
  • 00df685184 fix(backend): 修复 backend_poll_event 返回值意义不明导致的事件循环 bug Zedhugh Chen 2026-06-16 23:16:55 +08:00
  • 6d06b61134 fix(bar): workspaces 移除窗口时找到后立即 break 避免不必要的遍历 Zedhugh Chen 2026-06-16 19:13:30 +08:00
  • 30dfb19a7b fix(config): 补全默认全景色 Zedhugh Chen 2026-06-16 19:11:49 +08:00
  • 195733e008 fix(core): 补全窗口属性变更通知 Zedhugh Chen 2026-06-16 19:00:19 +08:00
  • 6f1421f5b5 fix(bar): 重绘前清空内容并填充背景以消除脏区域残留 Zedhugh Chen 2026-06-16 17:49:34 +08:00
  • 9bbdb26f06 fix(bar): 绘制 cell 文本前校验其文本避免渲染空内容 Zedhugh Chen 2026-06-16 17:22:52 +08:00
  • 6e3e7ee937 fix(bar): 修复窗口列表布局 bug 导致的窗口列表 cell 重叠 Zedhugh Chen 2026-06-16 17:19:21 +08:00
  • 9d35d17493 fix(bar): 修复 cell text/fg/bg 字符串内存泄露和 p_delete 参数错误 Zedhugh Chen 2026-06-16 17:17:00 +08:00
  • a4bd0b53de feat(bar): 添加窗口列表显示当前 workspace 的窗口列表 Zedhugh Chen 2026-06-16 17:14:22 +08:00
  • 3be83aefdf fix(bar): 修复颜色缓存造成的颜色野指针从而导致无法正确渲染 cell 的 bug Zedhugh Chen 2026-06-16 09:14:34 +08:00
  • dee4073996 feat(bar): 新增绑定模式指示器显示当前 binding mode Zedhugh Chen 2026-06-16 02:09:38 +08:00
  • e8b59e914c feat(bar): layout 颜色未配置时回退到默认背景色和前景色 Zedhugh Chen 2026-06-16 01:59:36 +08:00
  • ac65180203 feat(bar): 按间隔节流 bar_item 更新 Zedhugh Chen 2026-06-16 00:31:07 +08:00
  • 30e9751119 perf(bar): 仅在 bar 需要绘制新内容时才重绘并 flush 后端 Zedhugh Chen 2026-06-15 23:27:28 +08:00
  • 41f82d7039 feat(bar): 在 workspace 列表末尾显示当前 workspace 布局符号 Zedhugh Chen 2026-06-15 19:50:42 +08:00
  • d0127f66e4 perf(runtime): bar 不可见时跳过更新避免无效重绘 Zedhugh Chen 2026-06-15 18:12:50 +08:00
  • 4cef809f3c feat(policy): 窗口增删改时触发对应的 listeners 通知 Zedhugh Chen 2026-06-15 18:08:29 +08:00
  • d97cfba8dd fix(bar): 修复 workspace bar state 销毁时的内存泄露 Zedhugh Chen 2026-06-15 17:03:28 +08:00
  • 539563c53f feat(runtime): 通过 signalfd 将信号处理集成到 poll 事件循环中 Zedhugh Chen 2026-06-10 01:54:20 +08:00
  • dbbbbce379 feat(runtime): 用基于 poll 的事件循环代替阻塞式事件等待 Zedhugh Chen 2026-06-10 01:26:05 +08:00
  • 4e713682e4 refactor(policy): 统一 output 切换逻辑并添加 workspace 切换通知 Zedhugh Chen 2026-06-09 23:05:54 +08:00
  • 4535e171a0 feat(bar): 实现 bar 布局排版和渲染绘制流程 Zedhugh Chen 2026-06-09 20:01:11 +08:00
  • fa2f058032 fix(bar): 修复 bar_cell_t text 字段可能为野指针 bug Zedhugh Chen 2026-06-09 10:28:35 +08:00
  • 8c145fb1b4 feat(bar): 实现 bar_draw 渲染骨架及文字排版绘制接口 Zedhugh Chen 2026-06-08 22:57:34 +08:00
  • 62f6bab611 feat(bar): 新增 text 文字排版模块并将其集成到 bar 生命周期中 Zedhugh Chen 2026-06-08 01:24:49 +08:00
  • 3a8c392d90 feat(bar): 实现 bar 初始化和清理功能并将其集成到 runtime 中 Zedhugh Chen 2026-06-08 01:21:19 +08:00
  • 87535835a8 fix(bar): 修复 workspaces 中 destroy_state 接口内存未正确释放 bug Zedhugh Chen 2026-06-08 01:07:15 +08:00
  • fed04cbffc refactor(bar): 隐藏 workspaces 模块内部细节仅保留必要的对外接口 Zedhugh Chen 2026-06-08 00:35:59 +08:00
  • b510b7b473 feat(bar): 初始化 bar 窗口并将 bar 集成到 runtime 启动流程中 Zedhugh Chen 2026-06-06 09:23:15 +08:00
  • c30c7d0698 fix(backend): 修复缺少 colormap 导致的创建 bar 窗口失败 Zedhugh Chen 2026-06-06 08:56:09 +08:00
  • adf839bf21 feat(bar): 实现 bar 可见性切换 action Zedhugh Chen 2026-06-06 04:44:56 +08:00
  • be37b17c2e refactor(runtime): 将 runtime 模块从 core 目录迁移至独立的 runtime 目录并封装内部细节 Zedhugh Chen 2026-06-06 02:08:35 +08:00
  • f82d0b7a87 refactor: 移除新架构用不到的老模块 Zedhugh Chen 2026-06-05 22:53:22 +08:00
  • e9366b64e2 feat(backend): 添加创建 bar 窗口接口 Zedhugh Chen 2026-06-05 19:03:47 +08:00
  • f540c07aad refactor: 将 APP_NAME 宏从 CMake 配置文件生成改为静态头文件 Zedhugh Chen 2026-06-05 18:59:38 +08:00
  • ebc277201a chore: 删除老旧的测试代码和构建工具脚本 Zedhugh Chen 2026-06-05 16:23:04 +08:00
  • ff40b3caa0 feat(bar): 添加状态栏 bar 模块的基础架构和 workspace 指示器 Zedhugh Chen 2026-06-05 02:23:01 +08:00
  • d07d2f64e1 refactor(policy): 提取切换 workspace 和窗口聚焦的命令构造辅助函数 Zedhugh Chen 2026-06-04 22:28:39 +08:00
  • 0d43c79ad6 feat(config): 默认配置补充按键绑定 Zedhugh Chen 2026-05-31 18:54:23 +08:00
  • 83ed661ba6 fix(policy): 移动窗口所在 workspace 前先检查目标 workspace 是否存在 Zedhugh Chen 2026-05-31 18:42:51 +08:00
  • 59520777c3 refactor(binding): key_binding_t 不再保存按键序列字符串指针 Zedhugh Chen 2026-05-31 18:33:11 +08:00
  • 09d5e4b4d0 refactor(policy): 删除 action 模块,将 action -> command 解析放在 policy 模块内部 Zedhugh Chen 2026-05-27 01:12:04 +08:00
  • ff3b51fd1d feat(policy): 扩展命令并实现窗口迁移、 output/layout/binding_mode 切换功能 Zedhugh Chen 2026-05-26 13:15:54 +08:00
  • 989a1ce6e8 feat(listeners): 调整通知结构体字段并补充文档注释 Zedhugh Chen 2026-05-24 17:58:29 +08:00
  • 13fc41f141 feat(runtime): 通过 listeners 发送初始状态 Zedhugh Chen 2026-05-23 23:06:53 +08:00
  • ca9e543cc0 feat(listeners): 实现 listener 通知分发和清理功能 Zedhugh Chen 2026-05-23 21:09:43 +08:00
  • 33b0f2f54f refactor(action): 重新设计 action 实现方式 Zedhugh Chen 2026-05-19 02:55:08 +08:00
  • edde023f5a fix(listeners): 公共头添加 extern "C" 链接说明以支持 C++ 包含 Zedhugh Chen 2026-05-17 03:35:11 +08:00
  • 74319e97f1 feat: 添加核心状态变更通知系统 Zedhugh Chen 2026-05-17 03:20:38 +08:00
  • 74be362b1f refactor(base): 通过 typeof 为 array_push 宏添加返回类型推导 Zedhugh Chen 2026-05-17 03:11:15 +08:00
  • 9663097a98 fix(action): 修复 switch_workspace_by_index_in_current_output 循环条件错误 Zedhugh Chen 2026-05-10 12:19:50 +08:00
  • 601c0f3d1a refactor: 迁移 CMake 到模块化目录构建并添加新入口 Zedhugh Chen 2026-05-09 23:03:00 +08:00
  • 0d4a907dd8 feat(action): 实现切换当前 output 工作区功能 Zedhugh Chen 2026-05-09 23:00:01 +08:00
  • 1f4659e7a4 refactor: 使用 workspace_id_invalid() 替代直接比较 ZDWM_WORKSPACE_ID_INVALID Zedhugh Chen 2026-05-09 04:09:46 +08:00