rodo/README.md

5.8 KiB

rodo

A simple todo list tool for people who live on the command-line

Screenshot

New things added!

Now the default directory and todo list file have better default permissions:

  • ~/.rodo/ is set to 700 by default
  • ~/.rodo/todo.txt is set to 600 by default.

Todos

  • Really weird bug to solve: ~/.rodo/todo.txt's file permissions change from rw------- to rw-rw-r-- or rw-rw-rw after being modified
    • For example, run the following to set 600 file permissions:
    (file-or-directory-permissions "/home/username/.rodo/todo.txt" #o600)
    
    • Check the file permissions with ls -l
    • Run the following to modify the file:
    (display-to-file "this is a test" "/home/username/.rodo/todo.txt" #:mode 'text #:exists 'replace)
    
    • Check the file permissions with ls -l to see that they have changed to either rw-rw-r-- or rw-rw-rw
    • So far, the only solution I know of would be to do:
    (begin
      (display-to-file "this is a test" "/home/username/.rodo/todo.txt" #:mode 'text #:exists 'replace)
        (file-or-directory-permissions "/home/username/.rodo/todo.txt" #o600))
    
  • Add color option to config.rkt file
  • Encrypt todo.txt file
  • Add note on .bash_history about items being added here before going into the todo.txt file

Table of Contents

Platforms

Below is a list of platform(s) that rodo is currently available for.

  • GNU/Linux

Requirements

Below is a list of items needed for running rodo on your machine.

Downloading

Currently, there are two options for downloading the source code. Choose one from the list below:

Option one: Via Git

Follow the steps below to download rodo using the git command.

  1. Ensure git is installed
  2. Run git clone https://github.com/m455/rodo on the command line

Option two: Via GitHub on a web browser

Follow the steps below to download rodo from your web browser.

  1. Click the Clone or download button at the top of this page
  2. Click Download ZIP from the drop-down list

Setup

Follow the sections below to set up rodo, so it can be used from anywhere on your system.

Tip: If you just want to test rodo out, then just cd into the directory you downloaded rodo into, and then run ./rodo.rkt.

GNU/Linux

Follow the sections below to add rodo to your $PATH, if you are using GNU/Linux.

Set up a $PATH

Follow the steps below if you haven't set up a $PATH.

Tip: If you have set up a $PATH already, then skip to the next step, Adding rodo to your $PATH.

  1. Create a directory for your $PATH by running mkdir ~/bin/
  2. Add your newly-created ~/bin/ to your $PATH by running echo "export PATH=~/bin:\$PATH" >> .bashrc

Adding rodo to your $PATH

Follow the steps below to add the rodo.rkt file to your $PATH.

Tip: If you prefer to use an executable, rather than a wrapper (see the note after step one below to see what a "wrapper" is), you can create an executable binary file with raco exe rodo.rkt when in the same folder as the rodo.rkt file. If you are having trouble with the raco exe command, refer to Racket's documentation regarding the creation of standalone executables.

  1. Create a file in your ~/bin/ directory with the following contents in it:
#!/usr/bin/env bash
racket ~/path/to/rodo.rkt "$@"

Note: The file created above is called a "wrapper". This is a script that runs the rodo.rkt file through the Racket interpreter. If you wish to directly run rodo as an executable from your $PATH, see the tip above

For example: If you downloaded the project to your ~/downloads/ folder you would change the line racket ~/path/to/rodo.rkt "$@" to racket ~/downloads/rodo/rodo.rkt "$@".

  1. Save the file

  2. Make the file executable by running chmod u+x ~/bin/name-of-your-file

Usage

Type rodo plus one of the commands below with a space between rodo and the command.

init - Initializes a file called todo.txt in ~/.rodo/ by default

Note: The directory and filename can be changed by modifying the config.rkt file

ls - Displays items from the todo list in a vertical format

add - Adds an entry to the todo list

rm - Removes an item from the todo list

Note: You may have to run rodo ls to see which number corresponds to which item when removing items.

Usage examples

The examples below assume that you have rodo set up in your $PATH in your $PATH

rodo init

rodo ls

rodo add "go to the park"

Note: If you leave out the double quotation marks here, only the first word will be added. In the example above, only "go" would be added to the list.

rodo rm 1

Configuring rodo

Caution: Change the config.rkt file at your own risk, as it may break things!

Right now, the configurations can be found in the config.rkt file. Settings, such as the program name, directory, and the filename of the todo list file can be changed.