Подруги и друзья!
У меня когда-то давно был свой проект менеджера заметок: https://www.google.com/search?channel=crow5&q=notefinder site:linux.org.ru
Раньше это было Python/Qt4. Это еще в школьные годы было. Потом началась работа. Утекло лет десять...
И вот мне снова захотелось удобного управления заметками, потому что в ~/Notes уже какой-то хаос.
Сейчас в связи со спецификой работы мне проще делать на C/GTK+, и, надо сказать, я был худшего мнения о GTK+ – мне понравилось в итоге писать. Я не хочу переизобретать классные виджеты, поэтому будет зависимость от libadwaita. Из прочих ожидаемых зависимостей: pcre2, openssl, libcurl (для синхронизации с webdav).
Я бы написал подробно, но, увы, времени нет, поэтому ниже мой Brainstorm.txt. Буду очень рад любым пожеланиям и запросам!
gforgx@shinjitsu ~ % cat Notes/Brainstorm
* No different types of notes
** Conception: plain text based note-taking
*** Keep database as sqlite file, include md5 of first N bytes which will allow to detect renamed files and update JSON meta
** Ability to attach preset fields to notes, store them in JSON format as ".My note.json" in same directory (i. e., turn a note into a task with due date)
*** For macOS (and elsewhere possible) use OS/file system tags (https://stackoverflow.com/questions/19720376/how-can-i-add-os-x-tags-to-files-programmatically)
*** Keep JSON pretty
*** Can be extended with loadable plugins
* Consider the possibility of having multiple notebooks (but name them just directories, i. e., notebook name is directory path)
** For now allow only one notebook aka directory
* Architecture
** Multiple processes (watcher, webdav, timer), two-threaded ui process (main loop and ipc receiver thread)
* Plugins
** Regex search (pcre2)
* Organizational
** Review other note-taking and task management application weekly