Skip to content

bAndie91/unote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

unote

μNote lightweight note taking and todo app, gtk interface

Goals

  • 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

Parts

  • task list
  • task view
  • search field
  • quicksearch list

Features

  • 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
  • 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*bold
      • red !!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 DONEstrike through DONE
        • strike through WONTFIXstrike through WONTFIX
        • markers: DONE WONTFIX OBSOLETED [DONE] [WONTFIX] [OBSOLETED]
      • http://linkhttp://link (for any url scheme)
    • date:YYYY-MM-DD and due:YYYY-MM-DD keywords
      • entering date: or due: 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?"
    • 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
    • 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
  • 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

Keybinding

  • 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

Editor Keybinding

  • 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

Files

See editable property files in ~/.config/unote/prop. You may edit them while unote is not running.

Dependencies

  • 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.

issues

Please submit issues via PR to some file issue/TITLE.txt.

About

μnote lightweight note taking and todo app, gtk interface

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published