Ошибка в GraphicsMagick

обнаружилась тут давеча омерзительная вещь, при создании скриншотов gm import начисто игнорирует опцию -frame, и вообще не желает включать обрамление окон в скриншот. причем гадость эта проявляется только при выборе окна мышью. если явно указывать id, к примеру предварительно узнав его через xwininfo -frame, все делается корректно.

пришлось лезть в исходники. сначала я грешил на некорректную работу XQueryTree, но потом все оказалось значительно тривиальнее. классический use after free при разборе данной опции.

Продовжити читання “Ошибка в GraphicsMagick”

Временные метки при логировании

захотелось странного – меток времени в .xsession-errors. обычно этот файлик создается простым редиректом всего выхлопа через exec > blah-blah 2>&1. а далее в ход идет bash-евская магия с сопроцессами. в результате команда приобрела следующий вид

exec > >(while read ln ; do echo "[$(date)] : $ln" >> "${TMPDIR:-/tmp}/xsession-errors.$USER" ; done) 2>&1

дальше можно уже изгаляться как угодно, фильтры там добавить, чтобы лишнее отсеять ну или кто во что горазд

по хорошему, вместо дерганья внешней date надо бы написать свою командочку для вывода, благо последние версии bash (4.4) это позволяют. но это уже как-нибудь в другой раз