Я взломал код для Xournal, чтобы добавить функцию автосохранения. Моя первоначальная реализация была очень глупой: каждые 60 секунд делать сохранения. Функция якобы работает.
Однако после некоторого тестирования я заметил, что при запуске автосохранения приложение временно зависает, что довольно раздражает, если вы находитесь в середине хода пера. Я пытаюсь выяснить, как это исправить.
Одна возможность, о которой я подумал, заключается в том, чтобы автосохранение проверяло, касается ли перо экрана, перед автосохранением; если к нему прикоснуться, прикрепите одноразовый обратный вызов, запланированный на секунду после подъема пера. (если происходит то же самое, повторите). Другой возможностью было бы оптимизировать функцию сохранения в достаточной степени, чтобы не было пропуска (кажется маловероятным).
У кого-нибудь есть предложения по этому поводу? Xournal использует инструментарий Gnome / GTK и написан на C.
Обновление: Я реализовал логику анти-клоббера, и я очень доволен получающейся гранулярностью и производительностью автосохранения. Одна из тех времен темы (к счастью) не нужна! Спасибо всем за ваши предложения.