Skip to content
Regan-SunPublic

About

孙煦明维护的 PPT-Timer macOS 原生移植与增强版,支持可拖动浮层、自定义快捷键和多显示器。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

PPT-Timer for macOS

这是 old9/ppttimer 的原生 macOS 移植版。Windows 版依赖 AutoHotkey;macOS 版使用 Swift、AppKit 和 SwiftUI 重写,不需要安装 PowerPoint 插件。

作者与说明

作者:孙煦明

本仓库是 old9/ppttimer 的 macOS 原生移植与增强版,在保留原项目来源和 MIT 许可证的基础上,加入了可拖动计时浮层、自定义快捷键和多显示器适配等功能。

下载与安装

当前仓库尚未发布可直接安装的 macOS 应用包。请先下载源码,再在 macOS 上构建:

  1. 下载完整源码(ZIP),然后解压。
  2. 在终端进入解压后的项目目录,按从源码构建运行测试和构建脚本。
  3. 构建成功后,将 dist/PPT-Timer.app 拖入“应用程序”文件夹。

应用要求 macOS 13 或更高版本。构建脚本会生成支持 Apple Silicon 和 Intel Mac 的通用应用,使用本地临时代码签名(ad hoc),未经过 Apple 公证。

功能

  • 默认在 PowerPoint 或 Mac WPS 进入全屏放映时自动开始,退出放映时自动停止
  • 可关闭“仅检测 PowerPoint / WPS”,用于 Keynote、浏览器等其他全屏演示
  • 透明置顶的倒计时浮层,可在全屏空间上显示;拖动浮层可改变位置,轻点仍打开控制菜单
  • 拖动位置会按屏幕相对坐标保存,重启、分辨率变化和多显示器模式下仍保持在可视区域内
  • 提前提醒、结束声音、超时正计时和闪烁提示
  • 多显示器显示或移动到下一个显示器
  • 计时预设、全局快捷键和原生设置界面
  • 开始、停止、暂停/恢复、重置四项全局快捷键均可在“设置 → 快捷键”中自定义
  • 配置自动保存在 macOS 用户偏好设置中
  • 不需要屏幕录制或辅助功能权限

使用

双击应用后不会出现 Dock 图标;计时器和控制入口默认位于菜单栏下方的右上角。直接拖动浮层可改变位置,轻点浮层可打开开始、停止、重置、设置和退出菜单。切换设置中的固定位置会清除手动拖动位置。

仅打开演示文稿不会开始计时,必须进入幻灯片放映:

  • PowerPoint:选择“幻灯片放映 → 从头开始播放”。首次检测时,允许 PPT-Timer 控制 Microsoft PowerPoint。
  • Mac WPS:进入原生 Mac WPS 的全屏幻灯片放映。
  • 窗口化放映或未被识别的演示程序:按 F12 手动开始。

退出放映后计时自动停止。计时器浮层会避开菜单栏,并在放映时提升到全屏窗口之上。

快捷键

操作 快捷键
开始计时 F12
停止计时 Control + F12
暂停/恢复 Control + F11
重置 Control + Option + F12
移至下个显示器 Control + Command + M
在所有显示器显示 Control + Command + A
载入预设 1–6 Control + Command + F1–F6
退出 Command + Esc

如果 Mac 将功能键设置为亮度、音量等系统控制,需要同时按 Fn,或在“系统设置 → 键盘”中启用“将 F1、F2 等键用作标准功能键”。

开始、停止、暂停/恢复、重置的快捷键可以在“设置 → 快捷键”中点击按键框后直接录入。四项不能重复,也不能占用预设、显示器切换和退出等固定快捷键;需要时可一键恢复默认值。

自动检测说明

默认启用“仅检测 PowerPoint / WPS”,只响应 Microsoft PowerPoint 和原生 Mac WPS Office 的幻灯片放映。关闭该选项后,Keynote、浏览器全屏演示等占满显示器的窗口也可以触发计时。

PowerPoint 的窗口化放映不会占满屏幕,无法可靠地与普通编辑窗口区分;这种模式请按 F12 手动开始。手动开始后,默认会暂停自动检测,避免窗口状态打断计时。

从源码构建

要求 macOS 13 或更高版本,并安装提供 Swift 6.0 或更高版本工具链的 Xcode Command Line Tools 或 Xcode。下载源码后,在终端进入项目目录,再执行:

swift --version
zsh scripts/test.sh
zsh scripts/build_app.sh

脚本会运行 Release 构建、生成应用图标、复制声音资源、创建临时代码签名,并输出同时支持 Apple Silicon 与 Intel Mac 的通用 dist/PPT-Timer.app。

运行测试:

zsh scripts/test.sh

项目结构

  • Sources/PPTTimer/:macOS 原生应用源码
  • Tests/PPTTimerTests/:计时格式、配置和全屏判定测试
  • scripts/build_app.sh:通用 .app 打包脚本
  • ppttimer_v2.ahk:原项目的 Windows AutoHotkey 源码
  • beep.mp3、applause.mp3:沿用原项目提示音

来源与致谢

  • 原始 Windows 项目:old9/ppttimer
  • 原始 AutoHotkey 源码、提示音和项目思路来自上述项目
  • macOS 版本作者:孙煦明
  • macOS 原生移植、通用二进制构建与测试由孙煦明完成,OpenAI Codex 提供开发协助
  • 仓库保留原始提交历史与上游链接,便于追溯代码来源

License

采用 MIT License,允许使用、修改、分发和商用;复用时须保留版权与许可证声明。仓库保留上游作者的原始版权声明,来源见上方“来源与致谢”。

About

孙煦明维护的 PPT-Timer macOS 原生移植与增强版,支持可拖动浮层、自定义快捷键和多显示器。

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages