6 个版本

0.1.5 2021 年 8 月 9 日
0.1.4 2021 年 8 月 7 日

#22 in 辅助技术

MIT 许可证

18KB
302

目录

  1. Take Breath
  2. 算法
  3. 路线图
  4. 构建
  5. 编译功能
  6. 用法
  7. 自定义
  8. 许可证
  9. 贡献

Take Breath

Take Breath 是一款提醒您在电脑前休息的应用程序。

算法

当程序启动时,它会启动一个工作时间计数器。当工作时间计数器超过 45 分钟时,程序会通知您休息,并启动一个电脑空闲时间计数器。当电脑空闲时间计数器小于 15 分钟时,程序会通知您休息时间太短,您应该休息更长一段时间。否则,它将再次启动工作时间计数器。

路线图

  • 基本算法实现
  • 处理工作期间的空闲时间
  • 将应用程序分为库和二进制部分
  • 自定义功能
  • 编译功能
  • 动作自定义功能
  • 更好的错误处理
  • 自动启动功能
  • 命令行界面实现
  • 文档
  • 支持各种操作系统
    • Linux (仅 X)
    • Mac (未测试)
    • Windows (未测试)

构建

为了编译 Take Breath 程序,您应该安装 Rust 工具链。如果您已经安装了,只需运行以下 shell 命令

git clone https://github.com/markmelix/take-breath.git
cd take-breath
cargo build --release

它将编译好的 take-breath 文件放入 ./target/release 目录。

您还可以使用以下命令获取编译好的 take-breath 程序,而无需克隆仓库:“cargo install take-breath”。它将编译好的 take-breath 文件放入 ~/.cargo/bin 目录。

编译功能

编译功能允许您仅使用所需的程序功能。例如,如果您不使用配置文件或通知,可以禁用这些功能。每个功能的描述

名称 描述 依赖项
notify 通知 notify-rust
config 配置文件 serde/derive, humantime-serde, toml, dirs
cli 命令行界面功能 clap

默认情况下,所有这些功能都被激活。如果您只想使用特定功能,请在 cargo build/install 命令的末尾添加 --no-default-features --features。例如

# Activate only config and cli features. So, we can configure the program using
# configuration file (see customization section) and command arguments.
cargo build --release --no-default-features --features config,cli # if you build program manually
cargo install --no-default-features --features config,cli # if you use cargo install

# Activate only notify feature. So, we cannot configure program at all, but we
# can see notification messages to get information.
cargo build --release --no-default-features --features notify # if you build program manually
cargo install --no-default-features --features notify # if you use cargo install

用法

请注意,目前程序仅支持Linux系统

请在终端中运行以下命令:“take-breath &”。该命令将以后台进程运行take-breath程序。

自定义

首次启动程序时,它将自动在以下目录之一创建take-breath配置目录,其中包含config.toml文件,具体取决于系统

平台
Linux $XDG_CONFIG_HOME或$HOME/.config
macOS $HOME/Library/Application Support
Windows %USERPROFILE%\AppData\Roaming

创建后,配置文件包含以下数据

[work_time]
duration = '45m'
idle_to_pause = '2m'

[rest_time]
duration = '15m'

此文件以TOML格式编写。每个字段的说明

字段 描述 默认值
work_time.duration 工作时间 45m
work_time.idle_to_pause 计算机空闲多长时间才会暂停工作时间计数器 2m
rest_time.duration 休息时间 15m

许可证

Take Breath遵循MIT许可

贡献

欢迎贡献。

依赖项

~0–25MB
~333K SLoC