在 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 终端的外观。
我该如何在 Ubuntu 16.04 上修改 gnome 终端的外观?
答案1
这对我有用:
/* 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
。
笔记:
我刚刚复制了氛围文件夹
/usr/share/themes
并重命名它,这样我在编辑文件时就不需要使用提升的权限。我发现使用
#555
会使标签中的文本难以看清。我还更改了
selected_fg_color
以确保哪个主题是哪个,这就是为什么滚动条不是橙色的;)
答案2
注销/关闭所有程序并重新登录后,主题终于应用了。GTK
API 参考GtkCss 提供程序(不稳定的开发版本 - 我找不到稳定的等效部分)解释/确认 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
进程仍在运行,需要我注销并重新登录。