在 Ubuntu 16.04 中,gnome 终端 GTK3 样式配置移到哪里了?

the*_*fog 13 gnome gtk3

在 Ubuntu 14.04 中,我可以通过创建一个文件来设置 gnome 终端及其选项卡的外观

/home/$user/.config/gtk-3.0/gtk.css
Run Code Online (Sandbox Code Playgroud)

并将 CSS 代码放入其中,例如

    TerminalWindow .notebook tab.top:active{
      padding: 0;
      border-image: none;
      background-color: #555;
    }
    [...]
Run Code Online (Sandbox Code Playgroud)

现在在 Ubuntu 16.04 上,这对 gnome 终端的外观没有影响。
如何在 Ubuntu 16.04 上修改 gnome 终端的外观?

DK *_*ose 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;
}
Run Code Online (Sandbox Code Playgroud)

我添加的代码在底部。我编辑的文件是~/.themes/ORIG-Ambiance/gtk-3.0/apps/gnome-terminal.css.

笔记:

  • 我只是复制了Ambiance文件夹并将/usr/share/themes其重命名,这样我在编辑文件时就不需要使用提升的权限。

  • 我发现使用#555使得很难看到选项卡中的文本。

  • 我还更改了selected_fg_color以确定哪个主题是哪个,这就是滚动条不是橙色的原因;)

gnome 终端


the*_*fog 1

毕竟,注销/关闭我的所有程序并重新登录应用了主题。GtkCssProvider
的 GTK API 参考(不稳定的开发版本 - 我找不到稳定版的等效部分)解释/确认了 GTK 如何在启动时读取主题的 CSS 代码:

应用程序可以通过调用 gtk_css_provider_load_from_file() 并使用 gtk_style_context_add_provider() 或 gtk_style_context_add_provider_for_screen() 添加提供程序,使 GTK+ 解析特定的 CSS 样式表。
另外,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-terminal 您所需要做的就是关闭所有 gnome-terminal 选项卡和窗口以使新主题生效。根据文档,也许 GTK 需要进行初始化,或者可能有一个gnome-terminal进程仍在运行,需要我注销并重新登录。