Ubuntu 18.04 忽略我的 gtk.css 文件

Ubuntu 18.04 忽略我的 gtk.css 文件

在 Ubuntu 16.04 中,我创建了一个文件~/.config/gtk-3.0/gtk.css来替换细长的滚动条(在 Firefox 和 emacs 上),当您将鼠标悬停在滚动条上时,它会变宽,并将滚动条的颜色更改为庄重的灰色,并在顶部和底部设置按钮以单步执行:

.scrollbar {
  -GtkScrollbar-has-backward-stepper: true;
  -GtkScrollbar-has-forward-stepper: true;
  -GtkRange-slider-width: 16;
  -GtkRange-stepper-size: 16;

  background-color: LightGray;
}

/*
.scrollbar.slider {
    background-color: DarkGray;
    border-radius: 1px;
}
*/


.scrollbar.slider {
    border-color: shade (@bg_color, 0.4);
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@button_bg_color, 0.9)),
                                     to (shade (@button_bg_color, 0.8)));
    box-shadow: inset 1px 0 shade (@bg_color, 0.85),
                inset -1px 0 shade (@bg_color, 0.62),
                inset 0 1px shade (@bg_color, 0.9),
                inset 0 -1px shade (@bg_color, 0.62);
}

此文件似乎对 Ubuntu 18.04 没有影响。我非常想消除只有鼠标悬停时才会变宽的细滚动条,并将颜色从默认的橙色更改为漂亮的灰色。有人能告诉我如何在 Ubuntu 18.04 中实现这一点吗?

答案1

我正在回答我自己的问题,因为没有人提出任何建议,但经过长时间的试验,我找到了一些基本可行的方法。我在 ~/.config/gtk-3.0/settings.ini 中有以下内容

[Settings]
gtk-application-prefer-dark-theme=0
gtk-primary-button-warps-slider = false

并在 ~/.config/gtk-3.0/gtk.css 中添加以下内容

scrollbar slider {
    /* Size of the slider */
    min-width: 18px;
    min-height: 18px;
    border-radius: 15px;

    /* Padding around the slider */
    border: 1px solid #606307;
}

scrollbar trough {
    background-color: shade(@theme_bg_color, 0.5);
}

scrollbar button,
scrollbar button.vertical,
scrollbar button.horizontal,
scrollbar .button,
scrollbar .button.vertical,
scrollbar .button.horizontal {
    color: shade(@theme_bg_color, 0.10);
    background-color: shade(@theme_bg_color, 0.6);
}

scrollbar.vertical slider,
scrollbar.vertical .slider {
    background-image: radial-gradient(ellipse at center, DarkGray 0%, LightGrey 100%);
}

scrollbar.horizontal slider,
scrollbar.horizontal .slider {
    background-image: radial-gradient(ellipse at center, DarkGray 0%, LightGray 100%);
}

这会在 Firefox 和 Emacs 中生成一个宽滚动条,滚动条上有一个浅灰色滑块,背景为深灰色。我希望知道为什么这样做有效,但我没有找到任何文档来解释各种命令。这造成的一个奇怪的事情是,在 Emacs 中,滚动条很细,直到鼠标第一次经过它,此时它变宽并保持宽度。此外,Emacs 中的滚动条有时看起来更细,部分覆盖在更宽的滚动条上,这种方式仍然可用,但非常奇怪。

答案2

很抱歉,我没有更好的答案,但是,无论如何,我一直在尝试为此建立一个参考框架,到目前为止,还没有找到:

我的目标只是为 XUbuntu 16.04 下的面板应用程序设置工作区插件 (wnck-pager?) 的背景颜色。根据我在其他地方找到的另一个答案提示,我从头开始创建了 gtk.css (一开始没有),如下所示:

~/.config/gtk-3.0 cat gtk.css

wnck-pager { background-color: #0F0000; } wnck-pager:selected { background-color: #00000F; } wnck-pager:hover { background-color: #000FA0; }

这使我能够看到我处于哪个工作区,因为默认背景颜色非常相似,很难注意到。然而,在尝试将此修复程序导出到相邻的 Xubu 16.04 系统时,我发现了一个更加华丽的 gtk.css 文件,其中的引用看起来可能相关。但是,我还没有找到相关文档。我认为这可能是名为“mono”的项目的一部分……但你看,这是一个典型的鼠洞情况,我想要做的就是找到一种方法来设置面板应用程序下工作区的“悬停”和“选定”背景颜色。

底线:在第二个系统(具有更大的 gtk.css 文件的系统)上,我将该文件放在一边,并安装了上面列出的文件,只是为了查看 a) 是否有任何损坏,以及 b) 我是否可以更改面板上工作区选定的背景颜色。没有明显的损坏(通过删除更复杂的 gtk.css 文件)。但是,我放在其位置的非常简单的 gtk.css 文件在第二个 Xubuntu 16.04 工作站上不起作用。两个系统上的 gtk.css 文件相同,都是 16.04 Xubuntu,一个可以工作,一个不能。

不确定我还需要投入多少时间来解决这个问题,但无论我得到什么额外的结果,我都会将它们发布在这里。

版主请注意:我知道这并没有回答问题,但是,我分享了我的研究成果。(感谢 StackExchange。一个杰出的、无价的资源。)

答案3

通过在 Firefox 配置文件夹中创建新的 gtk.css,可以更改 Firefox 滚动条的外观。对我来说,它位于 ~snap/firefox/323/.config/gtk-3.0 ,但如果您没有 snap 版本,它可能位于其他位置。

gtk.css 文件应包含以下代码,以允许您调整垂直和水平滑块的外观:

scrollbar.vertical 滑块 {

/* Slider dimensions */

min-width: 12px;
min-height: 70px;

/* Curvature top and bottom of the slider */

border-radius: 12px;

/* Padding around the slider */

border: 4px solid transparent;

/* Colour of the slider */

background-color: #666699;

}

scrollbar.水平滑块{

/* Slider dimensions */

min-width: 70px;    
min-height: 12px;

/* Curvature top and bottom of the slider */

border-radius: 12px;

/* Padding around the slider */

border: 4px solid transparent;

/* Colour of the slider */

background-color: #666699;

}

只需尝试一下这些值,直到找到你喜欢的颜色。网上有各种颜色查找器,它们会为你提供给定颜色的十六进制值。

相关内容