#0029 Простая напоминалка на Linux

13-окт-2014г.


Для людей, которые работают в офисе с персональным компьютером — бухгалтеров, инженеров, секретарей, менеджеров, специалистов, экспертов, начальников структурных подразделений и тем более директоров — сегодня обычным делом является сопровождать решение нескольких вопросов одновременно.

К примеру, звонит клиент и просит внести изменения в договор. Ты кладешь трубку — и тут звонит твой коллега и просит тебя направить ему давно забытый материал, который нужно еще постараться отыскать. Не успеваешь ты договорить с коллегой, как звонит на сотовый директор и просит составить ему небольшой отчет. А ведь до этого ты занимался своим вопросом! Нужно всё запомнить, ничего не упустить! Типичная ситуация, не правда ли?

Для того, чтобы все успевать в таких ситуациях, поможет простая напоминалка. Но что такое простая напоминалка? Каковы критерии ее простоты?

Для меня «простой напоминалкой» является та, которая действует по следующему принципу:

• Открываешь диалоговое окно напоминалки горячей клавишей (ну, или сочетанием клавиш, например Ctrl+Shift+X)
• Вводишь время и текст напоминания простыми понятными словами (например, «через 15 минут скинуть Алексею материал», «в 11 отчет директору», «в 13-15 обед», «завтра в 15:10 проследить за письмом», «в среду в 10 в налоговую»)
• Нажимаешь Enter.
• В заданное время выскакивает напоминалка, которую можно закрыть или отложить.

Лучшим, как мне кажется, решением такой задачи является программа XMinder. Наверное, если бы я писал техническое задание на разработку простой напоминалки, она бы выглядела именно как XMinder. Этой программой я пользовался долгое время, пока однажды не решил установить на рабочем компьютере операционную систему Linux (к сожалению, программа XMinder написана только под Windows).

Потеря такой замечательной напоминалки была существенной, необходимо было находить выход и… я решил написать программу сам.

Ранее я имел небольшой опыт написания программ в html, php, actionscript (flash). Однако для такой задачи решил выбрать связку Python+Bash+Zenity+At. Почему Python? — Потому что по нему нашлась хорошая документация, потому что по умолчанию он установлен в моем дистрибутиве Linux Mint 17. Уже после первых шагов осваивания нового языка я понимал, что решение задачи мне будет посильно. Почему Bash? — Это отдельная история и связана она с функцией «Отложить» в моей напоминалке. Почему Zenity? — Потому что просто, лаконично и опять же — встроено по умолчанию в большинство дистрибутивов LInux. Почему At? — Так ведь именно эта программа всю задачу и решает! И умеет хранит данные даже после перезагрузки компьютера!

Таким образом, я только собрал в единое целое пару программ и добавил нужный синтаксис. Файлы нужно положить в одну директорию (у меня это ~/remindme) и сделать исполняемыми (например командой «chmod +x»). На файл remind.py необходимо назначать горячие клавиши (в разных дистрибутивах это делается по-разному), например, сочетание клавиш Ctrl+Shift+X.

Файлы для скачивания доступны по ссылке.

стр.44


Список