LibreOffice игнорирует режим внешнего вида, но учитывает переменную окружения GTK_THEME.

Вопрос или проблема

Неважно, какой режим внешнего вида я выбираю в диалоговом окне параметров, LibreOffice всегда будет работать в светлом режиме:

LibreOffice работает в светлом режиме, несмотря на то, что режим внешнего вида установлен на "Темный"

Однако, когда я устанавливаю переменную окружения GTK_THEME на Adwaita:dark, LibreOffice будет работать в темном режиме (GTK_THEME=Adwaita:dark libreoffice):

LibreOffice работает в темном режиме

Похоже, что что-то имеет приоритет над установкой режима внешнего вида в диалоговом окне параметров, но переменная окружения GTK_THEME в свою очередь имеет приоритет над этим.

У кого-нибудь есть идеи, что может заставлять LibreOffice работать в светлом режиме, несмотря на то, что режим внешнего вида установлен на Темный?

Это происходит на свежей установке Debian testing / Wayland / Gnome с включенным темным режимом.

Я могу воспроизвести ситуацию, когда LibreOffice не применяет предпочтение темы, если для устаревших приложений (gtk3) установлена темная тема.

Чтобы проверить, способствует ли это возникшей проблеме, выполните:

gsettings get org.gnome.desktop.interface gtk-theme

и, если она установлена на “Adwaita-dark”, установите пустое значение или “Adwaita”:

gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'

затем Libreoffice (проверено в версии 25.2+ в Debian unstable / GNOME 48) по крайней мере будет казаться, что применяет выбранную тему после перезапуска (или в случае Adwaita светлого падет обратно на установленное значение gtk3).

Я не могу ответить, что конкретно вызывает такое поведение в исходном коде LO (предполагаю, что в vcl/unx/gtk3/custom-theme.cxx, так как gtk_css_provider_new() считывает установку gtk3), проблема отслеживается в ошибке#153841 и подтверждена другими пользователями.

В настоящее время (в версии 25.2+) введена новая система оформления. В лучшем случае рефакторинг также решит проблему наследования gtk-темы после его выпуска.

Как последнее средство можно навсегда переопределить запускающие приложения, это легко сделать с некоторыми предосторожностями (внутри sed выберите “Adwaita” или “Adwaita:dark”):

mkdir -p ~/.local/share/applications
rm -f ~/.local/share/applications/libreoffice-*
find /usr/share/applications/ -iname '*libreoffice*' -exec cp {} ~/.local/share/applications/ \;
for f in ~/.local/share/applications/libreoffice-*; do sed -i 's|Exec=libreoffice|Exec=env GTK_THEME=Adwaita libreoffice|g' $f; done

Ответ или решение

Проблема, описанная в вашем тексте, связана с неправильной интерпретацией режимов внешнего вида LibreOffice в среде Gnome на платформе Wayland в Debian. При этом изменение внешнего вида через интерфейс настроек в LibreOffice не оказывает ожидаемого влияния на режим отображения программы, что вызывает удивление и вопросы у пользователей. Интересен тот факт, что установка переменной окружения GTK_THEME позволяет преодолеть эту проблему и определить режим внешнего вида, например, переключить интерфейс в тёмный режим с помощью команды GTK_THEME=Adwaita:dark libreoffice.

Теоретическая основа:

Суть проблемы лежит в тесной интеграции приложений на базе GTK с настройками окружения, в частности, темами оболочки. В системах, использующих Gnome и Wayland, тема оформления определяется на нескольких уровнях. Она включает в себя настройки как для GTK3, так и для других инструментов интерфейса пользователя. Переменные окружения, такие как GTK_THEME, имеют приоритет над системными настройками тем, поскольку они явно указывают приложению, какую тему применять.

Пример:

Для подробного исследования данной проблемы можно начать с изучения текущих настроек темы GTK в вашей системе. Это можно сделать с помощью команды:

gsettings get org.gnome.desktop.interface gtk-theme

Если эта команда показывает, что установлена тема "Adwaita-dark" для GTK, вы можете попробовать изменить её на "Adwaita", выполнив следующую команду:

gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita'

После этого необходимо перезагрузить LibreOffice, чтобы проверить, будет ли использоваться указанный режим.

Применение на практике:

На практике решение этой проблемы может потребовать временных обходных решений, особенно если улучшения в исходном коде LibreOffice ещё не интегрированы в используемую вами версию программы. Однако есть несколько стратегий, которые вы можете использовать:

  1. Использование переменной окружения GTK_THEME: Можно вручную установить тёмную тему при запуске LibreOffice, добавив следующую строку к команде запуска программы:

    GTK_THEME=Adwaita:dark libreoffice
  2. Постоянная настройка запуска:
    Для автоматизации вышеописанного подхода возможно создать пользовательские ярлыки для LibreOffice. Это можно сделать путем копирования файлов .desktop в вашу локальную папку приложений и изменения команды запуска:

    mkdir -p ~/.local/share/applications
    rm -f ~/.local/share/applications/libreoffice-*
    find /usr/share/applications/ -iname '*libreoffice*' -exec cp {} ~/.local/share/applications/ \;
    for f in ~/.local/share/applications/libreoffice-*; do sed -i 's|Exec=libreoffice|Exec=env GTK_THEME=Adwaita libreoffice|g' $f; done
  3. Обновление и отслеживание новых версий и исправлений:
    Следует быть в курсе обновлений LibreOffice, так как разработчики активно работают над улучшением пользовательского опыта и устранением подобных проблем. Можно следить за статусом задачи в трекере ошибок LibreOffice, связанной с этой проблемой, по ссылке: bug#153841.

  4. Тестовая настройка GTK3:
    Иногда настройка внешнего вида для других приложений GTK3 может повлиять на поведение LibreOffice. Если ваше окружение использует это, проверьте его настройки и попробуйте сбросить или установить тему по умолчанию вручную.

Таким образом, ваши действия могут варьироваться от простой настройки переменной окружения до более сложных процедур с изменением конфигурационных файлов. Однако, это временные решения, и наилучшим вариантом будет дождаться внедрения обновлений от разработчиков LibreOffice, которые учитывают эти аспекты при разработке и тестировании новых версий. Это позволит обеспечить более устойчивую и пользовательски дружественную интеграцию приложения в vaše рабочее окружение.

Оцените материал
Добавить комментарий

Капча загружается...