В 17.10 решения, работающие в предыдущих версиях, больше не работают (например, параметр N0rberts 2 («Удалить материал наложения полосы прокрутки») в Gtk-сообщении: не удалось загрузить модуль «панель наложения полосы прокрутки» Ubuntu 17.10.) [ ! d0]
Возможное решение - переключить тему из Ambiance или Radiance в Adwaita с помощью gnome-tweaks:
Установить gnome-tweaks с sudo apt-get install gnome-tweaks Запустить gnome-tweaks Перейти на вкладку «Внешний вид», в «Темы» развернуть «Приложения» и выбрать Адвайта здесь.Или переключитесь на Ambiance (установите его с помощью sudo apt-get install clearlooks-phenix-theme).
Я еще не нашел решение, основанное на CSS.
Причина, по которой решения, работающие в более старых версиях Ubuntu, больше не работают, - это изменения в CSS, которые GTK + использует для стилизации и компоновки.
Поместите это в ваш ~ / .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. [ ! d2]
И это предотвращает исчезновение полосы прокрутки, когда вы неактивны:
echo "GTK_OVERLAY_SCROLLING=0" >> /etc/environment
Чтобы изменения вступили в силу, вам может потребоваться перезапустить приложения соответственно. выйдите из системы и снова.
Я не полностью удовлетворен этим решением, хотя потому, что полосы прокрутки не выглядят «профессиональными», как можно было бы ожидать, и потому, что они выглядят по-разному в разных приложениях. Например. степперы выглядят ОК в Firefox - видны стрелки вверх и вниз. В Gnome Terminal и Nautilus они представляют собой лишь некоторые закругленные прямоугольники без стрелок (а также в приложении, которое я разрабатываю).
Другие приложения имеют свои собственные полосы прокрутки - например, Geany. Эти настройки полностью не затронуты и по-прежнему выглядят так, как можно было бы ожидать от приличных полос прокрутки. Может быть, кто-то может понять, как «украсть» их у Geany.
Однако избавление от деформирующего слайдера по-прежнему работает по-старому:
echo "gtk-primary-button-warps-slider = false" >> /etc/gtk-3.0/settings.ini
Возможное решение - переключить тему из Ambiance или Radiance в Adwaita с помощью gnome-tweaks:
Установить gnome-tweaks с sudo apt-get install gnome-tweaks Запустить gnome-tweaks Перейти на вкладку «Внешний вид», в «Темы» развернуть «Приложения» и выбрать Адвайта здесь.Или переключитесь на Ambiance (установите его с помощью sudo apt-get install clearlooks-phenix-theme).
Я еще не нашел решение, основанное на CSS.
Причина, по которой решения, работающие в более старых версиях Ubuntu, больше не работают, - это изменения в CSS, которые GTK + использует для стилизации и компоновки.
Поместите это в ваш ~ / .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. [ ! d2]
И это предотвращает исчезновение полосы прокрутки, когда вы неактивны:
echo "GTK_OVERLAY_SCROLLING=0" >> /etc/environment
Чтобы изменения вступили в силу, вам может потребоваться перезапустить приложения соответственно. выйдите из системы и снова.
Я не полностью удовлетворен этим решением, хотя потому, что полосы прокрутки не выглядят «профессиональными», как можно было бы ожидать, и потому, что они выглядят по-разному в разных приложениях. Например. степперы выглядят ОК в Firefox - видны стрелки вверх и вниз. В Gnome Terminal и Nautilus они представляют собой лишь некоторые закругленные прямоугольники без стрелок (а также в приложении, которое я разрабатываю).
Другие приложения имеют свои собственные полосы прокрутки - например, Geany. Эти настройки полностью не затронуты и по-прежнему выглядят так, как можно было бы ожидать от приличных полос прокрутки. Может быть, кто-то может понять, как «украсть» их у Geany.
Однако избавление от деформирующего слайдера по-прежнему работает по-старому:
echo "gtk-primary-button-warps-slider = false" >> /etc/gtk-3.0/settings.ini