Commit Graph

3 Commits

  • feat: AOT 单文件静态链接 + Release 引导脚本
    - csproj 静态链接 Skia/HarfBuzz/ANGLE(CoreUtils.*.Static),AOT 产出真单文件
    - 发布后清理 .dll/.lib/.pdb,只留 notify.exe
    - bin/notify.cmd 与 notify.sh:首次运行从 Release 下载 notify.exe
      原子下载(临时文件+改名)+ mkdir 锁,并发不重复下载,带陈旧锁恢复
    - 修复 cmd 引导脚本管道 stdin 丢失:避免调 exe 前向前 goto,改用 call 子程序
    - hooks.json 指向 notify.cmd,超时放宽以容纳首次下载
    - .gitignore 放行两个脚本但忽略 notify.exe;.gitattributes 固定脚本换行符
  • feat: WT 切标签、工具窗口化与非阻塞投递
    - P1b: 点击通知切回 Windows Terminal 原标签(源生成 COM UIAutomation,AOT 友好)
    - Toast 设为工具窗口(WS_EX_TOOLWINDOW),从任务栏与 Alt+Tab 隐藏
    - 投递改为落盘队列 spool + FileSystemWatcher,CLI 毫秒级返回不阻塞 Claude Code
    - 移除命名管道(PipeServer/PipeClient/PipeMessage),新增 NotificationSpool/SpoolWatcher
    - NativeAOT 发布配置 + scripts/build.bat(vcvars 自动配置 MSVC 工具链)
    - .gitattributes 保证 .bat 用 CRLF
  • feat: Avalonia 常驻通知应用(保活 + 弹窗 + 跨桌面)
    - 常驻 Host:无主窗口保活 + 系统托盘菜单
    - Toast 弹窗:堆叠 / 自动消失 / 悬停暂停 / 淡入淡出 / 点击关闭
    - Sticky 常驻弹窗与 InputMode 边框配色
    - 跨虚拟桌面显示(源生成 COM PinView,AOT 友好)
    - 设置窗口(Semi + Ursa)+ JSON 源生成持久化
    - AOT 准备:IsAotCompatible 0 警告