如何在 Ubuntu 17.10 和 18.04 中删除覆盖滚动条?

如何在 Ubuntu 17.10 和 18.04 中删除覆盖滚动条?

从 17.10 开始,以前版本中有效的解决方案不再起作用(例如 N0rberts 选项 2(“删除覆盖滚动条内容”)Gtk-Message:无法加载模块“overlay-scrollbar”Ubuntu 17.10

答案1

在旧版本 Ubuntu 中有效的解决方案不再有效的原因是 GTK+ 用于样式和布局的 CSS 发生了变化。

将其放入您的 ~/.config/gtk-3.0/gtk.css(如果需要,请创建该文件):

/*************
 * scrollbar *
 *************/

.scrollbar,
scrollbar {
    -GtkScrollbar-has-backward-stepper: 1;
    -GtkScrollbar-has-forward-stepper: 1;
}

scrollbar slider {
    background-color: @scrollbar_track_color;
}

.scrollbar.vertical slider,
scrollbar.vertical slider {
    min-height: 15px;
    min-width: 10px;
}

.scrollbar.horizontal.slider,
scrollbar.horizontal slider {
    min-width: 15px;
    min-height: 10px;
}

.scrollbar.vertical.slider:hover,
scrollbar.vertical:hover slider {
    min-width: 10px;
}

.scrollbar.horizontal.slider:hover,
scrollbar.horizontal:hover slider {
    min-height: 10px;
}

.scrollbar.contents,
scrollbar contents {
    background-color: transparent;
    background-image: none;
    background-size: 0;
    border: none;
    border-radius: 0;
}

.scrollbar.trough,
scrollbar trough {
    background-image: none;
    border: none;
}

.scrollbar:hover:backdrop,
.scrollbar.dragging:backdrop,
scrollbar:hover:backdrop,
scrollbar.dragging:backdrop {
    background-color: alpha(@backdrop_selected_bg_color, 0.5);
}


.scrollbar.vertical:hover:dir(ltr),
.scrollbar.vertical:active:dir(ltr),
scrollbar.vertical:hover:dir(ltr),
scrollbar.vertical:active:dir(ltr) {
    margin-left: 0px;
}

.scrollbar.vertical:hover:dir(rtl),
.scrollbar.vertical:active:dir(rtl),
scrollbar.vertical:hover:dir(rtl),
scrollbar.vertical:active:dir(rtl) {
    margin-right: 0px;
}

.scrollbar.horizontal:hover,
.scrollbar.horizontal:active,
scrollbar.horizontal:hover,
scrollbar.horizontal:active {
    margin-top: 0px;
}

.scrollbar.slider,
scrollbar slider {
    background-color: alpha(@backdrop_filling_bg, 0.75);
    border-radius: 10px;
}

.scrollbar.slider:hover,
.scrollbar.slider:active,
scrollbar slider:hover,
scrollbar slider:active {
    border-radius: 20px;
    margin: 0;
}


.scrollbar.vertical:dir(ltr):not(:hover):not(.dragging),
scrollbar.vertical:dir(ltr):not(:hover):not(.dragging) {
    margin-left: 0px;
}

.scrollbar.vertical:dir(rtl):not(:hover):not(.dragging),
scrollbar.vertical:dir(rtl):not(:hover):not(.dragging) {
    margin-right: 0px;
}

.scrollbar.horizontal:not(:hover):not(.dragging),
scrollbar.horizontal:not(:hover):not(.dragging) {
    margin-top: 0px;
}


.scrollbar.slider:hover,
scrollbar slider:hover {
    background-color: alpha(@backdrop_filling_bg, 0.6);
}

.scrollbar.slider:active,
scrollbar slider:active {
    background-color: @backdrop_filling_bg;
}

.scrollbar.slider:backdrop,
scrollbar slider:backdrop {
    background-color: alpha(@backdrop_filling_bg, 0.75);
}

.scrollbar.slider:hover:backdrop,
scrollbar slider:hover:backdrop {
    background-color: alpha(@backdrop_filling_bg, 0.6);
}

.scrollbar.slider:active:backdrop,
scrollbar slider:active:backdrop {
    background-color: @backdrop_filling_bg;
}

将相同的内容放入 /root/.config/gtk-3.0/gtk.css 以获得与 Synaptic 等根应用程序相同的滚动条体验。

这可以防止滚动条在您不活动时消失:

echo "GTK_OVERLAY_SCROLLING=0" >> /etc/environment

为了使更改生效,您可能需要重新启动应用程序,然后注销并重新登录。

不过,我对这个解决方案并不完全满意,因为滚动条看起来并不像人们期望的那样“专业”,而且它们在不同的应用程序中看起来也不同。例如,步进器在 Firefox 中看起来还不错 - 上下箭头可见。在 Gnome Terminal 和 Nautilus 中,它们只是一些没有箭头的圆角矩形(以及在我正在开发的应用程序中)。

其他应用程序带有“自己的”滚动条 - 例如 Geany。它们完全不受这些设置的影响,并且仍然看起来像一个像样的滚动条。也许有人可以想出如何从 Geany“窃取”它们。 更新:在 18.04 中Geany 不再带有自己的滚动条,但 FBReader 和 Gimp 仍然带有。

但是,摆脱扭曲滑块仍然以老方法有效:

echo "gtk-primary-button-warps-slider = false" >> /etc/gtk-3.0/settings.ini

答案2

可能的解决方案是切换主题氛围或者辐射阿德瓦伊塔gnome-tweaks

  1. 安装gnome-tweakssudo apt-get install gnome-tweaks
  2. 发射gnome-tweaks
  3. 外貌标签,在主题扩张应用并选择阿德瓦伊塔这里。

或者切换到Clearlooks 主题的 GTK3 端口(使用 安装sudo apt-get install clearlooks-phenix-theme)。

我还没有找到 css 驱动的解决方案。

答案3

我从网上的各个网站(尤其是 Linux mint 论坛)收集了有关主题的滚动条。氛围在 Ubuntu 18.04 中。它没有覆盖。您必须最终将代码放入 ~/.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, #dba13f 0%, #7c4e00 100%);
}

scrollbar.horizontal slider,
scrollbar.horizontal .slider {
    background-image: radial-gradient(ellipse at center, #dba13f 0%, #7c4e00 100%);

相关内容