/todoist-linux

The Linux wrapper for Todoist web version. Unofficial!

Primary LanguageJavaScriptMIT LicenseMIT

AUR Version GitHub top language License

This app is just an Electron wrapper for Todoist's web version.

This app works with both Windows and Linux.

Project is Archived

I don't have time to support it anymore plus Todoist guys released an official Linux App. Feel free to fork the repo or contact me for any questions.

Thanks to all the contributors who helped me to support this app. Love you!

Link to Official Linux app

Doist recently released the official app as a snap package. Visit this page to install the Official Todoist app.

Installation

Arch Linux

The package is available in AUR. You can install it with:

trizen -S todoist-electron

Thanks to @HadiLatifi for help with the AUR package.

Gentoo Linux

To emerge ebuild in first you should add this overlay to repos.conf, sync and after it you'll be able to do it.

P.S. The original version of the ebuild was taken from here, but unfortunately, it's for the old version and I've modified it a bit for the newer version.

NOTE: For security issues, I recommend you mask all packages (*/*::<overlay_name>) and unmask only net-im/todoist-bin.

Other systems

  1. Go to Releases page and get the RPM/DEB/EXE package.

  2. Most of the time, a simple double-click on the downloaded package should start its installation (use shell commands otherwise).

Alternatively, you can also download the todoist-linux.zip package from Releases page that can run on any Linux distro.

Keyboard Shortcuts

  • Ctrl + Alt + A - Quickly add a Task

  • Ctrl + Alt + Q - Show or Hide Todoist window

  • Ctrl + Alt + R - Refresh Todoist window content

  • Alt + F4 - Quit Todoist

  • F11 - Toggle Full-screen view

  • Any other possible shortcuts are available and usable directly from within the app itself.

Global shortcuts are configurable via $XDG_CONFIG_HOME/.todoist-linux.json file (which is located in ~/.config by default). The file is simple JSON with descriptive keys and values that represents shortcuts and their keybindings.

Use this page from Electron docs to get a better understanding of what other modifiers (keys) exist that you can use.

Additional Configuration

Same config file .todoist-linux.json has other options to configure the app:

  • tray-icon - tray icon to use. Possible options: icon.png, icon_monochrome.png, null (to hide tray icon completely)
  • minimize-to-tray - default is true. When window is minimized it goes to the tray.
  • close-to-tray - default is true. When window is closed the app is minimized to the tray.
  • start-in-tray - default is false. App is started in tray.

Why?

The main reason I don't like having the Todoist web version opened is that I can't easily Alt + Tab to it.

And I also really wanted to have global keyboard shortcuts, so I can quickly add a task to Todoist.

The initial inspiration I took from this brilliant project of the same web version. Unfortunately, it doesn't seem to be maintained anymore and has some issues with Tray functionality on latest Ubuntu.

Build Instructions

The build process is simple:

  1. Clone the repo using:

    git clone https://github.com/krydos/todoist-linux
  2. Ensure NPM is installed with:

    sudo apt-get install npm
  3. Install other project dependencies by running the following command in the project root directory:

    make env
  4. Now, to run the app, you can run the following command in the project root directory (or npm run start in the src directory).

    make up

Building Packages

After making your changes, you can simply use any of the below commands to build 64-bit distribution packages.

make build-rpm # builds RPM packages for Fedora/CentOS/RHEL/SuSE
make build-deb # builds Debian packages for Debian/Ubuntu
make build-pacman # builds PACMAN packages for Arch/Manjaro
make build-win # builds Windows EXE
make build-linux # builds both Debian and RPM packages
make build-all # builds all packages

Contributing

No rules for contributing. Just send a pull request. :)