Как отключить оверлейные полосы прокрутки на Ubuntu 17.04? [dубликат]

Я рад, что наружные полосы прокрутки, наконец, ушли.

Но полоса прокрутки по-прежнему является тонкой линией бритвы, которая становится менее тонкой полосой прокрутки, но все еще тонкой полосой прокрутки, когда мышь парит. [ ! d1]

Как я могу получить обычную полосу прокрутки? Т.е., как и в других ОС, например в Firefox, полоса прокрутки, которая не изменяется в зависимости от того, на что указывает мышь, и с хорошей шириной.

Я уже пробовал

gsettings set com.canonical.desktop.interface scrollbar-mode normal

, но не повезло.

32
задан 24 January 2018 в 13:46

8 ответов

Редактировать этот файл /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

Искать эту строку (вокруг строки 1200): / usr / share / themes /Ambiance/gtk-3.0/gtk-widgets.css

И измените 10 на большее число, например 20 или 30, и выполните:)

Я также думаю, что они 're too small ...

Посмотрите это изображение:

Если вы измените размер полосы прокрутки до 16, и вы хотите, чтобы они оставались таким образом, и не сжимайте, когда у вас нет мыши, а затем сделайте изменения на картинке выше.

Если вы используете размер, отличный от 16, просто поэкспериментируйте с размерами полей, чтобы исправить это. [ ! d11]

20
ответ дан 18 July 2018 в 11:20

Редактировать этот файл /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

Искать эту строку (вокруг строки 1200): / usr / share / themes /Ambiance/gtk-3.0/gtk-widgets.css

И измените 10 на большее число, например 20 или 30, и выполните:)

Я также думаю, что они 're too small ...

Посмотрите это изображение:

Если вы измените размер полосы прокрутки до 16, и вы хотите, чтобы они оставались таким образом, и не сжимайте, когда у вас нет мыши, а затем сделайте изменения на картинке выше.

Если вы используете размер, отличный от 16, просто поэкспериментируйте с размерами полей, чтобы исправить это. [ ! d11]

20
ответ дан 24 July 2018 в 19:47

Я думаю, вы должны быть осторожны там. Многие из нас НЕ рекомендуют вам редактировать общесистемные значения по умолчанию для темы, если вы действительно не собираетесь вмешиваться в деятельность всех учетных записей пользователей в системе. Если вы делаете ошибку при этом, то это влияет на все учетные записи пользователей. Еще один момент предостережения заключается в том, что при обновлении пакетов ваши изменения будут удалены.

Еще один недостаток этой стратегии состоит в том, что она изменяет только поведение одной темы GTK, но вы можете изменить размер полосы прокрутки в ALL GTK-3.0.

Вместо этого отредактируйте файлы конфигурации внутри учетной записи пользователя. Трюк заключается в том, чтобы выяснить, какой из них является самым коротким расстоянием до нужной конечной точки. Файл GTK, который вы редактируете, является частью настройки CSS (каскадные таблицы стилей), поэтому настройка, которую вы ввели в свою учетную запись, изменит настройки.

В вашей учетной записи пользователя в папке ~ / .config / gtk-3.0 / gtk.css в настоящее время я имею это в файле с именем gtk.css

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

Если вы немного поиграете с этим, вы обнаружите, что можно интегрировать многие конкретные изменения из файла темы, который вы редактировали выше. В свое время я очень старался сфокусироваться на множестве настроек, но теперь я в режиме «оставил это просто».

Если вы действительно хотите отредактировать множество настроек, сделайте это, чтобы скопировать весь файл gtk-widgets.css и поместить его в папку ~ / .config / gtk-3.0. Затем отправляйтесь в город, играя с настройками.

В той же папке у меня есть файл с именем «settings.ini»

[Settings] gtk-primary-button-warps-slider = false

Это предотвращает переход клика в полосе прокрутки к определенной точке файла, вместо этого он продвигает только один экран. Я предпочитаю это!

