A simple, fast, and intuitive Terminal User Interface (TUI) for Google Tasks.
- View your Google Tasks directly in the terminal
- Add new tasks and lists.
- Mark tasks as complete.
- Rename tasks and lists.
- Switch between your task lists.
- Add due dates, notes, or subtasks
- Vim-style keybindings for navigation.
-
Install via pip:
pip install tasks-tui-app
-
Clone the repository (optional, for development):
git clone https://github.com/your-username/Gtask.git cd Gtask -
Install the dependencies (if cloning for development):
pip install -r requirements.txt
-
Enable the Google Tasks API Guide
- Go to the Google API Console.
- Create a new project.
- Enable the Google Tasks API for your project.
- Create an OAuth 2.0 Client ID for a Desktop application.
- Download the JSON file and rename it to
client_secrets.json. - Place the
client_secrets.jsonfile in the ~/.gtask.
To run the application, use the following command:
tasks-tui| Key | Action |
|---|---|
q |
Quit application |
w |
Write and Sync |
↑ / k |
Move selection up |
↓ / j |
Move selection down |
← / h |
Exit selection |
→ / l |
Enter selection |
o |
Open new selection |
d |
Delete selection |
r |
Rename selection |
c |
Toggle task completion |
a |
Add due date |
i |
Insert/view task note |
p |
Paste from buffer |
? |
Toggle Help |
| Symbol | Meaning |
|---|---|
[ ] |
Task needs action |
[X] |
Task completed |
('Task Counts') |
Count of tasks/subtasks within (subtasks of subtasks do not display in web Google Tasks) |
When you run the application for the first time, it will open a web browser and ask you to authorize the application to access your Google Tasks. After you authorize the application, it will create a token.json file in the ~/.gtask directory. This file contains your access and refresh tokens, so you won't have to authorize the application every time you run it. (Occasionally your token might become expire, so just delete token.json from ~/.gtask and rerun the application to reauthenticate!)
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.