{"id":46345104,"url":"https://github.com/tassaron/nagcat","last_synced_at":"2026-03-04T21:10:43.191Z","repository":{"id":57678951,"uuid":"491352515","full_name":"tassaron/nagcat","owner":"tassaron","description":"Reminders in tmux statusbar. A helpful cat who nags you... because she loves you! =^.^= Install with Tmux Plugin Manager or with Pip","archived":false,"fork":false,"pushed_at":"2022-06-03T12:42:48.000Z","size":82,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-21T02:56:48.746Z","etag":null,"topics":["cat","reminders","tmux","tmux-plugins"],"latest_commit_sha":null,"homepage":"https://pypi.org/project/nagcat/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tassaron.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-05-12T03:37:25.000Z","updated_at":"2022-10-27T18:28:04.000Z","dependencies_parsed_at":"2022-09-14T11:41:18.306Z","dependency_job_id":null,"html_url":"https://github.com/tassaron/nagcat","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/tassaron/nagcat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassaron%2Fnagcat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassaron%2Fnagcat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassaron%2Fnagcat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassaron%2Fnagcat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tassaron","download_url":"https://codeload.github.com/tassaron/nagcat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tassaron%2Fnagcat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30093122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T20:42:30.420Z","status":"ssl_error","status_checked_at":"2026-03-04T20:42:30.057Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cat","reminders","tmux","tmux-plugins"],"created_at":"2026-03-04T21:10:42.530Z","updated_at":"2026-03-04T21:10:43.178Z","avatar_url":"https://github.com/tassaron.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nagcat\r\n\r\nA helpful cat which nags you from the tmux statusbar... because she loves you!\r\n\r\nnagcat 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.\r\n\r\nUse `prefix` + \u003ckbd\u003eP\u003c/kbd\u003e or `nagcat pet` to calm nagcat and dismiss the current nag (overdue reminder).\r\n\r\nFor a reminder of what the latest reminder is, use `prefix` + \u003ckbd\u003eW\u003c/kbd\u003e or say `nagcat why` 🐈\r\n\r\nYou may use the included `nagcat.tmux` plugin for tmux, or simply use nagcat on its own!\r\n\r\nInstall with **Tmux Plugin Manager** or using **Pip**. Requires **Python 3.6** or higher.\r\n\r\n\r\n# Installation with [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm)\r\n\r\n1. Add to list of TPM plugins:\r\n    * `set -g @plugin 'tassaron/nagcat'`\r\n\r\n1. Hit `prefix` + \u003ckbd\u003eI\u003c/kbd\u003e to download the plugin\r\n\r\n1. Add to tmux statusbar by editing `.tmux.conf`:\r\n    * `set -g status-right '#{nagcat}'`\r\n\r\n\r\n##  Updating with Tmux Plugin Manager\r\n\r\n* Use TPM update command: `prefix` + \u003ckbd\u003eU\u003c/kbd\u003e\r\n\r\n\r\n## Make an alias to use `nagcat` command\r\n\r\n* Add to bottom of `.bashrc`:\r\n\r\n```\r\nalias nagcat=\"python $HOME/.tmux/plugins/nagcat/src/nagcat.py\"\r\n```\r\n\r\n* Replace `python` with `python3` on some Linux distros (Debian, Ubuntu)\r\n\r\n\r\n# Installation from PyPI\r\n\r\n1. Install using Pip:\r\n    * `pip install nagcat`\r\n\r\n1. Add to tmux statusbar by editing `.tmux.conf`:\r\n    * `set -g status-right '#{nagcat}'`\r\n    * `run-shell nagcat.tmux`\r\n\r\n\r\n## Updating with Pip\r\n* `pip install --upgrade nagcat`\r\n\r\n\r\n## Which Installation Method to Use?\r\n\r\nOn 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.\r\n\r\n\r\n# Editing Reminders:\r\n\r\n## ~/.config/nagcat/reminders.json\r\n\r\n```\r\n{\r\n    \"09:00\": \"Time for breakfast\",\r\n    \"14:00\": \"You should drink water\"\r\n}\r\n```\r\n\r\n* Safely edit this JSON file with `nagcat config`\r\n* If `$EDITOR` is not set in your shell, set nagcat's preferred text editor using `nagcat config -e path/to/editor`\r\n* If you edit `reminders.json` manually and make a mistake, nagcat might stop working. Delete the invalid file to fix this.\r\n* nagcat only supports daily reminders and 24-hour time\r\n* The default reminder is \"Drink water\" at 14:00\r\n* JSON looks like a Python dictionary, but does **not** allow extra commas.\r\n\r\n\r\n# Customization\r\n\r\n## Tmux Hotkeys\r\n\r\n* `prefix` + \u003ckbd\u003eW\u003c/kbd\u003e: Runs `nagcat why` and shows output\r\n* `prefix` + \u003ckbd\u003eP\u003c/kbd\u003e: Runs `nagcat pet` to dismiss current reminders\r\n* Change hotkeys from default \u003ckbd\u003eW\u003c/kbd\u003e \u0026 \u003ckbd\u003eP\u003c/kbd\u003e to _e.g.,_ \u003ckbd\u003ee\u003c/kbd\u003e \u0026 \u003ckbd\u003er\u003c/kbd\u003e:\r\n```\r\nset -g @nagcat_why e\r\nset -g @nagcat_pet r\r\n```\r\n\r\n\r\n## Appearance\r\n\r\n* Make it _your_ nagcat \u0026mdash; see `nagcat config -h` for details\r\n* Change appearance (face/alert), name, pronoun\r\n* *E.g.,* how to remove cat theming: `nagcat config -face '' -alert '!!!'`\r\n\r\n\r\n## Use in a Graphical Environment\r\n\r\nYou may also use nagcat in a graphical environment using something like *e.g.* [the Command Output widget for KDE Plasma](https://store.kde.org/p/1166510). To output your reminder text into a graphical pop-up window, try one of these commands:\r\n* `zenity --info --text=\"$(nagcat why)\" --no-markup --no-wrap`\r\n* `kdialog --msgbox \"$(nagcat why)\"`\r\n\r\n\r\n# Development\r\n\r\n## Reporting bugs\r\n\r\nPlease include some details when reporting bugs, such as:\r\n* Your OS\r\n* `nagcat --version`\r\n* `bash --version`\r\n* `python --version` (or `python3`)\r\n* `tmux -V`\r\n* If you're using TPM, pip, a venv, some combination of these, etc.\r\n\r\n## Running tests\r\n* Clone this repo, create a fresh Python virtual environment and install the package using `pip install .`\r\n* Install pytest using `pip install pytest`\r\n* Run tests using `pytest` command in the repo root directory\r\n* If submitting a pull request, please run the `black` automatic code formatter (`pip install black`)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftassaron%2Fnagcat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftassaron%2Fnagcat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftassaron%2Fnagcat/lists"}