Как реализовать получение информации от программ
Чтобы понятнее представлять, что я имею ввиду, приведу пример. Медиаплеер воспроизводит по очереди файлы из папки. Требуется получить информацию о текущем воспроизводимом файле. Да, можно просто посмотреть в заголовок или в терминал, но, допустим, мне нужна информация в текстовом виде, чтобы ее анализировать и применять в дальнешем. Мне представляются такие варианты:
- реализовать простой цикл, который будет парсить вывод (не оптимально с т.з. ресурсов, если цикл быстро обновляется и таких циклов несколько, а если медленно, то информация может оказаться не актуальной),
- реализовать через внесение правок в исходник (не всегда возможно из-за незнания яп),
- использовать систему сигналов, как это реализовано в i3blocks (как там реализовано я на самом деле не знаю, просто в кач-ве примера),
- использовать некий хук, который будет посылать необходимую информацию и который можно будет применять к разным программам.
Если то, что в п.4 и п.5 уже где-то реализовано и может быть применено без лишнего красноглазия, дайте знать. Если нет, то интересуюсь, что из этого проще реализовать (п.1 не в счет) если не знаешь япов, на которых написаны приложения, от которых требуется подобная информация.
Пока читал, что написал, вспомнил про trap. Может оно и подойдет.