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
pythonwithpython3on 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
$EDITORis not set in your shell, set nagcat's preferred text editor usingnagcat config -e path/to/editor - If you edit
reminders.jsonmanually 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 whyand shows outputprefix+ P: Runsnagcat petto 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 -hfor 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-wrapkdialog --msgbox "$(nagcat why)"
Please include some details when reporting bugs, such as:
- Your OS
nagcat --versionbash --versionpython --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
pytestcommand in the repo root directory - If submitting a pull request, please run the
blackautomatic code formatter (pip install black)