{"id":17017750,"url":"https://github.com/daringcuteseal/whow","last_synced_at":"2026-05-16T11:02:56.238Z","repository":{"id":65013306,"uuid":"502360216","full_name":"DaringCuteSeal/whow","owner":"DaringCuteSeal","description":"A CLI to-do's and events manager","archived":false,"fork":false,"pushed_at":"2023-07-16T01:50:41.000Z","size":385,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-27T15:48:42.829Z","etag":null,"topics":["bash","cli","todo"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DaringCuteSeal.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-11T13:45:25.000Z","updated_at":"2024-04-25T02:43:33.000Z","dependencies_parsed_at":"2024-11-30T08:32:34.054Z","dependency_job_id":null,"html_url":"https://github.com/DaringCuteSeal/whow","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaringCuteSeal%2Fwhow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaringCuteSeal%2Fwhow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaringCuteSeal%2Fwhow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaringCuteSeal%2Fwhow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaringCuteSeal","download_url":"https://codeload.github.com/DaringCuteSeal/whow/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244980992,"owners_count":20542287,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bash","cli","todo"],"created_at":"2024-10-14T06:37:27.566Z","updated_at":"2025-10-15T02:27:03.817Z","avatar_url":"https://github.com/DaringCuteSeal.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Whow\n\nWhow - when, how?\n\n![whow screenshot](img/1.png)\n![whow screenshot](img/2.png)\n![whow screenshot](img/3.png)\n\nWhow is a to-do and event manager. It can parse your `todo` and `events` plain text files and render it to a human-readable, colorful, simple, and customizable display. To interact with it, you can edit the `todos` and `events` text files directly, or use it as a CLI front-end.\n\nWhow has similar concepts to [todo.txt](https://github.com/todotxt/todo.txt-cli) (and no, I didn't even know it existed back when I started writing it).\n\n# Installation\n\nClone this repository and move `whow` somewhere to your `PATH`:\n\n```bash\ngit clone https://github.com/DaringCuteSeal/whow.git\nmv whow/whow ~/.local/bin\n```\n\nOr get it directly:\n\n```bash\ncurl -o ~/.local/bin/whow https://raw.githubusercontent.com/DaringCuteSeal/whow/main/whow\n```\n\nIf you're on Arch Linux, you can clone this repository, `cd` to `makepkg`, and type `makepkg -si`. Or `curl` the PKGBUILD. Do it however you want :/\n\n# Overview\n\n`whow` exists as a command. Without any arguments passed, it will print out blocks of sections defined on the configuration file.\n\nTo-do's and events files are stored in a cache directory, again, defined on the configuration file (`cache_dir` variable). It is named `todos` and `events`, respectively. The two files will be sourced by `whow` which can then display it in a more friendly way.\n\n\n\n# Getting Started\n\n## Configuration\n\nCopy the `rc` file located at the `config/` directory to `$XDG_CONFIG_DIR/whow` or `$HOME/.config/whow` and edit it. It's already pretty well documented, so change whatever you need.\n\nFor experimenting around, you can also copy the example `todos` and `events` file to the cache directory defined on the configuration file (default is `$HOME/.config/whow/`).\n\n## Displaying\n\nRun `whow show` to display sections on your configuration file. `whow show todos` will only display your to-do's, and `whow show events` will only display your events. `whow show important` will show you important to-do's and events for today.\n\n## Adding, Marking, and Deleting To-do's\n\nTo add a new to-do, run `whow todo add \u003cname\u003e [due] [@category]`.\nMark done/undone your to-do by running `whow todo mark \u003cindex\u003e`, where index is the number shown before a to-do.\nLastly, delete your to-do by running `whow todo del \u003cindex\u003e`.\n\n## Adding and Deleting Events\n\nAdd a new event by running `whow event add \u003cdate\u003e \u003cname\u003e [@category]` and delete it by running `whow event del \u003cindex\u003e`.\n\n\n\n# Syntax\n\n## To-Do's\n\nYou can add to-do's by calling the `todo` command. They should be placed on your `todos` file inside `cache_dir`.\n\nThe syntax consists of the following:\n\n```\ntodo \u003cname\u003e [due] [@category] [v]\n```\n\n..with the name being required, and optionally a due date and a category name that starts with @. `v` marks the to-do as done.\n\n- The due date uses the date format defined on the configuration file—either mm/dd/yyyy or dd/mm/yyyy. It can optionally include time, and you can include it by separating the date and the time with a caret (`^`) (e.g `03/03/2022^1 PM`, `03/03/2022^1`, or `03/03/2022^05:30 PM`).\n- You can only use category that has been defined on the configuration file.\n\nExamples:\n\n```bash\ntodo \"Record some footage for motion tracking\"\ntodo \"Finish writing Whow\" @programming\ntodo \"Write an article about privacy\" \"07/26/2022^10:00 PM\"\n```\n\n## Events\n\nYou can add events by calling the `event` command. They should be placed on your `events` file inside `cache_dir`.\n\nThe syntax consists of the following:\n```\nevent \u003cdate\u003e \u003cname\u003e [@category]\n```\n\n..with the date and name being required, and optionally a category name that starts with @.\n\n- The due date uses the date format defined on the configuration file—either mm/dd/yyyy or dd/mm/yyyy.\n\nExamples:\n\n```bash\nevent \"03/21/2022\" \"Go to Someone's party\" @fun\nevent \"03/23/2022\" \"Visit some of my friends at Jakarta\"\nevent \"03/25/2022\" \"Go buy a new pair of sneakers\" \n```\n\n## Scheduling\n\nFor now, there isn't a CLI frontend to add and remove schedules; you have to edit the `schedule` file inside `cache_dir` by yourself.\n\nThe syntax consists of the following:\n```\nsched \u003cday\u003e \u003ctime start\u003e \u003ctime end\u003e \u003cname\u003e [@category]\n```\n\n- The day is written as sun/mon/tue/wed/thu/fri/sat or ev for every day, wd for weekday, and we for weekend\n- The time start being the time where your activity starts\n- The time end being the time where your activity ends (use `%` for no end time)\n- The category is optional and starts with @.\n\nExamples:\n\n```bash\nsched sun \"08:00 AM\" \"09:00 AM\" \"Learn animation\" @blender\nsched ev \"09:10 AM\" \"10:00 AM\" \"Illustrate\" @illustration\nsched we \"01:00 PM\" \"03:00 PM\" \"Continue current project\"\n```\n\n\n# To-Do's (How Ironic)\n\n- [ ] Sort time on scheduling printing\n- [ ] To-dos sorting\n- [ ] To-dos progress?\n- [ ] Python rewrite 🌟 (is being worked on [here](https://github.com/ezntek/whow)!)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaringcuteseal%2Fwhow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaringcuteseal%2Fwhow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaringcuteseal%2Fwhow/lists"}