Задать вопрос
c3gdlk
@c3gdlk
Ментор в http://rubyboost.ru/

Приложение для отслеживания активных окон. Как написать?

Появилась идея сделать для себя небольшой аналог https://desktime.com/

Знаком только с вебом, что смотреть, читать, чтобы написать демон, который будет следить за активными окнами / процессами?

Интересует только под Ubuntu.
  • Вопрос задан
  • 654 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
XXXXPro
@XXXXPro
Fullstack Web developer
Список всех окон можно получить с помощью утилиты xwininfo (xwininfo -tree -root), текущее активное — сначала идентификатор через
xprop -root
Номер окна будет в самой первой строке такого вида:
_NET_ACTIVE_WINDOW(WINDOW): window id # 0x240000
Затем получить данные о самом окне:
xprop -id 0x2400004
Название приложения: _OB_APP_TITLE(UTF8_STRING)
Заголовок окна: _NET_WM_VISIBLE_NAME(UTF8_STRING) = "xxxxpro@ASUS-BASE: ~"
Соответственно, остается только написать скрипт на Perl (а можно и на Bash попробовать), который парсит выдачу и сохраняет необходимые данные в лог или базу.
Если очень хочется писать не скрипты, а полноценное C-приложение, то советую для начала изучить этот код.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
asilonos
@asilonos
Программист
А чем не подходит десктайм? Для себя бесплатно вроде. Ещё у staffcounter.net неплохой мониторинг активных окон для Ubuntu.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы