Coder Social home page Coder Social logo

autolyticus / nzb Goto Github PK

View Code? Open in Web Editor NEW
38.0 4.0 4.0 380 KB

Get Things Done® with nzb, a beautiful terminal interface for Nozbe. Inspired by Wunderline

License: MIT License

Rust 100.00%
todo gtd nozbe nzb productivity cli linux rust api-client

nzb's Introduction

Nzb

crates.io crates.io Build Status made-with-rust

A beautiful CLI front-end for Nozbe written in Rust.

The core functionality of the excellent Wunderline app for Wunderlist is already present.

What is Nozbe?

Nozbe is an amazing to-do list and task management system that follows the Getting Things Done (GTD)® philosophy. The basic idea is to have an Inbox where you simply fill ideas and tasks as you get them throughout the day. Tasks in the Inbox are further processed based on their priority and urgency, and then finally, executed.

Nozbe has pretty good apps for web, desktop and mobile. However, I found all these quite lacking in terms of speed and usability. The overhead of switching between my projects to find the certain task I wanted to mark as done was a bit too much to handle. So I took some inspiration from the Wunderline app, and made this!

Features

  • Extremely usable interface

  • Takes literally 10 seconds to set up

  • Add tasks to your Nozbe inbox in 2 seconds flat

  • Mark multiple tasks as done, or star them, with Fuzzy Search. All in a couple of jiffies! Made possible by the skim library

  • Conky integration for printing a nice summary (an Android widget but for your desktop)

nzb-conky-screenshot-of-desktop

Usage

$ nzb help
Nozbe front-end written in Rust.

Usage:
  nzb [options] [<command> [<args>...]]
  nzb -h | --help
  nzb --version

Options:
  -a <token> --auth=<token>    Specify an alternate Nozbe authentication token (Refer Nozbe API Documentation)
                               (Note: The default authentication token is at $HOME/.local/.nozbe_token)
  -h --help                    Show this screen
  -V --version                 Show version

Commands:
  add <name>                   Add a task to your Nozbe Inbox
  all                          View all of your tasks (This is the default action)
  cat <category>               View all tasks in a category
  conky                        A conky-friendly, colourful summary of all your tasks
  done                         Mark task(s) as done with fuzzy search
  help                         Show this screen
  inbox                        View your inbox
  link <link>                  Add a link to your inbox (adds a comment with link)
  list [<list>...]             Show specific lists
  login                        Login to Nozbe
  now | priority | starred     View starred tasks
  open                         Open Nozbe in your browser
  overdue                      View tasks that are overdue
  star                         Star task(s) with fuzzy search
  today                        View tasks that are due today
  unstar                       Unstar task(s) with fuzzy search

Logging in

To start using nzb please run nzb login and follow the instructions.

Adding tasks

Simply run nzb add <task title>

gif of add feature

Starring/Unstarring/Marking tasks as done

Running nzb <star|unstar|done> [query] opens a fuzzy search window with all the tasks that match the optional query. Multi-select tasks with Tab and select any one with Enter.

gif of done feature

Click on the link above to see a demo.

Conky integration

In your conky.conf, find the conky.text section. add

${texecpi 60 nzb conky}

where 60 is how often(in seconds) you want the view to be updated.

Installation

From Binaries

Binary releases can be found at the Releases page. Select the version number, click the download icon and download linux-x86_64 artifacts. Unzip artifacts.zip to obtain your binary at target/release/nzb.

Note: Currently only linux-x86_64 is supported: macOS users can install from cargo or from source; support for Windows is unlikely due to a dependency on termion. PRs are highly appreciated for getting it working on Windows.

Arch Linux (From AUR)

Use your favourite AUR Helper and install nzb-bin

yay -S nzb-bin

From Crates.io

cargo install nzb

From Source

git clone https://gitlab.com/reisub0/nzb
cargo install --path nzb

License

Nzb is licensed under the MIT License.

nzb's People

Contributors

autolyticus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

nzb's Issues

skim causes build errors

rustc 1.49.0-nightly (7bade6ef7 2020-10-23)

for some reason it happens only with cargo install
building from source works ok

error[E0277]: ColorWrapper doesn't implement std::fmt::Debug
--> /home/esavier/.cargo/registry/src/github.com-1ecc6299db9ec823/skim-0.5.5/src/curses.rs:804:6
|
804 | impl color::Color for ColorWrapper {
| ^^^^^^^^^^^^ ColorWrapper cannot be formatted using {:?}
|
::: /home/esavier/.cargo/registry/src/github.com-1ecc6299db9ec823/termion-1.5.5/src/color.rs:25:18
|
25 | pub trait Color: Debug {
| ----- required by this bound in Color
|
= help: the trait std::fmt::Debug is not implemented for ColorWrapper
= note: add #[derive(Debug)] or manually implement std::fmt::Debug

error[E0277]: ColorWrapper doesn't implement std::fmt::Debug
--> /home/esavier/.cargo/registry/src/github.com-1ecc6299db9ec823/skim-0.5.5/src/curses.rs:813:10
|
813 | impl<'a> color::Color for &'a ColorWrapper {
| ^^^^^^^^^^^^ ColorWrapper cannot be formatted using {:?}
|
::: /home/esavier/.cargo/registry/src/github.com-1ecc6299db9ec823/termion-1.5.5/src/color.rs:25:18
|
25 | pub trait Color: Debug {
| ----- required by this bound in Color
|
= help: the trait std::fmt::Debug is not implemented for ColorWrapper
= note: add #[derive(Debug)] or manually implement std::fmt::Debug
= note: required because of the requirements on the impl of std::fmt::Debug for &'a ColorWrapper

error: aborting due to 2 previous errors

For more information about this error, try rustc --explain E0277.
error: could not compile skim

To learn more, run the command again with --verbose.
warning: build failed, waiting for other jobs to finish...
error: failed to compile nzb v0.5.3, intermediate artifacts can be found at /tmp/cargo-installn41s8x

Caused by:
build failed

Open sponsorship

Hi!
I love this project. Be so kind and allow Sponsorship for it.
Thanks.

Feature Request - Move to project

I have been using nzb for the last two days and it has helped me a lot in getting things done.

The only thing that I have to go to the webapp is for moving items from the Inbox to specific lists. It will be a handy feature if we could move items from Inbox to any other specific project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.