All Projects → kevinjalbert → todoist-shortcuts-nativefier

kevinjalbert / todoist-shortcuts-nativefier

Licence: MIT license
Todoist via nativefier with todoist-shortcuts and badge count support

Programming Languages

javascript
184084 projects - #8 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to todoist-shortcuts-nativefier

todoist-export
Backup tool for Todoist
Stars: ✭ 135 (+486.96%)
Mutual labels:  todoist
Fool
Simple Russian voice assistant based on Android Things and Raspberry Pi 3
Stars: ✭ 26 (+13.04%)
Mutual labels:  todoist
todoist bot
@Todoist_bot for Telegram (UNofficial)
Stars: ✭ 35 (+52.17%)
Mutual labels:  todoist
taskbutler
Create and add progress bars, Office365 Files and Dropbox Paper papers by labels and link them to your Todoist tasks.
Stars: ✭ 44 (+91.3%)
Mutual labels:  todoist
obsidian-todoist-plugin
Materialize Todoist tasks in Obsidian notes
Stars: ✭ 521 (+2165.22%)
Mutual labels:  todoist
todoist-linux
Todoist for Linux
Stars: ✭ 32 (+39.13%)
Mutual labels:  todoist
ProtonClient
An unofficial desktop client for ProtonMail done with electron nativefier
Stars: ✭ 50 (+117.39%)
Mutual labels:  nativefier
PSTodoist
A powershell module for todoist
Stars: ✭ 18 (-21.74%)
Mutual labels:  todoist
N1TodoistIntegration
✔️ Todoist Integration for Nylas N1
Stars: ✭ 22 (-4.35%)
Mutual labels:  todoist

Todoist Shortcuts Nativefier

Why?

Todoist is a powerful todo-list and task manager. It offers a MacOS Application, which provides a dedicated application that has a quick task adding feature. The only issue is that Todoist doesn't have strong keyboard navigation and shortcuts. Enter todoist-shortcuts which is a browser extension that adds these missing functionalities to the web client. Unfortunately, there is no way to get this extension in the native application...

How?

This project uses nativefier to create a desktop application wrapping the web client. As part of this process, it is possible to inject custom JavaScript to be executed within the newly created application.

This allows us to inject the todoist-shortcuts source code into the application providing the desktop application with keyboard shortcuts and navigation.

The badge count didn't work (i.e., number of tasks in Today) so additional JavaScript was needed to propagate the count of tasks into the title of the window. With the task count in the title of the window, nativefier can pick it up and display the application with a proper badge count (and bounce on changes).

Unfortunately, nativefier has an issue with injecting multiple JavaScript files. As a workaround, we concatenate the JavaScript into one file before injecting it (which fortunately works with the JavaScript we have).

Usage

First, you install the dependencies: npm install

Then, we build the application: npm run buildApplication

Workflow using Both Applications

I personally renamed the original application to Todoist-native so the new application can be moved over to the application directory with no conflicts. I kept the original application as I still like the quick task adding feature. I hid the original application in the tray and prevent any notifications from appearing.

These changes then allow me to use the new application as my main Todoist application while retaining the quick task adding feature of the original application.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/todoist-shortcuts-nativefier/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].