LINUX.ORG.RU

TQt игнорирует настройки стиля отображения

 , ,


0

1

Всем здравствуйте.

Есть установленное окружение TDE (14-й версии для Debian 10, но это несущественно).

В настройках (tqtconfig) выбираю произвольный стиль оформления – от Asteroid до dotNET. Сам tqtconfig немедленно меняет свой внешний вид.

А вот произвольные прикладные программы (напр., /opt/trinity/bin/konsole) упрямо отображаются в стиле Plastik.

Удаление глобальных настроек в /etc/tqt3 не помогает.

В файлах ~/.qt/qtrc и ~/.qt/tqt_plugins_3.5rc никакого криминала нет.

Частичный вывод strace konsole:

[pid 17777] openat(AT_FDCWD, "/home/bass/.qt/qtrc", O_RDONLY) = 6
[pid 17777] read(6, "[3.3]\nlibraryPath=/usr/lib/trini"..., 4096) = 1039
[pid 17777] openat(AT_FDCWD, "/opt/trinity/share/locale/ru/LC_MESSAGES/tdelibs.mo", O_RDONLY) = 11
[pid 17777] openat(AT_FDCWD, "/opt/trinity/lib/trinity/plugins/styles", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 11
[pid 17777] openat(AT_FDCWD, "/opt/trinity/lib/trinity/plugins/styles", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 11
[pid 17777] openat(AT_FDCWD, "/home/bass/.qt/tqt_plugins_3.5rc", O_RDONLY) = 12
[pid 17777] read(12, "[opt]\ntrinity/lib/trinity/plugin"..., 4096) = 1696
[pid 17777] openat(AT_FDCWD, "/opt/trinity/lib/trinity/plugins/styles/plastik.so", O_RDONLY|O_CLOEXEC) = 11
[pid 17777] openat(AT_FDCWD, "/home/bass/.qt/qtrc", O_RDONLY) = 12
[pid 17777] read(12, "[3.3]\nlibraryPath=/usr/lib/trini"..., 4096) = 1039

И, что характерно, на соседней машине с ровно теми же версиями ПО всё прекрасно.

ЧЯДНТ?

★★★★★

tqtconfig меняет внешний вид только програм на чистом (T)Qt.

Для TDE програм нужно идти в Центр управления (kcontrol):

Внешний вид > Стиль

pericles ★★
()
Последнее исправление: pericles (всего исправлений: 1)
Ответ на: комментарий от pericles

Отлично, спасибо.

Внешний вид > Стиль

Кстати, изменения в kcontrol (конкретно в этом месте) на деле таки лишь меняют ~/.qt/qtrc.

Теперь новая проблема: при полностью установленном TDE kcontrol показывает пустую иерархию настроек (см. снимок).

Удаление ~/.trinity, опять же, ничего не меняет.

Bass ★★★★★
() автор топика
Последнее исправление: Bass (всего исправлений: 2)
Ответ на: комментарий от Bass

Я кажется вижу WindowMaker? т.е. не родная сессия. Вот и причина – некоторые компоненты видимо не загружены, для устранения см. https://wiki.trinitydesktop.org/Tips_And_Tricks#Use_another_window_manager_with_TDE , конкретно #2 или #3.

pericles ★★
()
Последнее исправление: pericles (всего исправлений: 1)
Ответ на: комментарий от pericles

Это факинг поразительно!

Действительно, на одной машине я в кач-ве эксперимента однажды запускал starttde, а на другой (текущей) никогда.

После однократного запуска TDE его родные приложения таки начинают читать пользовательские ~/.qt/qtrc, причём теперь уже совершенно неважно, запущен ли какой-л. window manager вообще (стили оформления начинают учитываться, даже если программа – напр., konsole – запущена удалённо через SSH X11 forwarding).

Но, чёрт побери, это совершенно не согласуется с поведением приложений из современного (да, пожалуй, и старых) KDE.

Напр., я никогда в жизни не запускал startkde (кажется, «плазмы» у меня даже просто нет), но тому же konsole (можно установить при наличии Qt5 и kdelibs) для настройки стиля оформления достаточно лишь переменных QT_QPA_PLATFORMTHEME и/или QT_STYLE_OVERRIDE.

В общем, чувак, спасибо тебе.

Bass ★★★★★
() автор топика
Ответ на: комментарий от Bass

настройки стиля оформления достаточно лишь переменных QT_QPA_PLATFORMTHEME и/или QT_STYLE_OVERRIDE.

Кстати, стиль оформления и другие параметры можно также задать параметрами запуска. Например, konsole --style motif запускает konsole со стилем Motif. Список параметров можно посмотреть с помощью konsole --help-qt.

После однократного запуска TDE его родные приложения таки начинают читать пользовательские ~/.qt/qtrc,

Странно, у меня ~/.qt/qtrc и вовсе пустой файл, и ничего, всё работает.

pericles ★★
()
Последнее исправление: pericles (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.