A beautiful (thanks to tui.rs) command line app to keep you from forgetting!! forget
uses termion for rendering as such it is cross platform (fonts may differ). forget
is highly
customizable, key bindings, colors, icons, text and titles. forget
's configuration and "database" files will save
to $HOME/.forget/ this is where the config file can be edited. forget
is a multi-threaded application the
UI event loop and input loop each run on a separate thread as well as any command spawned, everything is cleaned up
when the main thread exits.
forget
keeps track of adding and removing sticky notes, sticky note items (todos), and editing the items that have
been created. Along with each sticky note item a command can be run when the item is selected (press Enter while highlighted)
this will run in a separate process and will not affect the UI.
cargo install forget
forget
In order to navigate around forget
:
- up arrow & down arrow
- selects item or question.
- left arrow & right arrow
- selects "tab" or Sticky Note.
- backspace
- cross an item off without removing it.
- delete
- remove an item.
- ctrl-h
- add new sticky note.
- ctrl-n
- add new todo item to current sticky note.
- ctrl-e
- edit currently selected todo item of current sticky note.
- ctrl-k
- add new note to current sticky note.
- ctrl-u
- removes current sticky note.
- ctrl-s
- save everything to "data base".
Everything is customizable with the ./.forget/config.json
file unfortunately spelling
and capitalization matter.
Note: Ctrl-j, Ctrl-i and Ctrl-m are all highjacked by bash to be output as different characters
DO NOT USE THEM FOR KEY MAPPINGS.
{
"title": "Forget It",
"new_sticky_note_char_ctrl": "h",
"new_note_char_ctrl": "k",
"new_todo_char_ctrl": "n",
"edit_todo_char_ctrl": "e",
"mark_done": "Backspace",
"remove_todo": "Delete",
"remove_sticky_note_char_ctrl": "u",
"save_state_to_db_char_ctrl": "s",
"exit_key_char_ctrl": "q",
"highlight_string": "✔️",
"command_string": "💾",
"app_colors": {
"normal": {
"fg": "White",
"bg": "Reset",
"modifier": "RESET"
},
"highlight": {
"fg": "Yellow",
"bg": "Reset",
"modifier": "BOLD"
},
"tabs": {
"fg": "Cyan",
"bg": "Reset",
"modifier": "BOLD"
},
"titles": {
"fg": "Red",
"bg": "Reset",
"modifier": "BOLD"
},
"text": {
"fg": "Green",
"bg": "Reset",
"modifier": "UNDERLINED"
}
}
}
Options are listed below.
When changing any of these care must be taken to match capitalization and spelling.
All Valid Utf-8 single character byte sequences.
Backspace Left Right Up Down Home End PageUp PageDown BackTab Delete Insert F(u8) Null Esc
Reset, Black, Red, Green, Yellow, Blue, Magenta, Cyan, Gray, DarkGray, LightRed, LightGreen, LightYellow, LightBlue, LightMagenta, LightCyan, White, Rgb(u8, u8, u8), Indexed(u8),
BOLD DIM ITALIC UNDERLINED SLOW_BLINK RAPID_BLINK REVERSED HIDDEN CROSSED_OUT RESET
Any valid Utf-8 characters will work.
Licensed under either of Apache License, Version 2.0 or MIT license at your option.Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.