. Еще одна вещь, которую стоит знать, заключается в том, что изменение этого файла темы (как это было рекомендовано в @Dorian или по изменению учетной записи пользователя для всех тем, основанных на GTK-3.0, как я предлагаю) меняет только программы которые основаны на наборе инструментов GTK-3.0. Он не изменяет полосу прокрутки для всех приложений. Только для тех, кто читает этот файл конфигурации gtk-3.0. Поскольку вы редактируете тему gtk-3.0, приложения, написанные с QT или gtk-2.0, не будут меняться. Следовательно, изменение размера полосы прокрутки всех программ является более сложным / утомительным, чем вы могли бы ожидать.

Я также изменил ширину полосы прокрутки в gtk-2.0. Это делается в отдельной папке ~ / .config / gtk-2.0. Файл для создания называется gtkrc

style "scroll" { GtkScrollbar::slider-width = 20 }

Обратите внимание, что gtk-2.0 - это иначе разработанная настройка, поэтому синтаксис отличается, вы не можете просто скопировать gtk-3.0 css в папку gtk-2.0 .

Я заметил, что некоторые приложения ведут себя плохо, когда вы делаете полосу прокрутки разной, потому что размер «граббера» внутри прорези слайдера не изменяется правильно. Я подозреваю, что изменения прокрутки в файлах @ Dorian помогут с этим. Я могу вернуться и попробовать. Я дам вам знать.

Резюме. Ключевой «советник по системному администратору старого времени» - «НЕ редактируйте файлы конфигурации на общесистемной основе. Вы подвергаете свою систему риску, ваши изменения не будут продолжаться в версиях, и для этого необходим root-доступ, который никогда не бывает хорош для косметических вещей, подобных этому. Найдите способ внесения изменений в свою учетную запись пользователя.

PS. Если вы действительно хотите возиться с системными файлами (иногда я делаю, если я действительно хочу настаивать на том, чтобы у всех пользователей были мои любимые цвета футбольной команды, как их обои и цветовая схема :)), первое, что вам нужно сделать, это сделать копию исходный файл и назовите оригинальный «gtk-widgets.css.orig». Затем, когда вы редактируете файл, сохраните копию своего редактирования как «gtk-widgets.css.20160919», где у меня есть дата YYYYMMDD на ее конце. Таким образом, когда пакет deb будет обновлен, у вас будет копия отредактированного файла. Тот, который вы редактируете с именем gtk-widgets.css, будет уничтожен установкой пакета.

22
ответ дан 18 July 2018 в 11:20

Изменение -GtkRange-slider-width не влияет на тему GTK + 3 по умолчанию. Вместо этого вы можете сделать это:

scrollbar slider { /* Size of the slider */ min-width: 20px; min-height: 20px; border-radius: 22px; /* Padding around the slider */ border: 5px solid transparent; }

(Поместите выше в ~/.config/gtk-3.0/gtk.css.)

4
ответ дан 18 July 2018 в 11:20

Ниже приведены шаги по восстановлению полос прокрутки, которые не исчезают и имеют постоянную ширину, то есть «классические». Протестировано в сессии GNOME Flashback в Ubuntu 16.04 (также работает в Unity).

Шаг 1. Сделайте резервную копию /etc/environment. Запустите sudo nano /etc/environment и добавьте следующую строку:

GTK_OVERLAY_SCROLLING=0

Это предотвратит поведение автогида полосы прокрутки.

Шаг 1. Во избежание подделки с основным файлом темы /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css мы возьмем некоторый код оттуда, изменим его и поместим в папку профиля пользователя. Создайте ~/.config/gtk-3.0/gtk.css и поместите в него следующие строки:

