Как удалить оверлей-полосы прокрутки в Ubuntu 17.10?

В 17.10 решения, работающие в предыдущих версиях, больше не работают (например, параметр N0rberts 2 («Удалить материал наложения полосы прокрутки») в Gtk-сообщении: не удалось загрузить модуль «панель наложения полосы прокрутки» Ubuntu 17.10.) [ ! d0]

3
задан 13 March 2018 в 17:24

4 ответа

Возможное решение - переключить тему из Ambiance или Radiance в Adwaita с помощью gnome-tweaks:

Установить gnome-tweaks с sudo apt-get install gnome-tweaks Запустить gnome-tweaks Перейти на вкладку «Внешний вид», в «Темы» развернуть «Приложения» и выбрать Адвайта здесь.

Или переключитесь на Ambiance (установите его с помощью sudo apt-get install clearlooks-phenix-theme).

Я еще не нашел решение, основанное на CSS.

0
ответ дан 17 July 2018 в 18:56

Причина, по которой решения, работающие в более старых версиях 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
1
ответ дан 17 July 2018 в 18:56

Возможное решение - переключить тему из Ambiance или Radiance в Adwaita с помощью gnome-tweaks:

Установить gnome-tweaks с sudo apt-get install gnome-tweaks Запустить gnome-tweaks Перейти на вкладку «Внешний вид», в «Темы» развернуть «Приложения» и выбрать Адвайта здесь.

Или переключитесь на Ambiance (установите его с помощью sudo apt-get install clearlooks-phenix-theme).

Я еще не нашел решение, основанное на CSS.

0
ответ дан 23 July 2018 в 19:43

Причина, по которой решения, работающие в более старых версиях 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
1
ответ дан 23 July 2018 в 19:43

Другие вопросы по тегам:

Похожие вопросы: