Вот.
Заодно изучил наиважнейшую вещь - как виджету заблокировать приём сигнала самому себе (а потом разблокировать), дабы не впадать в пароксизм саморефлексии при попытке самому себе нажать на кнопку, например. То есть - получить результат, а не выпасть в корку. Нет ничего проще, как оказалось.
Заодно вспомнил древний API работы с каталогами - ибо я не знаю других способов узнать, чо у нас из нужных дивайсов в компе есть, кроме как посмотреть в содержимое каталога
/dev/
и отфильтровать (тупейшим способом - сравнением строк!) по шаблону. Заодно ещё изобрёл (и щас кто-то будет гыгыкать) ручную уборку мусора. Достопочтимый язык Цэ ведь не умеет убирать мусор, и ежели мы сначала навыделяем памяти, а потом вдруг потеряем на неё ссылку, то быть беде. Вот, собсно, пришлось придумать локальное решение для такой проблемы: сначала динамически составляется список найденных устройств, отображается, а потом... потом виджет удаляется, но он же знать не знает, что нужно тот список-то почистить. Но ничего, нам не привыкать - сделал структуру-коллекцию ссылок на динамически создаваемые объекты и, когда надо их уничтожить, аккуратно прохожу специальной функцией по всем полям этой структуры. Работает, чо. Коряво, по-индийски, но работает. А чтобы потом самому понять, что это за хрень -- оставил в коде комментарии :)Завтра-послезавтра таки возьмусь (наверное) за работу с терминалом. Придётся вспомнить, как работать с тредами... ничё, полезная практика.
Интересно, можно ли создать окно "без ничего", чтобы у него не было ни заголовка, ни бордюра? Никак не соображу, как попроще сделать такую штуку: при клике на ячейку в многостолбцовом списке (который GTK_CLIST) надо иметь возможность редактировать содержимое ячейки. Т.е. я могу получить данные о том, куда пользователь ткнул мышкой - строка/столбец, что там в ячейке лежит - но чтобы отредактировать содержимое, нужно создать что-то вроде бы однострочного entry. Теоретически, опять же, вполне реально к требуемые ячейки вместо текста сразу entry и запихивать, но как-то это чересчур громоздко...