Skip to content

Repository files navigation

Auto Tip Clock

English

一个自动贴边隐藏、定时弹出提醒的 Windows 桌面时钟。支持自定义提示音、全局快捷键、拖拽定位,配置简单,开箱即用。


Example

功能

功能 说明
定时提醒 config.toml 中设置任意数量的提醒时间,支持 24 小时制
提示音 每个提醒可选用配置目录中的 WAV、FLAC 或 MP3 文件,也可设置为静音提醒
全局快捷键 默认 Ctrl+Alt+B 显示/隐藏时钟,可在配置中自定义
拖拽定位 弹出后可直接拖动窗口到任意位置,位置自动保存
自动隐藏 弹出后按设定时间自动隐藏(默认 3 秒)
贴边滑入/滑出 带平滑动画的滑入/滑出效果
托盘菜单 系统托盘图标,左键切换显示,右键打开菜单
颜色自定义 支持通过颜色选择器更改文字和背景颜色
开机自启 可配置 Windows 启动时自动运行
DPI 感知 支持多显示器、高 DPI 环境
单实例 防止重复启动
多语言 自动检测系统语言(中文/英文)

注意事项

  1. 本软件为免费软件,遵循 MIT 协议。
  2. 提醒时间格式为 HH:MM:SS(24 小时制),个位数需补零,例如 08:00:00
  3. display_time[[schedule]] 支持运行时热重载并自动去重;hotkey_*auto_startvolume 修改后需重启。颜色、透明度和窗口位置请通过程序界面修改。
  4. WAV、FLAC、MP3 文件放在 config.toml 所在目录,三种格式都可省略扩展名。名称相同时按 WAV → FLAC → MP3 的顺序选择;写明扩展名则使用指定文件。不允许绝对路径或子目录。
  5. 程序优先在 EXE 目录保存配置;若该目录不可写,则自动使用 %LOCALAPPDATA%\TipClock\config.toml。首次创建配置时,会在同一目录释放示例音频 demo.mp3
  6. volume 仅控制 Tip Clock 自身的音频输出,不会修改 Windows 系统音量。

安装

Releases 下载 tip_clock.exe,放到任意文件夹后运行。首次启动会自动创建 config.toml 和示例音频 demo.mp3

从源码编译

# 需要 Rust 1.85+ (edition 2024)
git clone https://github.com/Mikachu2333/tip_clock.git --depth=1
cd tip_clock
cargo build --release

配置说明

编辑实际配置目录中的 config.tomldisplay_time[[schedule]] 保存后约 1 秒内热重载;hotkey_*auto_startvolume 修改后需重启。颜色、背景不透明度和窗口位置应通过程序界面修改,程序会立即写回配置文件。EXE 目录不可写时,实际配置目录为 %LOCALAPPDATA%\TipClock

[general]
# 开机自启
auto_start = false

# 背景颜色 RGB (0-255),不透明度 (0-100, 0=全透明)
bg_r = 255
bg_g = 255
bg_b = 255
bg_opacity = 0

# 文字颜色 RGB (0-255)
text_r = 0
text_g = 0
text_b = 0

# 弹出后自动隐藏的秒数 (1-60)
display_time = 3

# 默认音量 (0-100)
volume = 80

# 显示/隐藏快捷键
# 修饰键: alt, ctrl, shift, win(可用 + 组合)
hotkey_mod = "Ctrl+Alt"
hotkey_key = "B"

# 窗口位置(左上角像素坐标,-1 表示自动定位)
window_x = -1
window_y = -1

# ── 提醒时间 ──────────────────────────────────
# 每个 [[schedule]] 块定义一个提醒
#
# time: HH:MM:SS (24小时制)
# audio: 可选,配置目录内的 WAV / FLAC / MP3 文件名

# 有声提醒;省略扩展名时依次查找 demo.wav、demo.flac、demo.mp3
[[schedule]]
time = "08:00:00"
audio = "demo"

# 静音提醒:省略 audio,仅弹出时钟
[[schedule]]
time = "13:42:57"

提示音配置

  • audio 是可选字段;省略时为静音提醒。
  • 支持 WAV、FLAC、MP3。
  • 音频文件位于 config.toml 所在目录。
  • 首次生成配置时会同时释放 demo.mp3 作为示例。

同一时刻的多个提醒

相同 time 的条目属于一个“提醒组”。例如同一秒包含一个静音条目以及 audio = "A"audio = "B"

  • 时钟只弹出一次,静音条目不会额外弹窗。
  • A、B 按配置文件中的先后顺序排队播放,不会同时播放或互相中断。
  • 完全相同的 time + audio 会自动去重;相同时间但不同 audio 会保留。
  • “跳过下一组提醒”会跳过该时刻的整个提醒组;暂停状态也不会补播该组。

托盘菜单

菜单项 功能
下次 显示下一组提醒的时间及有声标记
显示时钟 / 隐藏时钟 切换时钟显示/隐藏
跳过下一组提醒 跳过下一时刻的整组提醒
暂停 / 继续 暂停/恢复所有提醒
编辑配置 用记事本打开 config.toml
文字颜色... 更改时钟文字颜色
背景颜色... 更改时钟背景颜色
不透明度 通过数值输入框调整背景不透明度
重启 重启 Tip Clock
退出 退出程序

左键点击托盘图标 = 切换时钟显示/隐藏 右键点击托盘图标 = 打开菜单


快捷键

快捷键 功能
Ctrl+Alt+B(默认) 显示/隐藏时钟

可在 config.toml 中自定义,支持的修饰键:altctrlshiftwin,支持的按键:A-Z0-9F1-F12SpaceEnterEsc 等。


项目结构

src/
├── main.rs      — 程序入口、托盘菜单、消息循环
├── config.rs    — TOML 配置解析、时间规范化
├── audio.rs     — 外部 WAV / FLAC / MP3 播放(rodio)
├── gui.rs       — 时钟窗口(GDI+ 渲染、DPI 感知)
├── hotkey.rs    — 全局快捷键(RegisterHotKey)
└── i18n.rs      — 多语言支持(中文/英文)
res/
├── demo.mp3     — 首次创建配置时释放的示例音频
├── icon_raw     — 托盘与程序图标(256×256 原始 RGBA)
└── icon.afdesign — 可编辑的图标源文件

许可证

MIT

Author: Mikachu2333

About

自动贴边隐藏、定时弹出提醒的 Win 时钟。支持自定义提示音、快捷键、拖拽定位、自定义颜色等。A lightweight Win clock that auto-hides at edge and pops up at scheduled times. Supports custom audio, hotkeys, drag-to-reposition, custom color, etc..

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages