Название: Определение графической оболочки [Linux] Отправлено: ecspertiza от Июнь 07, 2012, 10:11 Можно ли средствами Qt определить в какой графической среде исполняется программа (Gnome,KDE,Unity) ? Может не средствами Qt, если можно то как ? Макроса на это дело чет не нашел. Хотя вообще сомневаюсь можно ли такое определить.
Название: Re: Определение графической оболочки [Linux] Отправлено: DmitryM от Июнь 07, 2012, 10:24 Тип оболочки записано в переменных окружения, поэтому qgetenv в помощь.
Название: Re: Определение графической оболочки [Linux] Отправлено: GreatSnake от Июнь 07, 2012, 10:31 Все определения есть в приватных классах Qt. Снаружи к ним не добраться.
Вот как сами тролли их определяют: Код Насчёт Unity ничего не скажу. Название: Re: Определение графической оболочки [Linux] Отправлено: ecspertiza от Июнь 07, 2012, 10:44 Спасибо за советы. У меня вот так получилось
Код
Название: Re: Определение графической оболочки [Linux] Отправлено: GreatSnake от Июнь 07, 2012, 10:49 Код: }else if (qgetenv("XDG_CURRENT_DESKTOP").toLower() == "kde") { Название: Re: Определение графической оболочки [Linux] Отправлено: ecspertiza от Июнь 07, 2012, 11:01 Тож заметил уже, решил потестить на разных платформах, на OpenSuSe мой метод не заработал, там вроде даже 4ые кеды стоят. Значит буду использовать метод который используется в Qt, думаю он уже не раз проверен :)
|