Force Mendeley Desktop GTK тема

Некоторое время я пытался установить тему GTK для настольного пользовательского интерфейса Mendeley, но безуспешно. Причина, по которой я хочу это сделать, заключается в том, что я использую темную тему , и что Менделей не читается (темный шрифт на темном bg) с этой темой. Двумя соответствующими источниками информации, которые я использую, являются здесь и здесь .

Они оба в основном говорят, что вызов исполняемого файла подобным образом

$ GTK_THEME=MyFancyTheme my_stubborn_app

должен переопределить тему GTK по умолчанию для текущего пользователя, и что постоянные изменения темы могут быть интегрированы в .../share/my_stubborn_app.desktop с помощью изменение строки EXEC:

Exec=env GTK_THEME=MyFancyTheme /path/to/my_stubborn_app %u

Ни один из этих методов не работает в моем случае. Особые особенности настольного пользовательского интерфейса Mendeley в Ubuntu (Trusty Tahr 14.04, Mendeley UI v1.14 в моем случае):

  • Он поставляется в виде отдельного пакета со своими собственными bin и share и lib папки, и он использует Qt.
  • Фактический двоичный файл находится в lib/mendeleydesktop/libexec/mendeleydesktop.x86_64 (для Ubuntu 64 бита), но не может быть вызван напрямую, потому что он требует переменных среды, определенных скриптом python bin/mendeleydesktop.
  • Файл mendeleydesktop.desktop (который позволяет иметь значок в панели запуска Unity) перезаписывается bin/install-mendeley-link-handler.sh каждый раз, когда вызывается bin/mendeleydesktop.
  • Этот mendeleydesktop.desktop файл создан / перезаписан в $HOME/.local/share/applications.

Я до сих пор редактировал bin/install-mendeley-link-handler.sh так, чтобы файл .desktop, перезаписываемый при каждом вызове, включал измененную строку Exec=env GTK_THEME.... Это не похоже на работу. Кто-нибудь может помочь?

4
задан 13 April 2017 в 15:25

4 ответа

Мне наконец удалось сделать его, хотя это чувствует себя немного неуклюжим. В следующем:

  • $MENDELEY_FOLDER папка Mendeley,
  • $CURRENT_GTK_THEME название темы GTK, которую Вы в настоящее время используете
  • $MENDELEY_GTK_THEME название темы, которую требуется использовать с Mendeley

Примечание: Для получения названия темы, которую Вы в настоящее время используете ввести gsettings get org.gnome.desktop.interface gtk-theme в терминале. Хорошая тема для использования с Mendeley Ambiance.

Создайте новый каталог тем

Мы по существу обманем Mendeley в размышление, что корневая папка тем GTK где-то в другом месте.

mkdir $MENDELEY_FOLDER/share/themes/
ln -s  /usr/share/themes/$MENDELEY_GTK_THEME  $MENDELEY_FOLDER/share/themes/$CURRENT_GTK_THEME

Измените сценарий install-mendeley-link-handler.sh

Это должно быть расположено в $MENDELEY_FOLDER/bin/install-mendeley-link-handler.sh. Необходимо отредактировать строки, которые перезаписывают файл mendeleydesktop.desktop, в моем случае:

cat > $DESKTOP_PATH/mendeleydesktop.desktop <<EOF
[Desktop Entry]
Name=Mendeley Desktop
GenericName=Research Paper Manager
Comment=Mendeley Desktop is software for managing and sharing research papers
Exec=env GTK_DATA_PREFIX=$MENDELEY_FOLDER $MENDELEYDESKTOP_BIN %u
Icon=mendeleydesktop
Terminal=false
Type=Application
Categories=Education;Literature;Qt;
X-SuSE-translate=false;
MimeType=x-scheme-handler/mendeley;application/pdf;text/x-bibtex;
X-Mendeley-Version=1
EOF

Заметьте изменение в Exec=... строка.

Создайте новый mendeley исполняемый файл

Везде, где Вы сохраняете свои локальные двоичные файлы (например, $HOME/local/bin), создайте новый файл mendeley со следующим:

