Sash0k писал(а):Тестировал в GNOME и OpenBox + LXDE. WM не определяется нигде (запускал от обычного пользователя, а не от рута).
Это плохо. Сейчас
WM определяется через атом
WM_S0. Т.е., ищется соотв. атом, потом выясняется окно-хозяин данного атома. Метод работает для
XFCE4/XFWM4 (моей рабочей среды). Видимо, он (метод) не является универсальным. Или в нем есть ошибки. Придётся перейти на сканирование списка задач, что, вообще говоря, не хотелось бы делать. В ближайшее время я подготовлю соотв. бинарник. С выводом дебагерской информации. Просьба протестировать его для того, чтобы я понимал, куда грести.
Моей главной идеей является работа через
API. Т.е., через вызовы функций, а не через сканирование конфигурационных файлов. Практически нигде в коде программы конфигурационные файлы не сканируются. На текущий момент анализируются лишь
/etc/mtab, несколько файлов из
/proc и из
/sys. Ни
/etc/fstab, ни
/etc/X11/xorg.conf не сканируются и не будут сканироваться.
Планы по разработке такие:
- закончить класс, работающий с информацией от X11. Возможно, будет создана еще одна закладка - Keyboard/Mouse.
- закончить класс-анализатор Window Manager с получением версий WM. Я сознательно не буду вызывать WM с опцией --version и парсить output.
- написать класс для получения информации от ALSA (через API).
Stable версия
SysInfo for Linux будет опубликована на
домашней странице проекта по мере готовности всего вышеперечисленного. Следующий шаг - страничка
Network и работа по анализу сетевой конфигурации.