一个用于演练/演示的桌面时钟工具:两个窗口 —— 控制窗口(普通)与时钟窗口(无边框、 可拖动、可拖边缘改大小,由控制窗口开与关)。 功能 - 两个窗口各自的「始终置顶」开关 - 显示样式:纯数字 / 圆形表盘,切换立即生效 - 实时设定时间(含「填入当前显示时间」) - 倍率:支持正数、负数(倒转)、0(暂停)、小数 - 暂停 / 继续(继续时回到暂停前的倍率,按钮文案会显示是几倍) - 快进五档:+5 秒 / +1 分钟 / +5 分钟 / +10 分钟 / +30 分钟 实现要点 - 走时是「基准时间 + 基准时刻 + 倍率」的锚点式模型(不累加、零漂移); 倍率、暂停、倒转、快进因此是同一套机制的四个用法,互不打架 - 跳转动画做在「呈现时间」这一层:数字滚动与表盘指针扫动共用同一个中间值, 所以永远同步,也不会跨 12 点倒着转一圈 - 无边框窗口的拖动(CSS app-region + 控件 no-drag)与拖边缘改大小 (自己算几何 + IPC setBounds,因为 frame:false 下系统边缘命中不可靠) 测试 152 例:走时模型 / 改大小几何 / 呈现时间 / 两个渲染进程(DOM 桩)
4.4 KiB
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 等)