/* Adding the buttons on the edges (if you don't need them, skip the next 4 lines) */ .scrollbar { -GtkScrollbar-has-backward-stepper: 1; -GtkScrollbar-has-forward-stepper: 1; } /* Scrollbar trough squeezes when cursor hovers over it. Disabling that */ .scrollbar.vertical:hover:dir(ltr), .scrollbar.vertical.dragging:dir(ltr) { margin-left: 0px; } .scrollbar.vertical:hover:dir(rtl), .scrollbar.vertical.dragging:dir(rtl) { margin-right: 0px; } .scrollbar.horizontal:hover, .scrollbar.horizontal.dragging, .scrollbar.horizontal.slider:hover, .scrollbar.horizontal.slider.dragging { margin-top: 0px; } /* Slider widens to fill the scrollbar when cursor hovers over it. Making it permanent */ .scrollbar.slider.vertical:dir(ltr):not(:hover):not(.dragging) { margin-left: 0px; } .scrollbar.slider.vertical:dir(rtl):not(:hover):not(.dragging) { margin-right: 0px; } .scrollbar.slider.horizontal:not(:hover):not(.dragging) { margin-top: 0px; }

Шаг 3. Создайте ~/.config/gtk-3.0/settings.ini и добавьте в него следующие строки:

[Settings] gtk-primary-button-warps-slider = false

Это восстановит пошаговое прокручивание по страницам, когда вы нажимаете полосу прокрутки по обеим сторонам ползунка. Если этот файл уже существует, просто добавьте последнюю строку в раздел [Settings].

Шаг 3. Удалите пакеты overlay-scrollbar и overlay-scrollbar-gtk2 - вы выиграли ' они нуждаются в них больше.

PS Если вы используете некоторые приложения, которым требуются права суперпользователя (например, Synaptic, gksudo и т. Д.), Вы также должны поместить эти файлы gtk.css и settings.ini в папку профиля root:

sudo cp ~/.config/gtk-3.0/gtk.css /root/.config/gtk-3.0/ sudo cp ~/.config/gtk-3.0/settings.ini /root/.config/gtk-3.0/

PS Если вы обнаружите, что эти полосы прокрутки слишком узки для вас, сделайте их более широкими. Просто добавьте следующую строку к вашему ~/.config/gtk-3.0/gtk.css:

.scrollbar { -GtkRange-slider-width: 15; }

Увеличьте ширину, как вам кажется (по умолчанию 10). При необходимости обновите /root/.config/gtk-3.0/gtk.css.

8
ответ дан 18 July 2018 в 11:20

Я думаю, вы должны быть осторожны там. Многие из нас НЕ рекомендуют вам редактировать общесистемные значения по умолчанию для темы, если вы действительно не собираетесь вмешиваться в деятельность всех учетных записей пользователей в системе. Если вы делаете ошибку при этом, то это влияет на все учетные записи пользователей. Еще один момент предостережения заключается в том, что при обновлении пакетов ваши изменения будут удалены.

Еще один недостаток этой стратегии состоит в том, что она изменяет только поведение одной темы GTK, но вы можете изменить размер полосы прокрутки в ALL GTK-3.0.

Вместо этого отредактируйте файлы конфигурации внутри учетной записи пользователя. Трюк заключается в том, чтобы выяснить, какой из них является самым коротким расстоянием до нужной конечной точки. Файл GTK, который вы редактируете, является частью настройки CSS (каскадные таблицы стилей), поэтому настройка, которую вы ввели в свою учетную запись, изменит настройки.

В вашей учетной записи пользователя в папке ~ / .config / gtk-3.0 / gtk.css в настоящее время я имею это в файле с именем gtk.css

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

Если вы немного поиграете с этим, вы обнаружите, что можно интегрировать многие конкретные изменения из файла темы, который вы редактировали выше. В свое время я очень старался сфокусироваться на множестве настроек, но теперь я в режиме «оставил это просто».

Если вы действительно хотите отредактировать множество настроек, сделайте это, чтобы скопировать весь файл gtk-widgets.css и поместить его в папку ~ / .config / gtk-3.0. Затем отправляйтесь в город, играя с настройками.

В той же папке у меня есть файл с именем «settings.ini»

[Settings] gtk-primary-button-warps-slider = false

Это предотвращает переход клика в полосе прокрутки к определенной точке файла, вместо этого он продвигает только один экран. Я предпочитаю это!

