15 个稳定版本
1.4.5 | 2023年9月29日 |
---|---|
1.4.4 | 2023年5月8日 |
1.4.3 | 2023年4月30日 |
1.3.4 | 2023年3月19日 |
1.1.1 | 2022年4月3日 |
#140 在 命令行工具 中排名
每月 90 次下载
130KB
3K SLoC
⏱️⌛ rust-cli-pomodoro
目录
演示
动机
番茄工作法 是一种时间管理方法(更多信息请参阅链接)。通常 25 分钟工作,5 分钟休息为一个周期。对我来说,当我工作时,我发现有意识地休息一段时间可以提高效率和健康(做5分钟的伸展)。所以我制作了这个。
架构
番茄工作法支持两种输入类型,标准输入和 IPC(通过 Unix 域套接字)。为了支持它们,番茄工作法应用程序的架构看起来是这样的。
功能
目前番茄工作法提供了以下功能。要查看更多功能,请运行 pomodoro
并输入 help
!
- 使用自定义工作和休息时间创建通知
- 当提供配置文件时,将使用文件中指定的默认值创建通知
- 排队通知。排队通知将在之前注册的通知完成后开始运行
- 自定义通知交付渠道。请参阅 使用 configuration.json 部分
- 使用
list
命令以美观格式打印创建的通知 - 删除注册的通知
- 使用
history
命令跟踪归档的通知 - 使用
history --clear
命令删除归档的通知 - 清除终端
- 支持交互模式下使用箭头键查找命令历史记录。(
notification
由工作时间和休息时间组成。番茄工作法使用notification
来管理计时器。) - 为多个 shell(fish、zsh、bash、elvish、powershell)生成自动完成脚本
根据输入类型,命令提供略有不同。
启动 & IPC 命令
如果您想启动,请使用适当的 OPTIONS
运行番茄钟。或者,如果您想向已启动的番茄钟发送命令(通过IPC),请使用 SUBCOMMANDS
运行命令。
pomodoro 1.4.0
Young
start up application with config or run command using uds client
Usage: pomodoro [OPTIONS]
pomodoro <COMMAND>
Commands:
create create the notification
queue create the notification
delete delete a notification
list list notifications
history show archived notifications
test test notification
completion generate completions for shells
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <config> Read configuration json file from this path
-h, --help Print help
-V, --version Print version
标准输入命令
番茄钟运行时,您可以交互式地发出命令。
pomodoro 1.4.0
Young
manage your time!
Usage: pomodoro [COMMAND]
Commands:
create create the notification
queue create the notification
delete delete a notification
list list notifications
history show archived notifications
test test notification
clear clear terminal
exit exit pomodoro app
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
安装和使用方法
安装
- 目前只需克隆此存储库并运行
cargo run --release
或自行构建并按需使用二进制文件。
git clone [email protected]:24seconds/rust-cli-pomodoro.git
cd rust-cli-pomodoro
cargo run --release
- 使用
cargo install rust-cli-pomodoro
cargo install rust-cli-pomodoro
使用 configuration.json
番茄钟支持多种配置。
- Slack 通知
- Discord 通知
- 工作时间默认值
- 休息时间默认值
要使用它,您需要在本地机器的某个位置创建 json 文件,例如 configuration.json
。以下是一个 Configuration.json
文件的示例。
{
"slack": {
"token": "your-bot-token-string",
"channel": "your-slack-channel-id"
},
"discord": {
"webhook_url": "your-webhook-url"
},
"work_time_default_value": 30,
"break_time_default_value": 10
}
对于 Slack 通知,它使用 chat.PostMessage API
对于 Discord 通知,它使用 webhook url
要使用 configuration.json
运行番茄钟,请按如下方式运行应用程序。
# If the configuration.json file exists in the current path
pomodoro --config ./configuration.json
自动完成
rust-cli-pomodoro
支持自动完成。但您需要手动生成完成脚本并将其放置在正确的路径。
自动完成是制表符完成。当您键入几个字符并按制表符键时,您可以看到可能的命令,如下所示。
步骤 1. 使用命令生成完成脚本文件
您需要运行命令以获取完成脚本。命令如下所示。
Usage: pomodoro completion [shell]
Arguments:
[shell] [possible values: fish, zsh, bash, elvish, powershell]
例如,如果您运行 pomodoro completion zsh
,则脚本将通过标准输出打印出来。因此,您需要这样做。
$ pomodoro completion zsh > _pomodoro
文件名应该是 underscord 加二进制名称,即 _pomodoro
。
步骤 2. 将完成脚本文件放置在正确的路径
将完成脚本文件放置在正确的路径。例如,在 zsh shell 中,正确的路径是 $fpath
之一。您可以通过运行此命令来检查。
> echo $fpath
在我的情况下,我将完成脚本放在 /Users/young/.oh-my-zsh/completions
下。
步骤 3. 重新运行 zsh shell 并享受吧!
要使用自动完成,您需要为打开的终端运行此命令。对于新打开的终端,自动完成将正常工作。
$ exec zsh
# or
$ source ~/.zshrc
享受!
路线图
- 如有需要,请运行前面的命令
- 命令自动完成
- 编写集成测试
- 更丰富的通知:声音、应用图标、提示、操作等
- 提供更多通知传递选项:目前番茄钟使用桌面通知。但通知可以通过 Slack、电子邮件或任何其他方式传递。
- Slack 集成
- Discord 集成
- 还有其他什么吗?
- 提供一种简单的方法来使用此应用程序(brew、snap、cargo install 等)
- cargo install
- 还有什么吗?
- 支持 macOS (>= 11.0.0)通知:目前 notify-rust 使用 mac-notification-sys,但
mac-notification_sys
不支持最近的 macOS 版本(截至 2021 年 10 月 17 日下午 5:10)> 发布的二进制文件可以无问题发送桌面通知(2022 年 5 月 13 日星期五凌晨 1:21)
兼容性
启动 & 标准输入
它取决于 notify-rust 的支持,因此 Linux、Mac (<= 11.0.0)和 Windows (10、8.1)。
- 注意:如果您通过运行
cargo install
命令使用此应用程序,那么 macOS 桌面通知似乎运行良好(2022 年 4 月 3 日星期日)
IPC
目前支持 Linux 和 macOS(因为番茄钟使用 Unix 域套接字)
依赖项
~22–58MB
~1M SLoC