Как изменить цвет и ширину незашитых полос прокрутки в Ubuntu 12.04

Я знаю, что многие люди жаловались на почти невидимые и непригодные для использования полосы прокрутки в последних версиях Ubuntu, даже после удаления или отключения по умолчанию прокручиваемых полос прокрутки. Интересно, как я могу легко изменить их цвет и ширину.

У меня 13,3-дюймовый монитор с разрешением 1600 * 900, и я едва вижу их, как вы можете видеть на этих изображениях:

http://placerdigital.net/up/Dropbox_003.png

http://placerdigital.net/up/Nuvola.png

http://placerdigital.net/up/Ubuntu%20Software%20Center_004.png

Я уже поменял Firefox, LibreOffice и прокрутки других прочего программного обеспечения с помощью GNOME Color Chooser:

введите описание изображения здесь

Кстати, я использую Unity. Благодаря!

Заметка:

Форматы в этом ответе оптимальны только для точного (Ubuntu 12.04), см. Следующий ответ для улучшения форматирования для надежных (Ubuntu 14.04).


Сделать видимыми полосы прокрутки (изменить цвет)

Основываясь на приведенных выше данных vasa1, я изменил цвет классических полос прокрутки на цвет выбора по умолчанию – то же самое, что и накладываемые полосы прокрутки.

Для приложений GTK 3 изменить:

gksu gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css 

начиная с строки 1580, чтобы она выглядела так:

 .scrollbar.slider, .scrollbar.slider:hover, .scrollbar.button, .scrollbar.slider.vertical, .scrollbar.button.vertical { background-image: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 1.38)), to (shade (@selected_bg_color, 1.22))); border-style: solid; border-width: 1px; -unico-border-gradient: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 1.14)), to (shade (@selected_bg_color, 1.14))); -unico-centroid-texture: url("assets/scrollbar_handle_vertical.png"); -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 1.46)), to (shade (@selected_bg_color, 1.3))); -unico-inner-stroke-width: 1px; } .scrollbar.slider.vertical:hover { background-image: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 1.28)), to (shade (@selected_bg_color, 1.02))); border-style: solid; border-width: 1px; -unico-border-gradient: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 0.94)), to (shade (@selected_bg_color, 0.94))); -unico-centroid-texture: url("assets/scrollbar_handle_vertical.png"); -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, right top, from (shade (@selected_bg_color, 1.36)), to (shade (@selected_bg_color, 1.1))); -unico-inner-stroke-width: 1px; } .scrollbar.slider.horizontal, .scrollbar.button.horizontal { background-image: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 1.38)), to (shade (@selected_bg_color, 1.22))); -unico-border-gradient: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 1.14)), to (shade (@selected_bg_color, 1.14))); -unico-centroid-texture: url("assets/scrollbar_handle.png"); -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 1.46)), to (shade (@selected_bg_color, 1.3))); } .scrollbar.slider.horizontal:hover { background-image: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 1.28)), to (shade (@selected_bg_color, 1.02))); -unico-border-gradient: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 0.94)), to (shade (@selected_bg_color, 0.94))); -unico-centroid-texture: url("assets/scrollbar_handle.png"); -unico-inner-stroke-gradient: -gtk-gradient (linear, left top, left bottom, from (shade (@selected_bg_color, 1.36)), to (shade (@selected_bg_color, 1.1))); } .scrollbar.button, .scrollbar.button:insensitive { -unico-outer-stroke-width: 0; } 

Это должно быть значение по умолчанию.

Для приложений GTK 2:

 gksu gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc 

начиная с строки 223, чтобы она выглядела так:

 style "scrollbar" = "button" { xthickness = 2 ythickness = 2 bg[NORMAL] = shade(1.3, @selected_bg_color) bg[PRELIGHT] = shade (1.04, @selected_bg_color) bg[ACTIVE] = shade (0.96, @selected_bg_color) engine "murrine" { border_shades = {1.15, 1.1} roundness = 20 contrast = 1.0 trough_shades = {0.92, 0.98} lightborder_shade = 1.3 glowstyle = 5 glow_shade = 1.02 gradient_shades = {1.2, 1.0, 1.0, 0.86} trough_border_shades = {0.9, 0.98} } } 

Он не выглядит на 100% идентичным формату GTK 3, поэтому не стесняйтесь его улучшать.


Сделать полосы прокрутки кликабельными (увеличить ширину)

Чтобы увеличить глупую небольшую ширину, которая никогда не предназначалась для использования в производстве, я предполагаю, что внесены следующие изменения в одни и те же файлы.

Для приложений GTK 3:

 gksu gedit /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css 

