Куда перенесена конфигурация стиля GTK3 терминала gnome в Ubuntu 16.04?

12

В Ubuntu 14.04 я мог стилизовать внешний вид терминала gnome и его вкладок, создав файл

/home/$user/.config/gtk-3.0/gtk.css

и вставив в него код CSS, например

    TerminalWindow .notebook tab.top:active{
      padding: 0;
      border-image: none;
      background-color: #555;
    }
    [...]

Теперь в Ubuntu 16.04 это никак не влияет на внешний вид терминала gnome.
Как я могу изменить внешний вид терминала gnome в Ubuntu 16.04?

the_velour_fog
источник
Не могли бы вы назвать название темы gtk3, которую вы используете? Если вы пробовали разные темы gtk3, какие это? Причина, по которой я спрашиваю, подсказана
DK Bose
Кстати, существует довольно много различий в «gtk3» при переходе с 14.04 (gtk 3.10) на 16.04 (gtk 3.18).
ДК Бозе
@DKBose это тема по умолчанию. Я пытался установить тему один раз за последние 6 лет, и в течение нескольких часов - система полностью заблокирована, нет ничего. Что удивительно, что изменение некоторых значков и косметических предметов может привести к катастрофическому отказу системы. Я хотел бы думать, что это не тема, но я не хочу рисковать снова!
the_velour_fog
@DKBose, если вы ознакомились с тем, что я установил тему, которая якобы сломала мою систему, была numix GTK, кажется, у вас другой вопрос, который вы тоже пробовали?
the_velour_fog
ИМО, с тобой может быть безопаснее всего adwaita. Он поставляется с любым дистрибутивом GNOME. По умолчанию тема угадывает Ambiance. Атмосфера в 16.04 все еще старая, поэтому вы сможете редактировать вещи просто в отличие от проблемы с Numix, которую я описал. Если вы не можете, это просто означает, что разработчики GNOME что-то жестко запрограммировали :(
DK Bose

Ответы:

3

Это работает для меня:

/* gnome-terminal */
@define-color terminal_bg #300a24;

TerminalScreen {
    -TerminalScreen-background-darkness: 0.95;
    background-color: @terminal_bg;
    color: #fff;
}

TerminalScreenContainer .scrollbar:hover:not(.slider),
TerminalScreenContainer .scrollbar.dragging:not(.slider) {
    background-color: alpha(@scrollbar_track_color, 0.4);
}

/* Since .hovering class is not working here, we always
 use the same radius */
TerminalScreenContainer .scrollbar.slider.hovering,
TerminalScreenContainer .scrollbar.slider.dragging {
    border-radius: 1px;
}

TerminalScreenContainer .scrollbar {
    background-color: transparent;
}

TerminalWindow .notebook tab:active {
    padding: 0;
    border: none;
    background-color: #222;
}

Код, который я добавил, находится внизу. Файл я редактировал это ~/.themes/ORIG-Ambiance/gtk-3.0/apps/gnome-terminal.css.

Примечания:

  • Я просто скопировал папку Ambiance/usr/share/themes и переименовал ее, чтобы при редактировании файла мне не нужно было использовать повышенные привилегии.

  • Я обнаружил, что использование #555затрудняет просмотр текста на вкладке.

  • Я также изменил, selected_fg_colorчтобы быть уверенным в том, какая тема является какой, и поэтому полоса прокрутки не оранжевая;)

гном-терминал

Д. К. Бозе
источник
1
Ух ты, хорошая работа! В настоящее время я работаю над настройкой параметров терминала gnome с помощью программы gsettings gnome 3. Однажды я попробую ваш код и сообщу, как все прошло!
the_velour_fog
Я пробовал то, что вы показали, и ничего не делал, мне просто интересно, как вы применили эти изменения? Добавив всю эту структуру папок, вы по существу создали новую тему? Если это так, значит ли это, что вам нужно применять тему таким же образом, как вы примените, например, тему, например, Numixс помощью инструмента настройки, и выберите новую тему в ORIG-Ambianceраскрывающемся меню и перезапустите приложение, gnome или сеанс пользователя?
the_velour_fog
Я думаю, что вы можете сделать именно то, что я сделал, но с /usr/share/themes/Ambiance/gtk-3.0/apps/gnome-terminal.css. Таким образом, вам не нужно будет переключаться между темами. Конечно, вам нужно использовать sudo nanoили все, что вы используете для редактирования системных файлов. И резервная копия была бы хорошей идеей. Я использую сеанс Openbox в Lubuntu, и мне не нужно устанавливать специальные инструменты для смены тем. У меня просто есть список тем ~/.config/gtk-3.0/settings.iniсо всеми, кроме одной, закомментированной. Изменение тем на уровне пользователя - это всего лишь вопрос редактирования этого файла.
ДК Бозе
Для общесистемных изменений соответствующий файл находится в /etc/gtk-3.0/.
ДК Бозе
1
Благодарю. - upvote - даже если он не решает проблему напрямую, он все же получил хорошую информацию о том, как модифицировать GTK. Я посмотрю и дам вам знать, если это работает. спасибо
the_velour_fog
1

Выход из системы / закрытие всех моих программ и повторный вход в систему применили тематику.
Ссылка на GTK API для GtkCssProvider (нестабильная версия dev - я не могу найти эквивалентные разделы для stable) объясняет / подтверждает, как GTK будет читать код CSS для темы при запуске:

Приложение может заставить GTK + проанализировать конкретную таблицу стилей CSS, вызвав gtk_css_provider_load_from_file () и добавив провайдера с помощью gtk_style_context_add_provider () или gtk_style_context_add_provider_for_screen ().
Кроме того, некоторые файлы будут прочитаны при инициализации GTK +. Сначала загружается файл $ XDG_CONFIG_HOME / gtk-3.0 / gtk.css, если он существует.
Затем GTK + пытается загрузить $ HOME / .themes / theme-name / gtk-3.0 / gtk.css, возвращаясь к datadir / share / themes / theme-name / gtk-3.0 / gtk.css, где находится theme-name имя текущей темы (см. параметр «gtk-theme-name») и datadir - это префикс, настроенный при компиляции GTK +, если только он не переопределен переменной среды GTK_DATA_PREFIX.

Предыдущий опыт подсказывал, что все, что вам нужно было сделать для gnome-терминала - это закрыть все вкладки и окна gnome-терминала, чтобы новые темы вступили в силу. Согласно документации, возможно, GTK нужно было пройти инициализацию, или, возможно, gnome-terminalпроцесс все еще выполняется, требуя, чтобы я вышел из системы и вернулся обратно.

the_velour_fog
источник