Skip to content

Tadam

Tadam 是一款 macOS Pomodoro 计时器应用。Protocol Launcher 允许您生成 Tadam 的官方 URL scheme 链接。

使用方式

有两种使用此库的方式:

  • 按需导入(On-Demand):从子路径导入支持 tree-shaking,保持较小的打包体积。
  • 完整导入(Full Import):从根包导入更方便,但会包含所有应用模块。

生产构建建议选择按需导入;快速脚本或演示可以使用完整导入。

选择安装方式

按需加载
推荐使用。生产环境优化。
全量导入
使用便捷。适合快速脚本。

说明

Tadam 文档说明 time 使用与应用内相同的时间格式,例如 1010:301h2h5min20sec。官方页面还说明 openmini 设置为 true1 时启用。

Tadam 部分支持 x-callback-url。使用 xCallback... helpers 可以生成文档中的 tadam://x-callback-url/ 前缀;如果需要文档中的 x-success 参数,也可以传给常规 helper。x-error 以及其他 x-callback-url 参数不受支持。

启动工作计时器

On-Demand
ts
import { startWork } from 'protocol-launcher/tadam'

const url = startWork({
  time: '10min',
})

启动工作计时器并打开界面

On-Demand
ts
import { startWork } from 'protocol-launcher/tadam'

const url = startWork({
  time: '5:30',
  open: true,
})

启动休息计时器

On-Demand
ts
import { startBreak } from 'protocol-launcher/tadam'

const url = startBreak({
  time: '5',
})

以 Mini UI 启动休息计时器

On-Demand
ts
import { startBreak } from 'protocol-launcher/tadam'

const url = startBreak({
  time: '10min',
  mini: true,
})

控制计时器

On-Demand
ts
import { pause, resume, stop } from 'protocol-launcher/tadam'

const pauseUrl = pause()
const resumeUrl = resume()
const stopUrl = stop()

打开计时器界面和帮助

On-Demand
ts
import { help, startBreak, startWork } from 'protocol-launcher/tadam'

const startWorkUiUrl = startWork()
const breakUiUrl = startBreak()
const helpUrl = help()

x-callback-url

On-Demand
ts
import { xCallbackStartWork } from 'protocol-launcher/tadam'

const url = xCallbackStartWork({
  time: '10min',
})
On-Demand
ts
import { xCallbackPause } from 'protocol-launcher/tadam'

const url = xCallbackPause({
  xSuccess: 'shortcuts://callback',
})

生成的 URL

ts
startWork({ time: '10min' })
// => 'tadam://start?time=10min'

startWork({ time: '5:30', open: true })
// => 'tadam://start?time=5:30&open=true'

startBreak({ time: '5' })
// => 'tadam://break?time=5'

startBreak({ time: '10min', mini: true })
// => 'tadam://break?time=10min&mini=true'

pause()
// => 'tadam://pause'

resume()
// => 'tadam://resume'

stop()
// => 'tadam://stop'

help()
// => 'tadam://help'

xCallbackStartWork({ time: '10min' })
// => 'tadam://x-callback-url/start?time=10min'

xCallbackPause({ xSuccess: 'shortcuts://callback' })
// => 'tadam://x-callback-url/pause?x-success=shortcuts%3A%2F%2Fcallback'

官方文档