Files
ClockLab/README.md
T
AskaEth 0daa912ee1 fix(win7): 降到 Electron 22.3.27 —— Windows 7 只支持到 Electron 22
会议室那台电脑是 Windows 7 x64。Electron 从 23 起不再支持 Windows 7/8/8.1
(Chromium 用到了 Win7 没有的 API,典型报错是 GetPackageFamilyName 找不到入口点)。

客观对比(同一份代码、只换 Electron 版本,用 file 读 PE 子系统版本):
  Electron 38 → PE32+ executable for MS Windows 10.00     ← 声明需要 Win10
  Electron 22 → PE32+ executable for MS Windows 5.02      ← 兼容到 XP 时代

代码零改动(我们只用基础 API:BrowserWindow frame/resizable/setAlwaysOnTop/setBounds、
screen.getAllDisplays、contextBridge、ipcMain/ipcRenderer);152 条测试不受影响。
Electron 22 在 Windows 10/11 上同样能跑,所以这一版两边通吃,只是**不能让 Win7 用 38**。

⚠️ 以后想升级 Electron 的话:23 以上会议室那台就起不来了。
2026-09-15 14:58:54 +08:00

112 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`**。绿色版,不写注册表、不需要安装。
> 兼容性:这一版把运行时锁在 **Electron 22**,是最后一个支持 **Windows 7** 的版本;**Windows 10 / 11** 同样可以用。
### Linux(ARM64)
```bash
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`,那就是没传完(不是包坏了)。
---
## 四、常见问题
**界面黑屏 / 花屏 / 一闪就退(国产平台常见)**
多半是显卡驱动下的硬件加速不兼容,用这两个参数之一启动:
```bash
./clocklab --disable-gpu # 关掉硬件加速(最常用)
./clocklab --in-process-gpu # 或者让 GPU 跑在主进程里
```
**窗口拖不动 / 改不了大小**
先确认拖的是**时钟窗口的空白处**(按钮和边缘热区不在拖动区内);改大小要把鼠标移到**四条边或四个角**上(光标会变成双向箭头)。
**文字太小 / 太大**
直接拖时钟窗口的边缘改变尺寸,数字和表盘会跟着缩放。
---
## 五、这个项目在哪
源码与构建说明见同目录的 **[DEVELOP.md](./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 等)
```