ToDo-софт на Линуксе и Geany

Меня давно занимала эта проблема, составить списочек дел и вычеркивать по мере выполнения. Что может быть проще? А фиг-то там. На Линуксе такого нет. Есть какие-то страшные черные пещерно-командные линейно-терминальные кирпично-убогие программы или наоборот хитро-заумные облако-хранимые репозиторий-недоступные китайце-разработанные спамер-привлекательные хер знает что, но чтоб всё ЦРУ знало, чем я занимаюсь. Идите вы в жопу.

Я просто взял мой Geany и на Debian 9 нарисовал простой файл todo.sh.

Вот такая болванка в стиле sh.

Оранжевая верхушка открывается и закрывается. Выполненное задание отмечается датой в начале строки. Важный текст выделяется одинарными кавычками и становится оранжевым. Важное задание помечается буквой # в начале строки и становится красным. Выполненные задания перемешаются в верхнюю часть путем сортировки линий.

Выполненные задания в закрытом положении.
Зеленая дата для выполненного задания уже поставлена, но линии еще не отсортированы.

Линии сортируются отдельным скриптом todo_sort.sh с содержимым

#!/bin/bash
sed '/^$/d' | sort

Или вот мой более элегантный сортировальный скрипт, который я написал сам на Питоне 2.7:

#!/usr/bin/python2.7

import fileinput, re

a=''
b=''
top=[]
bottom=[]

for line in fileinput.input():
	line=line.strip()

	if len(a)==0:
		if line.find('{') == 0:
			a=line
			line=''

	if len(b)==0:
		if len(line) - line.rfind('}') == 1:
			b=line
			line=''

	x = re.search("^[0-9]{4}-", line)
	
	if x != None:
		top.append(line)

	else:
		if len(line)>0:
			bottom.append(line)
			


top.sort()
bottom.sort()
print a

for x in top:
	print x

print b

for x in bottom:
	print x

Скрипт помешается в меню Edit > Format > Send Selection to > Set Custom Command

и запускается клавишной комбинацией Ctrl-1.

Формат даты меняются в меню Edit > Insert Date > Set Custom Date Format. Я поставил %Y-%m-%d %H:%M. Он так лучше сортируется в алфавитном порядке, а дата в текст вставляется комбинацией Shift-Alt-D.

Еще можно ставить маркеры, но они после сортировки исчезают.

Маркеры и кнопка «Открыть/Закрыть» запоминаются после сохранения и переоткрытия файла. Но для этого надо поставить плагины Auto-close и Numbered Bookmarks:

sudo apt-get install geany-plugin-autoclose geany-plugin-numberedbookmarks

Еще у меня на Geany есть проверка орфографии, как русской, так и английской. Куда уж без нее?

sudo apt-get install aspell aspell-en aspell-ru
sudo apt-get install geany-plugin-spellcheck

А запускается мой ToDo лончером с рабочего стола.

todo.desktop

[Desktop Entry]
Type=Application
Icon=/opt/img/todo.png
Name[en_US]=ToDo
Exec=geany /home/alex/todo.sh