notwaldorf / tiny-care-terminal

πŸ’–πŸ’» A little dashboard that tries to take care of you when you're using your terminal.
MIT License
5.97k stars 242 forks source link

tiny-care-terminal

This is a little dashboard that tries to take care of you when you're using your terminal. It tells you cute, self care things, and tries not to stress you out. It shows:

It looks like this, and updates every 20 minutes.

tiny terminal care screenshot

Make it go

1. Installation

Sadly only node.js v10.x is supported at the moment.

npm install -g tiny-care-terminal

(yarn also works fine.)

2. Setting the environment variables

After installing the npm package, you need to set up the configuration in your Terminal.

Every OS and shell is different so I probably won't hit all of them, but the bottom line is that you should copy those environment variables wherever the rest of your system's variables live. For example,

Note that the export bit is pretty key, to make sure that they are globally available. To check that the variables have been set correctly, you can print them in the terminal -- for example, echo $TTC_WEATHER.

Configure the dashboard

All the settings the dashboard looks at are in the sample file sample.env. This file isn't used by the dashboard, it just lists the environment variables that you can copy in your rc files:

Configure the Say-box

There are almost endless variation of ASCII art images supported. You can select an existing image from the cowsay library just by defining a filename ending with ".cow". So e.g. vader.cow or bunny.cow would be two possible options. Also the ansi-art library is supported. In addition to the existing colorful images you can create your own image by using the webapp and download the result. After downloading the ANSI-File you can just supply its absolute path to render it within the box. (eg: TTC_SAY_BOX='/Users/om/desktop/cat.ansi'). If you want the art to be selected by random use the magic word RANDOM.

In addition to this libraries the following types are supported: bunny, llama, cat, yeoman

Set up Twitter API keys

The dashboard has two alternatives for reading tweets: using your API keys or scraping. API keys is preferred (because lol scraping), but if you're really not into that, then skip the next section and read the bit about setting TTC_APIKEYS

You need Twitter API keys for the tweets to work. It should be pretty easy to create a new app, and get these 4 values. After you've set them up, set these env variables (see the sample.env for an example):

TTC_CONSUMER_KEY='...'
TTC_CONSUMER_SECRET='...'
TTC_ACCESS_TOKEN='...'
TTC_ACCESS_TOKEN_SECRET='...'

3. Start

tiny-care-terminal

You can exit the dashboard by pressing esc or q. You can refresh it manually by pressing r.

πŸ… Pomodoro Mode

You can press p to switch parrot box to pomodoro mode.

Other commands while in pomodoro mode:

s - start/pause/resume pomodoro
e - stop pomodoro
u - update pomodoro duration
b - update break time

To change default pomodoro and break durations set following variables in minutes (these should be numbers):

TTC_POMODORO=...
TTC_BREAK=...

πŸ†˜ Halp I don't see my commits