A helpful cat which nags you from the tmux statusbar... because she loves you!
nagcat doesn't actively notify you like an alarm clock. It's a simple command that returns =^.^=
if you have no reminders, or =u.u=
if you have overdue reminders.
Use prefix
+ P or nagcat pet
to calm nagcat and dismiss the current nag (overdue reminder).
For a reminder of what the latest reminder is, use prefix
+ W or say nagcat why
🐈
You may use the included nagcat.tmux
plugin for tmux, or simply use nagcat on its own!
Install with Tmux Plugin Manager or using Pip. Requires Python 3.6 or higher.
Installation with Tmux Plugin Manager
-
Add to list of TPM plugins:
set -g @plugin 'tassaron/nagcat'
-
Hit
prefix
+ I to download the plugin -
Add to tmux statusbar by editing
.tmux.conf
:set -g status-right '#{nagcat}'
- Use TPM update command:
prefix
+ U
- Add to bottom of
.bashrc
:
alias nagcat="python $HOME/.tmux/plugins/nagcat/src/nagcat.py"
- Replace
python
withpython3
on some Linux distros (Debian, Ubuntu)
-
Install using Pip:
pip install nagcat
-
Add to tmux statusbar by editing
.tmux.conf
:set -g status-right '#{nagcat}'
run-shell nagcat.tmux
pip install --upgrade nagcat
On most operating systems, installing with Pip will automatically put the nagcat
command in the $PATH. Other than convenience and personal preference, there is no difference between the installation methods. You can install both ways on the same system, but you will have to update two versions of the program so it's not recommended.
{
"09:00": "Time for breakfast",
"14:00": "You should drink water"
}
- Safely edit this JSON file with
nagcat config
- If
$EDITOR
is not set in your shell, set nagcat's preferred text editor usingnagcat config -e path/to/editor
- If you edit
reminders.json
manually and make a mistake, nagcat might stop working. Delete the invalid file to fix this. - nagcat only supports daily reminders and 24-hour time
- The default reminder is "Drink water" at 14:00
- JSON looks like a Python dictionary, but does not allow extra commas.
prefix
+ W: Runsnagcat why
and shows outputprefix
+ P: Runsnagcat pet
to dismiss current reminders- Change hotkeys from default W & P to e.g., e & r:
set -g @nagcat_why e
set -g @nagcat_pet r
- Make it your nagcat — see
nagcat config -h
for details - Change appearance (face/alert), name, pronoun
- E.g., how to remove cat theming:
nagcat config -face '' -alert '!!!'
You may also use nagcat in a graphical environment using something like e.g. the Command Output widget for KDE Plasma. To output your reminder text into a graphical pop-up window, try one of these commands:
zenity --info --text="$(nagcat why)" --no-markup --no-wrap
kdialog --msgbox "$(nagcat why)"
Please include some details when reporting bugs, such as:
- Your OS
nagcat --version
bash --version
python --version
(orpython3
)tmux -V
- If you're using TPM, pip, a venv, some combination of these, etc.
- Clone this repo, create a fresh Python virtual environment and install the package using
pip install .
- Install pytest using
pip install pytest
- Run tests using
pytest
command in the repo root directory - If submitting a pull request, please run the
black
automatic code formatter (pip install black
)