Seit 17.10 funktionieren Lösungen, die in früheren Versionen funktionieren, nicht mehr (z. B. N0rberts Option 2 ("Overlay-Scrollbar-Inhalte entfernen") in Gtk-Message: Fehler beim Laden des Moduls "Overlay-Scrollbar" Ubuntu 17.10 .).
Seit 17.10 funktionieren Lösungen, die in früheren Versionen funktionieren, nicht mehr (z. B. N0rberts Option 2 ("Overlay-Scrollbar-Inhalte entfernen") in Gtk-Message: Fehler beim Laden des Moduls "Overlay-Scrollbar" Ubuntu 17.10 .).
Antworten:
Der Grund, warum Lösungen, die in älteren Ubuntu-Versionen funktionieren, nicht mehr funktionieren, sind Änderungen in CSS, die GTK + für das Styling und Layout verwendet.
Fügen Sie dies in Ihre ~ / .config / gtk-3.0 / gtk.css ein (erstellen Sie gegebenenfalls die Datei):
/*************
* 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;
}
Fügen Sie dasselbe in /root/.config/gtk-3.0/gtk.css ein, um die gleiche Bildlaufleistenerfahrung für Root-Anwendungen wie Synaptic zu erhalten.
Und dies verhindert, dass die Bildlaufleiste verschwindet, wenn Sie inaktiv sind:
echo "GTK_OVERLAY_SCROLLING=0" >> /etc/environment
Damit Änderungen wirksam werden, müssen Sie möglicherweise die Anwendungen neu starten. Melden Sie sich ab und wieder an.
Ich bin mit dieser Lösung jedoch nicht ganz zufrieden, da die Bildlaufleisten nicht so "professionell" aussehen, wie man es erwarten könnte, und weil sie in verschiedenen Anwendungen unterschiedlich aussehen. ZB sehen die Stepper in Firefox OK aus - die Aufwärts- und Abwärtspfeile sind sichtbar. In Gnome Terminal und Nautilus sind dies nur einige abgerundete Rechtecke ohne Pfeile (sowie in der Anwendung, die ich entwickle).
Andere Anwendungen verfügen über "eigene" Bildlaufleisten - z. B. Geany. Sie sind von diesen Einstellungen völlig unberührt und sehen immer noch so aus, wie man es von anständigen Bildlaufleisten erwarten würde. Vielleicht kann jemand herausfinden, wie man sie Geany "stiehlt". Update: In 18.04 kommt Geany nicht mehr mit eigenen Bildlaufleisten, aber zB FBReader und Gimp immer noch.
Das Entfernen des Warping-Schiebereglers funktioniert jedoch immer noch auf die alte Weise:
echo "gtk-primary-button-warps-slider = false" >> /etc/gtk-3.0/settings.ini
Mögliche Lösung besteht darin, das Thema von Ambiance oder Radiance zu Adwaita zu wechseln , mit gnome-tweaks
:
gnome-tweaks
mitsudo apt-get install gnome-tweaks
gnome-tweaks
Oder wechseln Sie zum GTK3-Port des Clearlooks-Themas (installieren Sie es mit sudo apt-get install clearlooks-phenix-theme
).
Ich habe noch keine CSS-gesteuerte Lösung gefunden.
Ich habe auf verschiedenen Websites im Web (vor allem im Linux Mint Forum) meine eigene Bildlaufleiste für das Thema Ambiance in Ubuntu 18.04 erstellt. Es hat keine Überlagerungen. Sie müssen den Code schließlich mit anderen Optimierungen in die Datei ~ / .config / gtk-3.0 / gtk.css einfügen. Melden Sie sich ab und an, um wirksam zu werden. Verwenden Sie es, wenn es Ihnen gefällt:
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%);