Skip to content

wzp100/attention

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Attention 任务提醒工具

Attention 是一个基于 PyQt6 的桌面悬浮任务提醒应用。它提供始终置顶的便签样窗口、系统托盘菜单、预估时长提醒、定时锁屏计划表等能力,帮助你在电脑前保持专注并追踪任务状态。

功能亮点

  • 悬浮提醒:无边框窗口始终置顶,可自由拖拽位置,文字带黑色描边避免背景干扰。
  • 快捷编辑:双击任务文本即可编辑;右键或托盘菜单可开始、暂停/继续、终止任务。
  • 预估时长:启动任务时可输入预估分钟数,超时会以不同颜色提示。
  • 任务历史:自动记录开始、暂停、继续、终止事件,可按日期查看。
  • 时间表/锁屏:支持维护今日时间表,到点弹出全屏提示并可在 Windows 上自动锁屏。
  • 设置面板:在对话框中修改文字、字体、颜色、透明度、语言,以及管理时间表。
  • 多语言:内置中英文本地化。

环境要求

  • Windows / macOS / Linux
  • Python 3.10+

安装与运行

# 克隆仓库
cd attention

# 使用 uv / pip 安装依赖
uv pip install -e .
#
pip install -e .

# 启动应用
python main.py

可选参数:

python floating_task.py --text "写周报"   # 启动时覆盖默认任务文本
python floating_task.py --no-persist      # 仅本次会话使用覆盖的文本

首次运行会在当前目录生成:

  • config.json:保存窗口位置、文本、样式等配置。
  • task_history.json:按日期记录任务状态变化。

使用指南

  • 拖拽移动:按住窗口任意位置拖动即可移动,位置会自动保存。
  • 双击编辑:双击文本可直接修改任务内容。
  • 右键/托盘菜单
    • “开始任务” 支持输入预估分钟数。
    • “暂停/继续” 会在文本前后自动添加/移除暂停前缀。
    • “终止任务” 会回到“暂无任务”状态。
    • “查看任务历史” 在对话框中按日期查看事件列表。
    • “任务设置/管理时间表” 打开设置面板,可调整字体/颜色/透明度/语言并管理时间表。
  • 时间表:在设置面板或托盘菜单打开“管理时间表”,可新增/编辑/删除时间段;当前时间命中某段时会显示全屏倒计时并按需锁屏(仅 Windows)。
  • 窗口关闭:点击关闭按钮会最小化到托盘,再次点击托盘图标可唤起。

运行测试

项目提供了 TaskState 逻辑的基础单元测试,可在无图形界面环境下运行:

pytest

项目结构

attention/
├── attention/
│   ├── config.py        # 配置模型与读写
│   ├── constants.py     # 默认常量与路径定义
│   ├── history.py       # 任务历史读写
│   ├── i18n.py          # 多语言字符串
│   ├── schedule.py      # 时间表管理、全屏提醒与锁屏
│   ├── settings.py      # 设置对话框
│   ├── task_state.py    # 任务状态模型与计算逻辑
│   └── ui.py            # PyQt6 窗口主逻辑
├── floating_task.py     # 命令行入口
├── main.py              # 默认启动入口
└── tests/               # Pytest 测试

许可证

请根据项目实际情况补充(例如 MIT、Apache-2.0 等)。若尚未指定,请在此处说明。

About

Attention 是一个基于 PyQt6 的桌面悬浮任务提醒应用。它提供始终置顶的便签样窗口、系统托盘菜单、预估时长提醒、定时锁屏计划表等能力,帮助你在电脑前保持专注并追踪任务状态。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages