Как изменить цвет полосы прокрутки?

20

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

Посмотрите на интерфейс Mac OS X и обратите внимание на синюю контрастную полосу прокрутки. Вам не нужно смотреть на это непосредственно, чтобы иметь представление о том, где вы находитесь на странице.

Как я могу изменить это так, чтобы это имело больше контраста, и я вижу, где я нахожусь каждый раз?

culebrón
источник
1
@ culebrón вот ваш скриншот с радиальным размытием и «невидимой» полосой прокрутки. Я позволю вам добавить его в свой вопрос, если хотите.
Том Броссман
@ culebrón Может ли этот вопрос быть проблемой, с которой вы сталкиваетесь?
Бруно Перейра
2
Связанный отчет об ошибке: Ошибка № 563474
Кристофер Кайл Хортон
Предлагая неподходящий вопрос для сайтов SE: почему разработчики думали, что такая низкоконтрастная полоса прокрутки была хорошим интерфейсом?
Нейросеть

Ответы:

19

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

Гном-цвет-Chooser Установите gnome-color-chooser

настройки полосы прокрутки в Gnome Color Chooser

Особенности:

  • Полностью GUI решение, не нужно вручную возиться с ~/.gtkrc
  • Изменяет только те настройки, которые вы проверяете. Снимите флажок, чтобы вернуться к умолчанию.
  • Изменения вступают в силу, как только вы нажмете Apply. Нет необходимости переключать темы назад и вперед
  • Нет необходимости sudo (но изменения только для вашего пользователя)
  • Применяется только к «устаревшим» полосам прокрутки (те, которые необходимо исправить). Полоса прокрутки "overlay" не изменяется.

Изменения довольно незаметны: он редактирует (или создает), ~/.gtkrcчтобы включить свой собственный файл конфигурации:

include ".gtkrc-2.0-gnome-color-chooser"

И этот файл тоже довольно тонкий:

style "gnome-color-chooser-scrollbar"
{
  bg[NORMAL] = "#ACACAC"
  bg[PRELIGHT] = "#808080"
  bg[ACTIVE] = "#ACACAC"
}
widget_class "*Scrollbar" style "gnome-color-chooser-scrollbar"

Кстати, я выбрал вышеуказанные цвета из экспериментов. Они прекрасно сочетаются со стилем Ambiance "monochrome-ish", будучи чуть темнее (и, следовательно, более видимым), чем по умолчанию.

Пока Firefox не получит оверлейные полосы прокрутки, я вполне доволен моими пользовательскими цветами :)

MestreLion
источник
Попробовал это в Unity Ubuntu 14.04, это не повлияло на мои полосы прокрутки, которые я заметил до сих пор (в том числе после перезапуска).
Нейросеть
@neuronet: Да, я заметил, что это перестало работать в последних версиях Firefox (с 45 или 47)
MestreLion
Почему не может разработчики Unity просто сделать это заметной частью системных настроек? Сколько раз меня это раздражало, я мог бы разработать новую ОС. :)
нейронет
11

Я опирался на то, что описал culebrón, и случайно создал что-то, что я считаю довольно удивительным ...

Открыть /usr/share/themes/Ambiance/gtk-2.0/gtkrcкак root для модификации:

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

Затем измените соответствующий раздел в этом файле следующим образом (не забудьте сделать резервную копию настроек по умолчанию на случай, если изменения вам не понравятся):

style "scrollbar" = "button" {
    xthickness = 2
    ythickness = 2

    bg[NORMAL] = shade (0.62, @bg_color)
    bg[PRELIGHT] = shade (0.66, @bg_color)

    bg[ACTIVE] = shade (0.64, @bg_color)

    engine "murrine"
    {
        border_shades = {0.95, 0.90}
        roundness = 3
        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}
    }
}

Сохраните, затем примените изменения, переключая темы или выходя из системы.

Новые, удивительные и полезные полосы прокрутки могут выглядеть так:

askuhn
источник
По какой-то причине это не влияет на полосы прокрутки терминала. Я даже возился, /usr/share/themes/Ambiance/gtk-2.0/apps/gnome-terminal.rcно без радости!
adarshr
Извините, adarshr, но я недостаточно знаком с тематикой, чтобы помочь вам с полосами прокрутки терминала. Надеюсь, кто-то еще может вмешаться с решением. :)
Askuhn
9

Вышеизложенное изменяет полосу прокрутки для приложений, использующих файлы тем gtk2. То же самое делает и Gnome-color-chooser (по крайней мере тот, что в текущем хранилище). Для приложений gtk3, таких как gnome-terminal и gedit в 13.04, использующих gnome-fallback, нужно изменить /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css.

Сделать это

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

и замените * scrollbar *раздел следующим:

/*************
 * scrollbar *
 *************/
.scrollbar,
.scrollbar.vertical {
    -GtkScrollbar-has-backward-stepper: 0;
    -GtkScrollbar-has-forward-stepper: 0;
    -GtkRange-slider-width: 14;

    border-radius: 3px;

    border-image: none;
}

.scrollbar.trough,
.scrollbar.trough.vertical {
    border-color: shade (@bg_color, 0.64);
}

.scrollbar.trough.horizontal {
}

.scrollbar.slider,
.scrollbar.slider:hover,
.scrollbar.button,
.scrollbar.slider.vertical,
.scrollbar.slider.vertical:hover,
.scrollbar.button.vertical {
    border-width: 1px;
    border-style: solid;
    border-color: shade (@bg_color, 0.4);
    background-image: -gtk-gradient (linear, left top, right top,
                                     from (shade (@button_bg_color, 0.76)),
                                     to (shade (@button_bg_color, 0.62)));
    box-shadow: inset 1px 0 shade (@button_bg_color, 0.85),
                inset -1px 0 shade (@button_bg_color, 0.62),
                inset 0 1px shade (@button_bg_color, 0.9),
                inset 0 -1px shade (@button_bg_color, 0.62);
}

.scrollbar.slider.horizontal,
.scrollbar.slider.horizontal:hover,
.scrollbar.button.horizontal {
    background-image: -gtk-gradient (linear, left top, left bottom,
                                     from (shade (@button_bg_color, 0.76)),
                                     to (shade (@button_bg_color, 0.62)));
    box-shadow: inset 1px 0 shade (@button_bg_color, 0.85),
                inset -1px 0 shade (@button_bg_color, 0.62),
                inset 0 1px shade (@button_bg_color, 0.9),
                inset 0 -1px shade (@button_bg_color, 0.62);

}

.scrollbar.button,
.scrollbar.button:insensitive {
}

Это дает полосу прокрутки в gtk3, которая выглядит следующим образом:

http://i.stack.imgur.com/m385G.png

Что похоже на тот, что выше для gtk2. Маленькие галочки и правильные степперы здесь не включены.

Том Андреас Нерланд
источник
Работает на терминал 14.04, спасибо.
markdsievers
3
Это прекрасно работает для приложений gtk3, таких как Firefox 46 и выше. Вместо изменения исходных файлов темы, изменения могут быть добавлены в ~ / .config / gtk-3.0 / gtk.css, предоставляя каждому пользователю свой предпочтительный вид при сохранении оригиналов.
yoyoma2
8

Нашли решение: sudo и откройте /usr/share/themes/Ambiance/gtk-2.0/gtkrcи найдите этот код:

style "scrollbar" = "button" {

Ниже в фигурных скобках измените строки bg [SOMETHING], чтобы они выглядели так:

    bg[NORMAL] = @selected_bg_color
    bg[PRELIGHT] = shade (1.04, @selected_bg_color)

    bg[ACTIVE] = shade (0.96, @selected_bg_color)

Или посмотрите на цвета, объявленные в строке 1 файла, и выберите тот, который вы предпочитаете. Чтобы обновить внешний вид, в разделе «Системные настройки / Внешний вид» измените тему на другую и вернитесь к «Ambiance».

edit: появляется, что Xterm использует тему Radiance. Полосы прокрутки в Radiance черные на черном и просто невидимы. Так стильно, да! Нужно тоже отредактировать эту тему.

culebrón
источник
Пожалуйста, вы можете отправить отчет об ошибке, чтобы уведомить разработчиков - нам нужно настроить цвет полосы прокрутки, и ваш сценарий использования выделит это. Спасибо.
fossfreedom
@fossfreedom, я думаю, вы могли бы отредактировать «Unity» из «полосы прокрутки Unity», так как я думаю, что OP ссылается на обычные полосы прокрутки (gtk-2.0), которые мы видим, например, в LibreOffice и Firefox. Если оставить «Unity» на месте, может сложиться впечатление, что речь идет о «новых» оверлейных полосах прокрутки.
@ vasa1 - я позволю ОП ответить на этот вопрос ...
fossfreedom
Возможно, было бы лучше сделать эту модификацию в каталоге пользователя, а не в масштабе всей системы
Хорхе Кастро
1

Хотя это и не является прямым ответом на вопрос, если вам не нравятся новые полосы прокрутки (я не виню вас, на мой взгляд, они ужасны), вы можете вернуться к стандартным полосам прокрутки, выполнив следующую команду:

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar3-0.2-0 liboverlay-scrollbar-0.2-0
AClockWorkLemon
источник
Возможно, что OP относится к обычным полосам прокрутки, а не к оверлейной полосе прокрутки, поскольку редактирование /usr/share/themes/Ambiance/gtk-2.0/gtkrcпомогло.
Я в порядке с ними, они выглядят стильно, но «стильная» вещь явно перестаралась, за счет удобства использования. То же самое касается моды написания всех маленьких букв или всех заглавных букв, «убунту». Чем меньше палочек торчит из линии, тем хуже читаемость.
culebrón
Вопрос, очевидно, касается обычной (или «устаревшей») полосы прокрутки, поскольку она имеет плохую контрастность. Вам может понравиться или не понравиться новый стиль наложения, но его тонкий оранжевый над серым, по крайней мере, имеет надлежащий контраст.
MestreLion