. Еще одна вещь, которую стоит знать, заключается в том, что изменение этого файла темы (как это было рекомендовано в @Dorian или по изменению учетной записи пользователя для всех тем, основанных на GTK-3.0, как я предлагаю) меняет только программы которые основаны на наборе инструментов GTK-3.0. Он не изменяет полосу прокрутки для всех приложений. Только для тех, кто читает этот файл конфигурации gtk-3.0. Поскольку вы редактируете тему gtk-3.0, приложения, написанные с QT или gtk-2.0, не будут меняться. Следовательно, изменение размера полосы прокрутки всех программ является более сложным / утомительным, чем вы могли бы ожидать.

Я также изменил ширину полосы прокрутки в gtk-2.0. Это делается в отдельной папке ~ / .config / gtk-2.0. Файл для создания называется gtkrc

style "scroll" { GtkScrollbar::slider-width = 20 }

Обратите внимание, что gtk-2.0 - это иначе разработанная настройка, поэтому синтаксис отличается, вы не можете просто скопировать gtk-3.0 css в папку gtk-2.0 .

Я заметил, что некоторые приложения ведут себя плохо, когда вы делаете полосу прокрутки разной, потому что размер «граббера» внутри прорези слайдера не изменяется правильно. Я подозреваю, что изменения прокрутки в файлах @ Dorian помогут с этим. Я могу вернуться и попробовать. Я дам вам знать.

Резюме. Ключевой «советник по системному администратору старого времени» - «НЕ редактируйте файлы конфигурации на общесистемной основе. Вы подвергаете свою систему риску, ваши изменения не будут продолжаться в версиях, и для этого необходим root-доступ, который никогда не бывает хорош для косметических вещей, подобных этому. Найдите способ внесения изменений в свою учетную запись пользователя.

PS. Если вы действительно хотите возиться с системными файлами (иногда я делаю, если я действительно хочу настаивать на том, чтобы у всех пользователей были мои любимые цвета футбольной команды, как их обои и цветовая схема :)), первое, что вам нужно сделать, это сделать копию исходный файл и назовите оригинальный «gtk-widgets.css.orig». Затем, когда вы редактируете файл, сохраните копию своего редактирования как «gtk-widgets.css.20160919», где у меня есть дата YYYYMMDD на ее конце. Таким образом, когда пакет deb будет обновлен, у вас будет копия отредактированного файла. Тот, который вы редактируете с именем gtk-widgets.css, будет уничтожен установкой пакета.

22
ответ дан 24 July 2018 в 19:47

Изменение -GtkRange-slider-width не влияет на тему GTK + 3 по умолчанию. Вместо этого вы можете сделать это:

scrollbar slider { /* Size of the slider */ min-width: 20px; min-height: 20px; border-radius: 22px; /* Padding around the slider */ border: 5px solid transparent; }

(Поместите выше в ~/.config/gtk-3.0/gtk.css.)

4
ответ дан 24 July 2018 в 19:47

Ниже приведены шаги по восстановлению полос прокрутки, которые не исчезают и имеют постоянную ширину, то есть «классические». Протестировано в сессии GNOME Flashback в Ubuntu 16.04 (также работает в Unity).

Шаг 1. Сделайте резервную копию /etc/environment. Запустите sudo nano /etc/environment и добавьте следующую строку:

GTK_OVERLAY_SCROLLING=0

Это предотвратит поведение автогида полосы прокрутки.

Шаг 1. Во избежание подделки с основным файлом темы /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css мы возьмем некоторый код оттуда, изменим его и поместим в папку профиля пользователя. Создайте ~/.config/gtk-3.0/gtk.css и поместите в него следующие строки:

