μNote lightweight note taking and todo app, gtk interface
- Dead-simple. Include features only which help productivity.
- no distracting features - let the user focus on the actual task, not on organizing his todo list all the day
- respecting the author's preferences
- mimic old-school paper-and-pen note taking process with the ease of search capability
- "Get Things Done" mindset
- based on plain text files - you can access your notes even without µNote: no vendor-lock
- optimized for keyboard
- task list
- task view
- search field
- quicksearch list
- Notes/Tasks
- each file is a note
- files loaded from a base directory recursively (default
~/Notes
, dot-folders ignored) - Title is the first line
- Created Date is file's atime (assuming a filesystem with the popular
noatime
mount option) - Updated Date is file's mtime
- Auto Save
- don't worry about saving often or where to save
- Software used to make user save his work; it was at a time when saving was an expensive operation and it was not affordable to save, say, after each typed word. But today it's feasible. Not only in programms with web frontend. µNote saves the note you're editing in every 5 sec. so if it crashes, only so little effort gets lost.
- preserves window layout, panel sizes, input fields' content, table columns' order, sort order, cursor position
- Tags
- any word starting with hashmark in the note's text, eg.
#grocery
is a tag - Tag Completion
- when you're typing a tag in the search box or in the task text, a list of options pops up
- walk on the list by Tab and Shift-Tab, choose one by Ctrl-Enter
- any word starting with hashmark in the note's text, eg.
- Note/Task Editor
- it does not want to be a rich text editor (more like a physical sticky note, but only text input a.t.m.)
- Text formatting
- head line is always big font
*bold*
→ boldred !!
→ red !!,text <!>
→ text <!> (the line is supposed to be in red for!!
)- `
inline code
` →inline code
(markdown-style triple-backtick also works for multiline code block) - lines get stroken through when you put some "conclusion marker" at the end, eg:
strike through ✓
→strike through✓strike through DONE
→strike throughDONEstrike through WONTFIX
→strike throughWONTFIX- markers:
✓
✔
✗
✘
DONE
WONTFIX
OBSOLETED
[DONE]
[WONTFIX]
[OBSOLETED]
http://link
→ http://link (for any url scheme)
date:YYYY-MM-DD
anddue:YYYY-MM-DD
keywords- entering
date:
ordue:
triggers a calendar widget to show up - date and due date are shown in the Task List table
- interpret date field by any sematics you like, eg. "when this task needs attention the soonest?"
- entering
- Undo stack
- limited not by the number of steps but by the memory size it takes to store diffs
- Note/Task List
- order by Title, Date, Due Date, Created Date, or Updated Date
- Search/Filter field
- search in notes' content
- narrow search (logical AND) :
#garden #water
- negation, everything after "NOT" or "!" are negative keywords:
#house #maintenance NOT #kitchen #bath
meaning "house and maintenance but not kitchen nor bath" - union two or more searches (logical OR) :
#garden, #house, #street
- narrow search (logical AND) :
- smart-case search, i.e. case-insensitive when the complete word is lower-case, otherwise search case-sensitively
- filters as you type
- hit Enter to put current search term in history,
- recall them with Ctrl-P and Ctrl-Shift-P
- search in notes' content
- Quick Search
- there is a list of saved search (filter) expressions
- you can organize it in tree, change order of items
- select multiple item to search notes which match all the filter expressions (Conjunct Search) or any of them (Union Search)
- useful to organize tasks in category/project/priority by their respecting tags
- Ctrl-Q Quit
- Ctrl-F, Ctrl-L Focus on search field
- Ctrl-T Focus on Task area
- Ctrl-S Save current search expression to the quick search list
- Ctrl-N New task
- Ctrl-Shift-L Change layout
- Mod1-Up, Mod1-Down Open prev/next task on the list
- Mod1-Left, Mod1-Right Open previously opened task, ie. walk back/forward in the history
- Ctrl-P, Ctrl-Shift-P Previous/Next search term
- Ctrl-B Bold selected text
- Ctrl-Z Undo
- Ctrl-Shift-Z, Ctrl-Y Redo
- Tab, Shift-Tab
- Indent/deindent selected text
- Select next/prev suggestion from the auto-completion list (standing on a tag)
- Ctrl-Enter
- Open link currently under the cursor
- Add tag currently under the cursor to the search field
- Ctrl-Shift-W Wrap text on/off
- Mod1-T Insert today's date
See editable property files in ~/.config/unote/prop
.
You may edit them while unote is not running.
- python-gtk2 (AKA pygtk)
- python modules
- xdg
- dateutil
- xattr
- inotifyx (python-inotify support is on branch)
See python2.7 + python3.6 multiport on 'py3' branch. It's unstable yet due to missing GTK+2.0 support.
Please submit issues via PR to some file issue/TITLE.txt
.