在Ubuntu 16.04中,gnome终端GTK3样式配置已移至何处?


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终端的外观没有影响。
如何在Ubuntu 16.04上修改gnome终端的外观?


您能否提及您使用的gtk3主题的名称?如果您尝试了其他gtk3主题,这些是哪些?我要问的原因在这里有所提示:askubuntu.com/questions/765909/tweaking-newer-gtk3-themes
DK Bose

顺便说一句,从14.04(gtk 3.10)移至16.04(gtk 3.18)时,“ gtk3”有很多差异。
DK Bose

@DKBose,这是默认主题。在过去的6年中,我尝试安装一次主题,并且在几个小时内-系统完全锁定,没有任何提示。更改某些图标和化妆品可能会导致灾难性的系统故障,这真是令人惊讶。我想这不是主题,但我不想再冒险了!
–the_velour_fog

@DKBose如果您安装了我安装的主题,据说该主题破坏了我的系统,则为numix GTK。从您看来,其他问题您是否也尝试过?
the_velour_fog '15

IMO,您也许最安全adwaita。它随GNOME发行版一起预包装。默认主题,我猜是氛围。16.04中的环境仍然很老套,因此您应该能够轻松编辑内容,而与我描述的Numix问题不同。如果不能的话,那仅意味着GNOME开发人员已经对某些内容进行了硬编码:(
DK Bose

Answers:


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 3的gsettings程序设置gnome终端首选项。完成后,我将尝试您的代码amd,让您知道它的运行方式!
the_velour_fog's Mayvel

我已经尝试了您显示的内容,但没有执行任何操作,我只是想知道您如何应用这些更改?通过添加整个文件夹结构,您是否实质上创建了一个新主题?如果是这样,是否意味着您需要以与应用主题相同的方式来应用主题,例如Numix,使用微调工具,然后ORIG-Ambiance从下拉菜单中选择新主题,然后重新启动应用程序,gnome或用户会话?
the_velour_fog '16

我想你可以做的正是我所做的,但/usr/share/themes/Ambiance/gtk-3.0/apps/gnome-terminal.css。这样,您就无需麻烦地切换主题。当然,您需要使用sudo nano或编辑系统文件所用的任何东西。备份将是一个好主意。我使用Lubuntu的Openbox会话,不需要我安装特殊工具来更改主题。我只列出了一个主题列表,~/.config/gtk-3.0/settings.ini但其中一个被注释掉了。更改用户级主题仅是编辑该文件的问题。
DK Bose

对于系统范围的更改,相应的文件位于中/etc/gtk-3.0/
DK Bose

1
谢谢。-upvote-即使它不能直接解决问题,它仍然具有有关如何修改GTK的良好信息。我会看一下,让您知道是否可行。谢谢
the_velour_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仍在运行某个流程,需要我注销并重新登录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.