измените строку 1550 так, чтобы она выглядела так:

 .scrollbar { -GtkScrollbar-has-backward-stepper: 0; -GtkScrollbar-has-forward-stepper: 0; -GtkRange-slider-width: 16; border-radius: 20px; -unico-border-gradient: -gtk-gradient (linear, left top, left bottom, from (shade (@bg_color, 0.74)), to (shade (@bg_color, 0.74))); } 

Для приложений GTK 2:

 gksu gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc 

измените строку 34 так, чтобы она выглядела так:

 GtkScrollbar::slider-width = 16 

Для тех, кто предпочитает файлы, уже отредактированные, вы можете скачать здесь:

GTK 3: gtk-widgets.css

GTK 2: gtkrc

Быть осторожен. Сделайте резервные копии.

Наслаждайтесь! 🙂

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

Вам нужно посмотреть в папке вашей темы файлы gtkrc (в папке gtk-2.0) и gtk-widgets.css (в папке gtk-3.0). Откройте эти файлы с помощью текстового редактора. Возможно, вам нужно будет использовать gksudo gedit вместо gedit если ваша тема находится в / usr / share / themes, а не в ~ / .themes. Затем найдите полосы прокрутки наложения или панель с прокруткой или что-то подобное и поиграйте с цветами, указанными в этих разделах. Вы даже можете указать свой собственный цвет в шестнадцатеричном коде.

Очевидно, что вы можете установить разные цвета в двух файлах, если вы этого захотите.

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

Изменения, внесенные вами в / usr / share / themes, будут общесистемными, а изменения в ~ / .themes будут специфичными для пользователя.

Это то, что выглядит моя оверлейная полоса прокрутки в PCManFM.

Моя оверлейная полоса прокрутки

Изменить : в случае, если используются обычные полосы прокрутки, то для увеличения контрастности между слайдером и корытом в приложениях gtk-3.0, таких как gedit, можно отредактировать файл gtk-widgets.css, упомянутый выше. Чтобы сделать это, найдите раздел с названием scrollbar (или что-то подобное) и найдите строки, которые имеют что-то вроде этого:

 .scrollbar.slider, .scrollbar.slider:hover, .scrollbar.button, .scrollbar.slider.vertical, .scrollbar.slider.vertical:hover, .scrollbar.button.vertical { background-image: -gtk-gradient (linear, left top, right top, from (shade (@bg_color, 1.08)), to (shade (@bg_color, 0.92))); border-style: solid; border-width: 1px; 

Здесь можно воспроизводить значения фонового изображения , изменяя оттенок. Чем выше значение, тем ярче нижнее значение.

Я предпочитаю делать что-то более простое: я меняю фоновое изображение на background- color и просто имею цвет, который мне нравится. Так, например, background-color: red; вероятно, даст выдающийся контраст.

Мой код выглядит так:

 .scrollbar.slider, .scrollbar.button, .scrollbar.slider.vertical, .scrollbar.button.vertical { background-color: #003263; /*@theme_bg_color;*/ /**/ /**/ 

Очевидно, что резервная копия перед редактированием рекомендуется, и вы можете прокомментировать материал в файле gtk-widgets.css, а не удалять вещи, используя /* и */ .

(Я не могу заставить форматирование блочных кавычек работать во время публикации ответов. Если кто-то будет чистить вещи, я был бы благодарен.)

Последнее исправление (я надеюсь): пользователи Chrome или Chromium могут увеличить контраст, отредактировав файл gtk-2.0/gtkrc если их тема предоставит его, или отредактировав gtk-2.0/gtkrc если там присутствует. В обоих случаях следует искать раздел в стиле «chrome-gtk-frame» . Здесь снова играйте со значением тени в этой (или подобной) строке:

 ChromeGtkFrame::scrollbar-slider-normal-color = shade (1.4, @panel_bg) 

Или можно просто указать такой цвет:

 ChromeGtkFrame::scrollbar-slider-normal-color = "#003263" 

или

 ChromeGtkFrame::scrollbar-slider-normal-color = "blue" 

(Необходимы кавычки.)

Для Ubuntu 14.04 (Trusty Tahr) необходимы несколько разные модификации.

GTK 3: gtk-widgets.css переходит к: /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css

GTK 2: gtkrc переходит к: /usr/share/themes/Ambiance/gtk-2.0/gtkrc

Сделайте резервные копии до:

 sudo cp /usr/share/themes/Ambiance/gtk-2.0/gtkrc /usr/share/themes/Ambiance/gtk-2.0/gtkrc.bak sudo cp gtkrc /usr/share/themes/Ambiance/gtk-2.0/ sudo cp /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css.bak sudo cp gtk-widgets.css /usr/share/themes/Ambiance/gtk-3.0/ 

Эти команды ожидают загруженные файлы gtkrc и gtk-widgets.css в текущем каталоге.