вторник, 13 марта 2007 г.

OSD Desktop

Еще один пост, который давно откладываю (уже годы). Вобщем, я записал ролик о том, как мой десктоп выглядит (640x480 10fps 2mb или 1024x768 10fps 6mb). Идея сделать его OSD'ным витала в воздухе задолго до того, как я написал первые строки кода. В результате эволюции десктопа, я привык работать в полноэкранном режиме. Часики, измерители и прочие пищали быстро сгинули с моего рабочего стола. И несмотря на то, что я оказался в мире без уведомлений, я был счастлив. И тогда OSD пришло ко мне как решение удержать программы в полноэкранном режиме и в то же время быть в курсе событий. Используя python и библиотеку OSD для него, я написал демона событий. Демон читает строки из файла ~/log/events и парсит их согласно шаблонам:
  • string - добавляет строку в список отображаемых строк.
  • [][][]\d\d\d\d: string - тоже самое, что и в предыдущем случае, но отображает строку заданное количество мс.
  • \d\d\:\d\d:\d\d: string - тоже, что и первый случай, но с датой. Дата не отображается на экране.
  • \d\d\:\d\d:\d\d: [][][]\d\d\d\d: string - тоже, что и второй случай, но с комментарием из третьего случая.
    После этого пришло время реализовать программы, которые писали бы в файл ~/log/events. Первой такой программой стала aktimelog, которая пишет события о текущем времени каждые 25 минут. Еще сделал: плагин для irssi, чтобы видеть публичные сообщения, приватные или и то и то, мониторить переключение раскладки клавиатуры, переключение рабочих столов, уведомления о почте, уведомления шела. Так же стоит сказать, что переключение рабочих столов происходит по шоткатам. Например, если вы нажимаете MOD-E, то в дополнение к переключению, ion3 проверяет а запущен ли emacs, и если не запущен и вы подтвердите запуск, то запускает его. Я обычно знаю, куда хочу переключиться, поэтому не трачу время на бег по списку программ или тыкание на тулбар (как это делают виндузятники и прочие линуксойды). Итого, MOD-e для emacs, MOD-p -- revelation, MOD-c -- eclipse, MOD-b -- browser, MOD-1 -- первый терминал, MOD-2 -- второй терминал... и тд. Вот так устроен мой десктоп. А ваш как? :)

    Исходники.
  • 1 комментарий: