7 个版本 (2 个稳定版)

1.0.1 2023 年 10 月 13 日
0.1.4 2019 年 6 月 21 日

#119命令行工具

每月 29 次下载

MIT 许可证

96KB
633

tock

tty-clock 启发的终端数字时钟。遗憾的是,由于使用了与 termiossigaction 相关的函数调用,只能在 UNIX 系统上运行。

注意:本项目并不旨在完全模拟 tty-clock 的所有功能。

特性

  • 高效的位图和基于 diff 的绘制
  • 通过 TZ 环境变量和 tzselect 工具支持时区
  • 军事时间(24小时制)和秒显示切换
  • 使用 ANSI、8 位或 24 位颜色值进行颜色自定义
  • 任意日期格式化
  • 定位或居中对齐时钟
  • 可调整的显示大小
  • 与系统时钟秒同步
  • 最少的系统调用(每秒约一次 readwritenanosleep

截图

Screenshot of clock

asciicast of multiple clocks

安装

目前需要版本 >= 1.70.0 的 Rust 安装(由于 IsTerminal 特性,并且只能通过以下方式获得

  1. crates.io 使用 cargo-install
cargo install tock
  1. 从源代码构建
git clone https://github.com/nwtnni/tock.git
cargo build --release
./target/release/tock

使用方法

A digital clock for the terminal.

Usage: tock [OPTIONS]

Options:
  -x, --x <X>            Horizontal 0-indexed position of top-left corner [default: 0]
  -y, --y <Y>            Vertical 0-indexed position of top-left corner [default: 0]
  -W, --width <WIDTH>    Font width in characters per tile [default: 2]
  -H, --height <HEIGHT>  Font height in characters per tile [default: 1]
  -s, --second           Display seconds
  -m, --military         Display military (24-hour) time
  -c, --center           Center the clock in the terminal. Overrides manual positioning
  -C, --color <COLOR>    Change the color of the time [default: 2]
  -f, --format <FORMAT>  Change the date format [default: "%F | %Z"]
  -h, --help             Print help (see more with '--help')

目前默认使用带有 interactive 特性标志进行编译,该标志每秒轮询一次 stdin 以获取用户输入。设置此特性标志时,可用的命令包括

  • qQ<ESC>:退出。
  • s:切换秒显示。
  • m:切换军事(24小时)时间。
  • 0..=7:切换到相应的 ANSI 颜色。

参考

依赖关系

~2–10MB
~99K SLoC