https://github.com/n0kovo/termstopwatch
Multi-font ASCII art stopwatch for your terminal, written in Go
https://github.com/n0kovo/termstopwatch
Last synced: 3 months ago
JSON representation
Multi-font ASCII art stopwatch for your terminal, written in Go
- Host: GitHub
- URL: https://github.com/n0kovo/termstopwatch
- Owner: n0kovo
- License: gpl-3.0
- Created: 2023-10-18T14:38:07.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2023-10-20T10:27:40.000Z (almost 2 years ago)
- Last Synced: 2024-12-30T17:43:46.454Z (9 months ago)
- Language: Go
- Size: 106 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Contributors][contributors-shield]][contributors-url]
[![Forks][forks-shield]][forks-url]
[![Stargazers][stars-shield]][stars-url]
[![Issues][issues-shield]][issues-url]
[![GPL License][license-shield]][license-url]
An incredible, elegant multi-font ASCII art CLI stopwatch
State-of-the-art terminal chrono-measurement boii. It starts. It stops. It's got all sorts of tricks.
·
Report Bug
·
Request Feature
## Demo
![]()
_"Why settle for an average, humdrum, run-of-the-mill stopwatch when you can dazzle your retinas with a text-based spectacle like no other?"_
– Steve Jobs`termstopwatch` is not just a stopwatch; it's an experience. Written in Go, this terminal app manifests the future of time-keeping through the cutting-edge technology of ASCII art. Yes, we went there.
### Features so magical, they'll turn you into a newt:
* **Stopwatch Reimagined**
* Behold the sheer elegance of elapsed time ticking away — in beautifully hand-crafted ASCII art.
* **Fonts Galore**
* Tired of regular old LCD displays? Choose from an overwhelming array of fonts stored in our luxury `fonts/` directory, in which you can also put your own `figlet` font files. It's basically like changing the drapes in a mansion.
* **Keyboard Shortcuts**
* With hotkeys so intuitive, you'd think they were telepathic. Pause, reset, toggle milliseconds like you're typing Shakespeare.
* **Help Text**
* For the unlikely event that a modern-day Einstein like yourself needs it. Toggle on and off for those "just in case I forget I'm a genius" moments.## Getting Started
It almost couldn't be easier, my friend.
### Precompiled binaries
Download one of the binary packages from [Releases](https://github.com/n0kovo/termstopwatch/releases)
_(Supported platforms: Linux, macOS, Windows, Android, FreeBSD, OpenBSD, NetBSD, Plan9, AIX, Dragonfly, Solaris, Illumos, JS WASM)_
### Build from source
So you wanna hack at it, you little hacker you? Do it!#### Prerequisites
You'll ned `go` to compile `termstopwatch`, so
* Install [Go](https://go.dev/doc/install)#### Installation
When you have `go`, you can install `termstopwatch` like so:
```console
go install https://github.com/n0kovo/termstopwatch@latest
```Or you can just clone the repo:
```console
git clone https://github.com/n0kovo/termstopwatch
cd termstopwatch
go build .
```## Usage
When `termstopwatch` is running, you can use these carefully selected keys to change the behavior:
* **(SPACE)** - Start/Stop the timer
* **(M)** - Toggle displaying of milliseconds
* **(R)** - Reset to 00:00:00.000
* **(H)** - Hide help text
* **(ESC)** or **Ctrl-c** - Exit :(You can also run it with these command line flags, which you probably will, since you're an _advanced_ user:
```console
Usage of ./termstopwatch:
-d, --debug Show debug text.
-f, --font string Font to use. Must be in fonts/ directory. (default "Georgia11")
-q, --hide-help Hide help text.
-n, --noms Hide milliseconds.
-p, --pause Start paused.
```## Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**.
I know it's hard to imagine, but if you have a suggestion that would improve `termstopwatch`, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
Don't forget to give the project a star!1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request## License
Distributed under the GNU GPL 3 License. See `LICENSE` for more information.
## Contact
n0kovo - [Mastodon](https://infosec.exchange/@n0kovo)
Project Link: [https://github.com/n0kovo/termstopwatch](https://github.com/n0kovo/termstopwatch)
## Acknowledgments
* [Figlet](http://www.figlet.org/)
* [figlet4go](https://github.com/mbndr/figlet4go)
* Font authors <3[contributors-shield]: https://img.shields.io/github/contributors/n0kovo/termstopwatch.svg?style=for-the-badge
[contributors-url]: https://github.com/n0kovo/termstopwatch/graphs/contributors
[forks-shield]: https://img.shields.io/github/forks/n0kovo/termstopwatch.svg?style=for-the-badge
[forks-url]: https://github.com/n0kovo/termstopwatch/network/members
[stars-shield]: https://img.shields.io/github/stars/n0kovo/termstopwatch.svg?style=for-the-badge
[stars-url]: https://github.com/n0kovo/termstopwatch/stargazers
[issues-shield]: https://img.shields.io/github/issues/n0kovo/termstopwatch.svg?style=for-the-badge
[issues-url]: https://github.com/n0kovo/termstopwatch/issues
[license-shield]: https://img.shields.io/github/license/n0kovo/termstopwatch.svg?style=for-the-badge
[license-url]: https://github.com/n0kovo/termstopwatch/blob/master/LICENSE