Вынес таблицу распределения по категориям в отдельный конфигурационный файл.
Пока что его расположение жестко прописано в исходнике: /home/live/.jwm/jwmtst.conf
В нем сейчас записано то же самое, что раньше было в самом исходнике, так что на выходе ничего поменяться не должно.
Время выполнения тоже заметно не поменялось, Так что все то же самое, но изменить вид меню можно без перекомпиляции.
Формат файла, думаю, из примера понятен: с Name= начинается следующая категория, остальные ключевые слова относятся к ней, до следующего Name=
Неопознанные строки игнорируются, так что пустые строки и комментарии на отдельных строках писать можно.
Разбор пока самый примитивный, поэтому при ошибках в конфиге программа может падать, помаленьку доработаю в плане обработки таких ситуаций.
Выложено на
https://github.com/andreyrogojin/menu