LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

想让你多爱自己一些的开源计时器 Catime

freeflydom
2025年4月7日 9:21 本文热度 117

我用过 Pomotroid、Reminders MenuBar、Timer 等众多优秀、开源的番茄时钟和计时工具,它们帮我更高效地管理时间,让我更专注地投入工作。

但有一个问题始终困扰着我:每当计时结束时,我总是习惯性地忽略休息提醒,继续沉浸在手头的事情中,直到第二天身体不适才追悔莫及

最近,我发现了一款特别贴心的开源计时工具——Catime。它体积小巧、设计简洁,最大的亮点是支持自定义计时结束后的动作,比如锁定屏幕强制休息。当然,你也可以设置到点自动关机,但这有些太狠了😅。

GitHub 地址:github.com/vladelaina/Catime

我非常喜欢 Catime,因为它总是在提醒我“停下来”,对自己好一点。这种温暖的感觉让我想起我的老妈:别人关心你飞得高不高,而妈妈只在意你累不累

在与项目作者 vladelaina 聊完 Catime 背后的故事后,我更加确信这是一个充满爱的开源项目。让我们一起走进这个「希望你多爱自己一点」的暖心计时器——Catime。

一、介绍

Catime 是一款轻巧易用的 Windows 计时工具,集时钟、倒计时和番茄时钟于一体,支持透明界面和丰富的自定义选项,让你的时间管理更简单、更高效。

特点

  • 极简设计:界面透明、点击穿透、任意拖拽缩放、无复杂设置,使用起来轻松无负担。
  • 灵活计时:支持快速预设、自定义时间输入,提供当前时间、倒计时、正计时和番茄时钟多种模式。
  • 超时动作:计时结束后可自动执行锁屏、打开文件/软件、访问指定网站、关机或重启等操作。
  • 丰富自定义:内置 47 种字体和 15 种预设颜色,支持自定义颜色值及调色板选色,实时预览效果,满足个性化需求。

操作方式简单便捷,所有配置均可通过托盘图标点击完成:左键点击快速管理时间,右键点击设置选项,一目了然。

二、来自用户的爱

Catime 拥有如此丰富的功能,并非一蹴而就。

最初,作者只是想找到一种方式,来对抗自己“停不下来”的工作节奏,提醒自己定时离开电脑,稍作休息,以实现工作和健康的平衡。(🤨我怀疑,他的灵感可能来自一次游戏后的反思)

因此,Catime 最早的设计非常简单:倒计时结束后自动锁屏

这个小小的功能却带来了意想不到的效果:当屏幕突然变黑、需要重新输入密码时,用户会自然而然地停下来思考——是不是该趁这机会站起来活动一下?这种温和的“强制中断”,既不会引起反感,又有效地打破了持续工作的惯性。

原本以为软件做到这里就足够了。然而,随着项目开源和第一个演示视频的发布,Catime 意外地收获了大量用户的奇思妙想、建设性反馈和热情的支持。

在接下来的四个月中,作者不断吸收反馈、持续迭代优化,最终将 Catime 打造成了能够满足多种场景需求的计时工具。

2.1 工作场景

距离下班还有多久?

只需简单输入下班时间即可快速开启倒计时。例如,18:00 下班,只要输入 18t 后回车,Catime 就会实时显示距离下班还有多久。

不仅如此,你还可以将超时后的动作设置为正计时模式,让时间到达后自动切换为加班计时,直观记录加班时长。

PPT 演示计时

适用于汇报、演讲或会议限时等场景,帮助你精准掌控时间,还不会干扰演示画面。

2.2 娱乐场景

游戏时间管理

全屏游戏时无需频繁切换窗口,即可随时掌握当前时间,避免“玩过头”。

  • 游戏时长统计:正计时模式实时记录游戏持续时间,帮助你合理掌控游戏时间。
  • 休息提醒:自定义游戏时长,到点自动提醒,防止沉迷。
  • 超时强制措施:甚至可以设置超时后自动关机,实现真正的“强制下线”。

定时访问网站

设置定时打开指定网站,避免遗忘错过重要时刻,比如 每月 28 日准时打开 HelloGitHub 网站了解最新开源动态。

  • 发布会提醒:活动开始前自动跳转到发布页面,不错过任何精彩瞬间。
  • 直播提醒:关注的直播 19:30 开始?到点自动打开直播页面,无需手动操作。

三、对技术的热爱

Catime 的作者目前才刚上大二,只会 C 语言。他凭借对技术的热爱,用尽所学知识想把 Catime 做好。

他选择基于 Windows API(Win32)和 C 语言开发 Catime,其核心是一个无边框透明窗口,能够灵活显示倒计时、正计时或当前时间。他精心设计了底层实现,既确保了轻量级的特性,又提供了丰富的视觉效果和良好的交互体验。

3.1 窗口创建与样式

// 创建特殊样式的无边框窗口
HWND hwnd = CreateWindowEx(
    WS_EX_LAYERED | WS_EX_TOOLWINDOW,  // 扩展样式:分层窗口+工具窗口
    "CatimeWindow", "Catime",
    WS_POPUP,  // 弹出窗口样式(无边框)
    CLOCK_WINDOW_POS_X, CLOCK_WINDOW_POS_Y,
    CLOCK_BASE_WINDOW_WIDTH, CLOCK_BASE_WINDOW_HEIGHT,
    NULL, NULL, hInstance, NULL
);

3.2 窗口置顶

void SetWindowTopmost(HWND hwnd, BOOL topmost) {
    CLOCK_WINDOW_TOPMOST = topmost; 
    // 获取当前窗口样式
    LONG exStyle = GetWindowLong(hwnd, GWL_EXSTYLE);
    
    if (topmost) {
        // 置顶模式处理
        exStyle &= ~WS_EX_NOACTIVATE; 
        SetParent(hwnd, NULL);   
        SetWindowLongPtr(hwnd, GWLP_HWNDPARENT, 0);
        SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0,
                    SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE | SWP_FRAMECHANGED);
    } else {
        // 非置顶模式处理
        exStyle |= WS_EX_NOACTIVATE;
        // ... 查找桌面窗口的代码 ...
        if (hDesktop != NULL) {
            SetParent(hwnd, hDesktop);
        } else {
            SetWindowPos(hwnd, HWND_BOTTOM, 0, 0, 0, 0,
                        SWP_NOMOVE | SWP_NOSIZE | SWP_NOACTIVATE);
        }
    }  
    
    // 应用新窗口样式并更新
    SetWindowLong(hwnd, GWL_EXSTYLE, exStyle);
    SetWindowPos(hwnd, NULL, 0, 0, 0, 0,
                SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_FRAMECHANGED);  
    WriteConfigTopmost(topmost ? "TRUE" : "FALSE");
}

3.3 系统托盘集成

void InitTrayIcon(HWND hwnd, HINSTANCE hInstance) {
    // 创建托盘图标数据结构
    NOTIFYICONDATA nid = {0};
    nid.cbSize = sizeof(NOTIFYICONDATA);
    nid.hWnd = hwnd;
    nid.uID = TRAY_ICON_ID;
    nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP;
    nid.uCallbackMessage = CLOCK_WM_TRAYICON;  // 自定义消息
    nid.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
    strcpy(nid.szTip, "Catime");
    
    // 添加图标到系统托盘
    Shell_NotifyIcon(NIM_ADD, &nid);
}

所有代码均已开源,篇幅有限,这里仅展示核心代码片段。

原文地址:https://www.cnblogs.com/xueweihan/p/18803055


该文章在 2025/4/7 9:21:03 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2025 ClickSun All Rights Reserved