Как заставить тему Adwaita Dark применяться только к определенным приложениям?

Возможно ли применить тему Adwaita Dark только к некоторым приложениям?

Я хочу включить его для терминала и, возможно, для Nautilus, но не для других приложений, потому что Opera и Центр программного обеспечения и, возможно, другие приложения, не относящиеся к GTK, выглядят ужасно / нечитаемыми с темой Adwaita Dark.

4
задан 27 February 2012 в 16:59

2 ответа

Нет, тема предназначена для целых приложений, но некоторые приложения, такие как monodevelop, позволяют выбрать для нее определенную тему (она применима и для некоторых java-приложений)

0
ответ дан 27 February 2012 в 16:59

Для приложений GTK2 способ сделать это был относительно простым. Вы можете запустить приложение gtk2 с пользовательской темой, например:

GTK2_RC_FILES=(path-to-theme) (command)

. Так, например, это сработало:

GTK2_RC_FILES=/usr/share/themes/Redmond/gtk-2.0/gtkrc catfish

(Catfish - это приложение, которое я знаю как gtk2 - возможно, он не установлен.)

К сожалению, эта функция полностью отсутствовала в GTK3. Я не могу гарантировать, что это будет работать отлично, но вы можете попробовать создать простые сценарии оболочки, которые настраивают тему, запускают приложение, а затем отменяют настройку темы. Если вы запустите два приложения одновременно, это приведет к состоянию гонки с непредсказуемым результатом.

Так, например, вы можете запустить gedit следующим образом:

#!/bin/sh
if [ -h ~/.config/gtk-3.0 ]
  then
    rm ~/.config/gtk-3.0
fi
ln -s /usr/share/themes/HighContrast/gtk-3.0 ~/.config
gedit "$@" &
sleep 1
if [ -h ~/.config/gtk-3.0 ]
  then
    rm ~/.config/gtk-3.0
fi

Помимо состояния расы, выполнение этого имеет некоторые другие нежелательные побочные эффекты. Во-первых, вы будете использовать больше памяти для каждого приложения, которое имеет свою тему. Во-вторых, вам придется писать собственные сценарии оболочки и средства запуска для каждого приложения. Наконец, на мой взгляд, ваш рабочий стол будет выглядеть странно.

1110 Но есть. Вот как вы можете это сделать.

0
ответ дан 27 February 2012 в 16:59

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

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