Commit Graph

38 Commits

Author SHA1 Message Date
86a89452a7 fix: 修复 raise_or_run 可能聚焦窗口不对 bug 2026-03-22 01:44:15 +08:00
cdcafa1216 feat(tray): 增加独立系统托盘模块并补齐兼容性与所有权处理 2026-03-10 07:50:29 +08:00
d8cd91ea48 feat: 状态栏配置接入配置系统 2026-03-09 00:49:09 +08:00
35f0ea9680 feat: 添加壁纸功能 2026-03-08 15:23:09 +08:00
ea47717783 fix: 去除被其他 monitor 覆盖的 monitor 2026-03-08 03:04:24 +08:00
4428eb056d fix: 修改 wm_set_current_monitor 函数实现避免光标乱跳
- 将 wm_set_current_monitor 改为支持 restore_cursor 参数,按场景决定是
  否恢复光标位置
- 仅在指针位于当前显示器时更新 cursor_position 缓存,减少错误覆盖
2026-03-03 07:23:34 +08:00
fb0999df90 feat: 统一 current_monitor 切换并让光标跟随 current_monitor 变化
- 新增 wm_set_current_monitor ,切换前记录光标当前所在 monitor 的最后
  位置
- 切换到目标 monitor 时按需恢复该 monitor 的光标位置
- 将 action/event/client 中直接赋值 wm.current_monitor 的逻辑改为统一
  调用 wm_set_current_monitor
- 优化 monitor_restore_cursor_point:首次未初始化时计算并设置位置
- 为 wm_get_monitor_by_area / wm_get_monitor_by_point 增加
  returns_nonnull 约束,并让 by_point 复用 by_area
2026-03-03 04:11:02 +08:00
d516d8f9e0 添加关闭窗口功能 2026-02-24 03:13:23 +08:00
194c2b000d 添加状态栏 2026-02-05 05:42:54 +08:00
8337ab9519 添加窗口规则支持 2026-02-04 16:47:35 +08:00
5dd042384d 添加自启动程序支持 2026-01-31 23:30:10 +08:00
23fb95a5e4 清理 root 窗口 property 2026-01-27 01:14:29 +08:00
47d578ca71 实现 wm_scan_clients 函数 2026-01-27 01:14:29 +08:00
ef37f28fa5 处理锁屏或息屏重新进入桌面后 bar 不显示问题 2026-01-27 01:14:29 +08:00
3d5f8ab7e0 设置 root 窗口背景为黑色以免 client 窗口销毁后画面不更新 2026-01-27 01:14:26 +08:00
21d7adf882 删除不必要的子进程信号
glib 会自动处理子进程资源,无需手动处理,手动处理不当反而会造成 bug
2026-01-25 11:25:56 +08:00
049b18a496 调整 send_client_to_next_monitor 函数实现 2026-01-14 03:44:53 +08:00
ced78b004f 添加记录和恢复光标在每个 monitor 中的位置功能 2026-01-13 12:29:49 +08:00
6382afeb03 处理堆叠顺序 2025-12-22 11:37:18 +08:00
8eeeff5f3b 添加从 Xresources 中读取配置功能 2025-12-20 22:47:58 +08:00
364a00fb7c 添加边框 2025-12-20 20:22:41 +08:00
194816ec2d 修复错误的 root 窗口属性事件掩码设置 2025-12-14 22:15:10 +08:00
9594b84237 创建 WM_CHECK 窗口 2025-12-14 16:21:56 +08:00
5039ce457e 使用 logger 替代 printf 函数 2025-12-08 06:55:39 +08:00
e7447f8aaa 绘制布局标志 2025-12-08 03:37:29 +08:00
b45eea11fa 修改重启实现方式 2025-11-25 06:06:58 +08:00
2df0b58cb0 初始化 xkb 扩展 2025-11-25 06:06:42 +08:00
e5927094d1 设置快捷键 2025-11-25 06:06:24 +08:00
76f9e15130 修改 monitor 中 tag mask 显示格式(%b 格式仅 gcc 编译器支持) 2025-11-21 17:47:40 +08:00
bf595e6c8a 设置 root 窗口鼠标样式 2025-11-21 01:00:51 +08:00
2aed03566c 添加点击切换 tag 功能 2025-11-21 00:39:05 +08:00
6814e5e1f1 代码中所有的 NULL 都用 C23 标准中的 nullptr 替换 2025-11-14 12:26:20 +08:00
14f321a45f 绘制 tag 标签 2025-11-14 12:24:22 +08:00
a2e40bf63a 计算 bar 高度 2025-11-14 05:39:04 +08:00
99389a763d 退出时清理屏幕信息 2025-11-14 05:30:35 +08:00
94760fc2f8 初始化每个屏幕的 tag 2025-11-14 05:30:35 +08:00
db284bf6b7 检测屏幕信息 2025-11-14 05:30:29 +08:00
79425dc890 窗口管理器状态机设计 2025-11-13 16:48:08 +08:00