GTK_DATA_PREFIX=$MENDELEY_FOLDER \
    $MENDELEY_FOLDER/bin/mendeleydesktop

Затем сделайте это исполняемым файлом путем выполнения chmod +x mendeley, и выполненный это для обновления mendeleydesktop.desktop файл.

Если Вы установили Mendeley в масштабе всей системы

Последний шаг незначительно отличается в этом сценарий в масштабе всей системы (скорее всего, расположенный в /opt/mendeleydesktop) на самом деле создает ссылку на mendeleydesktop исполняемый файл в $HOME/.local/share, и именно это предыдущий сценарий должен назвать вместо этого.

Применение тех изменений в значке Unity

Файл для редактирования должен быть /usr/share/applications/mendeleydesktop.desktop. В этом файле необходимо изменить Exec строка как ранее, путем добавления префикса вызова определение GTK_DATA_PREFIX. Это должно добиться цели :)

3
ответ дан 14 April 2017 в 01:25
  • 1
    я думаю, что код в порядке. И я установил jupyter тот же путь. но почему я получаю эту ошибку, когда я уже установил matplotlib...?? (ImportError: Никакой модуль, названный " matplotlib") – Stap Denisov 23 November 2016 в 06:21

Я хотел бы добавить ответ, который работал хорошо на меня на kde плазме (manjaro Linux). Это не требует никаких прав администратора.

отказ от ответственности: только протестированный однажды в моей системе 04.12.2018 с Mendeley 1.19,
команды ниже и результаты могут меняться в зависимости от другого DE и/или ОС или другой версии Mendeley.

  1. создайте пустую папку, например.
    mkdir $HOME/.config.theme_override.
  2. символьная ссылка Ваш Mendeley конфигурируется к новой папке:
    ln -s "$HOME/.config/Mendeley Ltd." "$HOME/.config.theme_override/Mendeley Ltd."
  3. запустите mendeleydesktop с использования командной строки:
    XDG_CONFIG_HOME="$HOME/.config.theme_override" mendeleydesktop

Затем mendeley будет искать плазменные настройки темы в $HOME/.config.theme_override, это не найдет темы и отступит к читаемой яркой теме.

Теперь настольная запись:

  1. удостоверьтесь, что mendeley закрывается
  2. отредактируйте файл $HOME/.local/share/applications/mendeleydesktop.desktop быть похожими (**) ниже
  3. удалите разрешение записи из .desktop файл:
    chmod -w $HOME/.local/share/applications/mendeleydesktop.desktop
  4. запустите mendeleydesktop со средства запуска приложения и пристально посмотрите на ясный и читаемый интерфейс.

Несколько примечаний/понимания для помощи будущим детективам:

  • Папка конфигурации Mendeley по умолчанию $HOME/.config/Mendeley Ltd., изменение Вашей папки конфигурации не изменяется, где база данных Mendeley расположена ($HOME/.local/share/data/Mendeley Ltd.).
  • Mendeley также хранит некоторые данные в $HOME/.local/share/Mendeley Ltd. и $HOME/.cache/Mendeley Ltd., изменение папки конфигурации не изменяется, где Mendeley ищет эти папки. Похоже, что эти папки могут быть удалены без риска, и Mendeley восстановит их автоматически. Если материал выше не работает на изменение темы, то, возможно, удаление этих папок может помочь, но я не уверен, продолжаю двигаться на Ваш собственный риск.
  • Каждый раз, когда Mendeley запускается, скрипт запущен для переопределения .desktop файл, который является файлом, который составляет шоу mendeley в меню приложения и средствах запуска. Это, почему нам был нужен шаг (3). выше. Этот файл расположен в: $HOME/.local/share/applications/mendeleydesktop.desktop, это выполнит файл $HOME/.local/share/mendeleydesktop, который по умолчанию является symlinked к /opt/mendeleydesktop/bin/mendeleydesktop. Не спрашивайте меня, почему разработчики Mendeley выбрали эту сложную установку.

(** содержание $HOME/.local/share/applications/mendeleydesktop.desktop)

[Desktop Entry]
Name=Mendeley Desktop
GenericName=Research Paper Manager
Comment=Mendeley Desktop is software for managing and sharing research papers
Exec=env XDG_CONFIG_HOME="$HOME/.config.theme_override" $HOME/.local/share/mendeleydesktop %f
Icon=mendeleydesktop
Terminal=false
Type=Application
Categories=Education;Literature;Qt;
X-SuSE-translate=false
MimeType=x-scheme-handler/mendeley;application/pdf;text/x-bibtex;
X-Mendeley-Version=1
1
ответ дан 17 April 2019 в 18:47

Я сделал это немного по-другому. Мой стиль KDE Plasma был установлен как Breeze Dark с некоторыми пользовательскими настройками размера шрифта. Я хотел, чтобы mendeleydesktop использовал все эти настройки размера шрифта, но не настройки темного цвета.

Как было предложено в сообщениях выше, я создал пустую папку:

mkdir $HOME/.config.theme_override

Затем я запускаю

XDG_CONFIG_HOME="$HOME/.config.theme_override" mendeleydesktop

...чтобы посмотреть, какие папки он будет использовать по умолчанию в своей папке конфигурации. Оказалось, что в моем случае mendeleydesktop создал три новые папки в $HOME/.config.theme_override:

libreoffice  'Mendeley Ltd.'   pulse

Я удалил эти новые папки:

rmdir libreoffice

rmdir 'Mendeley Ltd.'

rmdir pulse

и заменил их симлинками на соответствующие старые папки в $HOME/.config:

ln -s "$HOME/.config/Mendeley Ltd." "$HOME/.config.theme_override/Mendeley Ltd."

ln -s "$HOME/.config/libreoffice" "$HOME/.config.theme_override/libreoffice"

ln -s "$HOME/.config/pulse" "$HOME/.config.theme_override/pulse"

Затем я скопировал файл kdeglobals из $HOME/.config в $HOME/ .config.theme_override:

cp $HOME/.config/kdeglobals $HOME/.config.theme_override/

Наконец, я удалил все разделы о цветах из $HOME/.config.theme_override/kdeglobals:

[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0

[Colors:Button]
BackgroundAlternate=77,77,77
BackgroundNormal=49,54,59
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=189,195,199
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=239,240,241
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:Complementary]
BackgroundAlternate=59,64,69
BackgroundNormal=49,54,59
DecorationFocus=30,146,255
DecorationHover=61,174,230
ForegroundActive=246,116,0
ForegroundInactive=175,176,179
ForegroundLink=61,174,230
ForegroundNegative=237,21,21
ForegroundNeutral=201,206,59
ForegroundNormal=239,240,241
ForegroundPositive=17,209,22
ForegroundVisited=61,174,230

[Colors:Selection]
BackgroundAlternate=29,153,243
BackgroundNormal=61,174,233
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=252,252,252
ForegroundInactive=239,240,241
ForegroundLink=253,188,75
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=239,240,241
ForegroundPositive=39,174,96
ForegroundVisited=189,195,199

[Colors:Tooltip]
BackgroundAlternate=77,77,77
BackgroundNormal=49,54,59
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=189,195,199
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=239,240,241
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:View]
BackgroundAlternate=49,54,59
BackgroundNormal=35,38,41
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=189,195,199
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=239,240,241
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

[Colors:Window]
BackgroundAlternate=77,77,77
BackgroundNormal=49,54,59
DecorationFocus=61,174,233
DecorationHover=61,174,233
ForegroundActive=61,174,233
ForegroundInactive=189,195,199
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=239,240,241
ForegroundPositive=39,174,96
ForegroundVisited=127,140,141

После удаления вышеуказанных разделов mendeleydesktop использует свои собственные цвета. и не цвета стиля KDE Plasma, но он использует все остальные настройки стиля из $HOME/.config.theme_override/kdeglobals.

0
ответ дан 2 April 2020 в 22:08

Небольшое обновление здесь: Решение для быстрого обновления для чтения в темном режиме в Ubuntu теперь использует Gnome Extension Inverted Color.

enter image description here

Затем вы можете переключать экран приложения между темным и светлым с помощью Super + I

enter image description here

0
ответ дан 22 January 2021 в 07:54

Другие вопросы по тегам:

Похожие вопросы: