AskaEth 9c7081b21d feat: ClockLab —— 可调速桌面时钟(数字/表盘,支持倍率、暂停、倒转、快进)
一个用于演练/演示的桌面时钟工具:两个窗口 —— 控制窗口(普通)与时钟窗口(无边框、
可拖动、可拖边缘改大小,由控制窗口开与关)。

功能
- 两个窗口各自的「始终置顶」开关
- 显示样式:纯数字 / 圆形表盘,切换立即生效
- 实时设定时间(含「填入当前显示时间」)
- 倍率:支持正数、负数(倒转)、0(暂停)、小数
- 暂停 / 继续(继续时回到暂停前的倍率,按钮文案会显示是几倍)
- 快进五档:+5 秒 / +1 分钟 / +5 分钟 / +10 分钟 / +30 分钟

实现要点
- 走时是「基准时间 + 基准时刻 + 倍率」的锚点式模型(不累加、零漂移);
  倍率、暂停、倒转、快进因此是同一套机制的四个用法,互不打架
- 跳转动画做在「呈现时间」这一层:数字滚动与表盘指针扫动共用同一个中间值,
  所以永远同步,也不会跨 12 点倒着转一圈
- 无边框窗口的拖动(CSS app-region + 控件 no-drag)与拖边缘改大小
  (自己算几何 + IPC setBounds,因为 frame:false 下系统边缘命中不可靠)

测试 152 例:走时模型 / 改大小几何 / 呈现时间 / 两个渲染进程(DOM 桩)
2026-09-15 01:31:07 +08:00
2026-09-15 01:30:07 +08:00

ClockLab · 可调速桌面时钟

一个用于演练、演示、排练的小工具:一个可以任意调速的时钟(走快、走慢、暂停、倒着走、一键快进),配上随时可开的满屏时钟窗口。

典型用法:现场排练时把时钟投到第二块屏上,需要"跳过 30 分钟"或"把时间倒回去重来一遍"时,不用真的等 —— 在控制窗口点一下就行。


一、两个窗口

程序启动后只出来一个窗口:

  • 控制窗口 —— 普通窗口,所有操作都在这里;
  • 时钟窗口 —— 默认不出现,由控制窗口的「打开时钟窗口」按钮创建/关闭。

时钟窗口的特点:无标题栏、无工具栏、无边框 —— 投屏时不会露出窗口装饰。它可以拖动移动(按住空白处拖),可以拖四条边和四个角改变大小(最小 260×150)。


二、怎么操作

时钟窗口那一块

功能 说明
打开 / 关闭时钟窗口 按钮文案会跟着状态变;关掉随时能再开
时钟窗口始终置顶 让它压在所有窗口之上(现场投屏基本都要开)
控制窗口始终置顶 单独一个开关,两个窗口互不影响

提醒:时钟窗口用的是比普通置顶更硬的级别,可能会盖住任务栏。如果你希望它"温柔"一点,见《DEVELOP.md》里的说明。

显示样式

  • 纯数字 —— 大字号电子钟,HH:MM:SS 加日期;
  • 圆形表盘 —— 带时针 / 分针 / 秒针的表盘。

切换立即生效,不用重开窗口。

时间与流速

功能 说明
设定时间 填时 / 分 / 秒,点应用,时钟立刻跳到那个时间
填入当前显示时间 把输入框一键填成时钟现在显示的时间(改之前先看一下当前值)
倍率 支持 正数、负数、0、小数:1 正常、2 两倍速、-1 倒着走、0 暂停、0.5 半速
暂停 / 继续 暂停后按钮会变成「继续(回到 ×N)」,N 是暂停前的倍率,点一下按原速度接着走
快进 +5 秒 / +1 分钟 / +5 分钟 / +10 分钟 / +30 分钟,点了立刻往前跳(与当前倍率不冲突,倒着走时点快进也是往前跳)

几个组合起来的效果:

  • 想现场"重新来一遍":倍率填 -1,时钟就倒着走;到点了点「暂停」,再点 +30 分钟 往前调。
  • 想演示"时间飞逝":倍率填 10,秒针会飞快转。
  • 只想让时钟停在那儿:点「暂停」。

跳转时的动画

快进、设定时间、继续这些一次性跳变会播放动画:数字滚到新值、表盘指针扫过去(约 0.35 秒)。

正常走时、倒转、高倍率不加动画 —— 那时数字本来就在飞快变化,再加动画只会糊成一团。跳变幅度小于 1.5 秒也直接跳(免得正常走时每秒都抖一下)。


三、怎么运行

Windows

解压 ClockLab-1.0.0-win-x64.zip,双击里面的 ClockLab.exe。绿色版,不写注册表、不需要安装。

Linux(ARM64)

tar -xzf ClockLab-1.0.0-linux-arm64.tar.gz     # 解压(约 290 MB)
cd ClockLab-1.0.0-linux-arm64
./clocklab

⚠️ 解压前建议先校验:sha256sum ClockLab-1.0.0-linux-arm64.tar.gz 对着交付时给的哈希看一眼。传输中断过的话,tar 会报 异常的 EOF,那就是没传完(不是包坏了)。


四、常见问题

界面黑屏 / 花屏 / 一闪就退(国产平台常见)

多半是显卡驱动下的硬件加速不兼容,用这两个参数之一启动:

./clocklab --disable-gpu        # 关掉硬件加速(最常用)
./clocklab --in-process-gpu     # 或者让 GPU 跑在主进程里

窗口拖不动 / 改不了大小

先确认拖的是时钟窗口的空白处(按钮和边缘热区不在拖动区内);改大小要把鼠标移到四条边或四个角上(光标会变成双向箭头)。

文字太小 / 太大

直接拖时钟窗口的边缘改变尺寸,数字和表盘会跟着缩放。


五、这个项目在哪

源码与构建说明见同目录的 DEVELOP.md。已经打好的包在 dist/:

dist/ClockLab-1.0.0-win-x64.zip                  Windows x64 绿色版
dist/ClockLab-1.0.0-linux-arm64.tar.gz           Linux ARM64(飞腾 D2000 等)
S
Description
一个简单的本地时钟计时器
Readme MIT
194 KiB
0 Stars 1 Watchers 0 Forks
Languages
JavaScript 85.7%
CSS 8%
HTML 6.3%