>некастрированные ОЧЕНЬ неудобныУдобны, только их должны делать умные люди. Проектирование графического интерфейса - это искусство. Подчас не менее трудное и важное, чем проектирование, скажем, ядра ОС. Только труЪ-программисты его часто презирают, а поскольку в опенсорсном мире большинство именно таких, то и GUI никакие.
Правильный GUI никогда не должен показывать ВСЕ настройки. Он должен показывать только РЕЛЕВАНТНЫЕ настройки. А не как это делает xine-ui. Например:
1.Какого *** я вижу вкладки с надписями "Для выбранного уровня опытности здесь нет настроек"? Такие вкладки надо просто скрывать, не засорять ими экран!
2.Какого *** переключатели и флажки имеют названия типа playlist_audio_reload или a52.dynamic_range? А вся информация указана в заголовке панели, в которой отображается соответствующий флажок? Ну вот чего надо выкурить, чтобы так сделать?
3.Зачем копировать GUI с набора консольных опций? Консоль - отдельно, GUI отдельно. GUI может быть враппером для консольной утилиты, но это не значит, что надо тупо сделать поля с названиями опций из командной строки и позволить пользователю вписать туда значения. Такой интерфейс должен быть спроектирован так, как будто это совершенно отдельная программа с своей логикой настроек, а потом уже она должна приводить свои настройки к настройкам backend'а.
xine-ui плох не потому, что он "некастрированный", а потому, что он плохо сделан, неразумно. Помимо индусского кода бывают индусские интерфейсы. Это надо помнить и таких интерфейсов не делать. И это _трудная_ задача.