polybar-todoist
This script uses the official Todoist API to indicate the number of tasks of each priority level.
By default only tasks with a set 'due date' which is equal to the current date are taken into account. (but you can easily change that)
Installation
- Download polybar-todoist.py from this repo.
- Install the official Todoist Python Module. (e.g. with
pip install todoist-python
) - Configure the API Token retrieval.
- Copy-paste the following example configuration into your polybar config:
[module/todoist] type = custom/script exec = python -u /path/to/polybar-todoist.py tail = true click-left = xdg-open https://todoist.com
API Token retrieval
To get your Todoist tasks, the python module uses the Todoist API. For this an API Token is required. You can get one yourself in the Todoist Integrations Settings. (Todoist -> Settings -> Integrations)
Now the tricky part is how the polybar-todoist.py
script gets access to your API token. For this, the script implements a api_token()
function.
You are required to implement this method such that it returns your API token.
The simplest way would be to hard-code it into the script (i.e. return <YOUR_API_TOKEN>
), but I do not recommend this.
Rather query it from your password manager / keyring or read it from an external file.
(By default it asks GNOME Keyring for a password with the uuid todoist_api_token
. So if you use GNOME Keyring you can just execute
secret-tool store --label='Todoist API Token' uuid todoist_api_token
and type in your API Token. Then it works out of the box.)
Customization
The code is very short and simple. You can easily customize output style, task filter, and so on.