/* Adding the buttons on the edges (if you don't need them, skip the next 4 lines) */ .scrollbar { -GtkScrollbar-has-backward-stepper: 1; -GtkScrollbar-has-forward-stepper: 1; } /* Scrollbar trough squeezes when cursor hovers over it. Disabling that */ .scrollbar.vertical:hover:dir(ltr), .scrollbar.vertical.dragging:dir(ltr) { margin-left: 0px; } .scrollbar.vertical:hover:dir(rtl), .scrollbar.vertical.dragging:dir(rtl) { margin-right: 0px; } .scrollbar.horizontal:hover, .scrollbar.horizontal.dragging, .scrollbar.horizontal.slider:hover, .scrollbar.horizontal.slider.dragging { margin-top: 0px; } /* Slider widens to fill the scrollbar when cursor hovers over it. Making it permanent */ .scrollbar.slider.vertical:dir(ltr):not(:hover):not(.dragging) { margin-left: 0px; } .scrollbar.slider.vertical:dir(rtl):not(:hover):not(.dragging) { margin-right: 0px; } .scrollbar.slider.horizontal:not(:hover):not(.dragging) { margin-top: 0px; }

Шаг 3. Создайте ~/.config/gtk-3.0/settings.ini и добавьте в него следующие строки:

[Settings] gtk-primary-button-warps-slider = false

Это восстановит пошаговое прокручивание по страницам, когда вы нажимаете полосу прокрутки по обеим сторонам ползунка. Если этот файл уже существует, просто добавьте последнюю строку в раздел [Settings].

Шаг 3. Удалите пакеты overlay-scrollbar и overlay-scrollbar-gtk2 - вы выиграли ' они нуждаются в них больше.

PS Если вы используете некоторые приложения, которым требуются права суперпользователя (например, Synaptic, gksudo и т. Д.), Вы также должны поместить эти файлы gtk.css и settings.ini в папку профиля root:

sudo cp ~/.config/gtk-3.0/gtk.css /root/.config/gtk-3.0/ sudo cp ~/.config/gtk-3.0/settings.ini /root/.config/gtk-3.0/

PS Если вы обнаружите, что эти полосы прокрутки слишком узки для вас, сделайте их более широкими. Просто добавьте следующую строку к вашему ~/.config/gtk-3.0/gtk.css:

.scrollbar { -GtkRange-slider-width: 15; }

Увеличьте ширину, как вам кажется (по умолчанию 10). При необходимости обновите /root/.config/gtk-3.0/gtk.css.

8
ответ дан 24 July 2018 в 19:47
  • 1
    Я смог увеличить ширину только с помощью элемента: .scrollbar {-GtkRange-slider-width: 15; …, без всех других опций, о которых вы говорили. Но это было только на виртуальной машине. Когда я пытался сделать то же самое на рабочем столе, ничего не сработало, хотя я пробовал все шаги. Есть, я полагаю, ошибка в Firefox 52, потому что на виртуальной машине, где ответ помог, полоса прокрутки правильно отреагировала на событие зависания и автоматически расширилась. На рабочем столе он не обрабатывает зависания (что на самом деле является причиной, почему мне нужно расширить полосу прокрутки), и gtk.css тоже игнорируется – user907860 11 March 2017 в 22:09
  • 2
    @ user907860 Напротив, все шаги, упомянутые выше, предназначены для игнорировать событие . Они необходимы для создания статических постоянных полос прокрутки, которые никогда не меняют своей ширины, как это было в эпоху до единства. – whtyger 13 March 2017 в 11:01
  • 3
    да вы правы. Я имел в виду просто увеличение ширины, не касаясь функциональности зависания – user907860 13 March 2017 в 19:26
  • 4
    кстати, разве вы не знаете, почему это не работает в Firefox 52 на рабочем столе, а на виртуальной машине? [D0] askubuntu.com/questions/892097/&hellip – user907860 13 March 2017 в 19:28
  • 5
    Это должен быть принятый ответ. Мессинг с dconf и темами дали очень странные результаты - не наложение, но и не нормальное. Этот ответ дает обычные полосы прокрутки. Это должно быть сделано на уровне GTK. Примечание: Ubunutu скоро переходит в Qt. – Dominic Cerisano 2 August 2017 в 10:30

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

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