Як змінити колір І ширину смуг прокрутки, що не накладаються, в Ubuntu 12.04


13

Я знаю, що багато людей скаржилися на майже невидимі і непридатні смуги прокрутки в останніх версіях 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. Спасибі!


1
Знімок екрана було б непогано.
Урі Еррера

1
Скріншот - це я обов'язково думаю в цьому випадку. Оскільки надана відповідь - це не те, що ви хотіли.
Анвар

Привіт @UriHerrera та Anwar, я вже додав кілька зображень. Спасибі!
Чукі

1
Будь ласка, для любові до бога, чому б чорти просто не зробили це легко змінити в налаштуваннях системи?
нейронет

Відповіді:


4

Примітка:

Форматування у цій відповіді оптимально лише для точного (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

Будь обережний. Зробіть резервні копії.

Насолоджуйтесь! :)


Для тих, хто вже читав мою відповідь: останнім редагуванням я значно покращив форматування. :)
Ніколя

8

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

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

Очевидно, що ви можете встановити різні кольори у двох файлах, якщо захочете.

Для візуалізації змін вам може знадобитися перейти на іншу тему та назад після того, як ви внесли зміни та зберегли ці файли.

Зміни, внесені в / usr / share / теми, будуть загальносистемними, а зміни в ~ / .themes - специфічними для користувача.

Ось так виглядає моя панель прокрутки в PCManFM.

Мій смуга прокрутки

Редагувати : Якщо ви користуєтеся звичайними панелями прокрутки, то для збільшення контрасту між повзунком та жолобом у додатках gtk-3.0, таких як gedit, можна редагувати згаданий вище файл gtk-widgets.css . Для цього знайдіть розділ прокрутки (або щось подібне) і знайдіть рядки, що мають щось подібне:

.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;

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

Я вважаю за краще робити щось простіше: я змінюю фонове зображення на фоновий колір і просто маю той колір, який мені подобається. Так, наприклад, фоновий колір: червоний; мабуть, мав би видатний контраст.

Мій код виглядає приблизно так:

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

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

(Я не можу змусити форматування блокових лапок працювати під час публікації відповідей. Якщо хтось очистить речі, я буду вдячний.)

Остання остання редакція (я сподіваюся): Користувачі Chrome або Chromium можуть збільшити контраст, редагуючи свій gtk-2.0/apps/chromium.rcфайл, якщо їх тема надає, або редагуючи, 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"

(Цитати обов'язкові.)


1
Вибачте, @ vasa1! Я забув згадати, що я видалив панелі прокрутки накладання за допомогою "Встановлення" або деяких команд. Зараз у мене вузькі та низькоконтрастні смуги прокрутки. Ось що мені потрібно виправити. (Я вже редагував оригінальне запитання).
Чукі

@Chuqui, чи можете ви зазначити кілька конкретних програм, які є проблематичними? І згадайте, яку тему ви використовуєте. Мені відомо хоча б одна тема, яка має дуже тонкі прокрутки. У такому випадку це може бути просто спробою іншої теми.

Привіт @ vasa1, я хочу ще раз подякувати за детальні інструкції, які ти мені дав. Вибачте, що я недостатньо зрозуміла в своєму запитанні. Зверху ви можете побачити зображення програм, у яких важко бачити прокрутки: Nautilus, Nuvola Player та Ubuntu Software Center. Навпаки, використовуючи Gnome Color Chooser, я міг змінити Firefox, Ubuntu One та інші прокрутки панелі програмного забезпечення, наприклад LibreOffice. Я використовую тему за замовчуванням: Ambiance
Chuqui,

1
Я запропонував редагування, щоб ви вказували на те, як ви могли збільшити контраст навіть для Nautilus та USC. Я не знаю про Нуволу. IMO, ширина смуги прокрутки за замовчуванням в Ambiance не надто погана (коли ви налаштуєте контраст).

Дуже приємна відповідь. Як дізнатися, чи використовує програма GTK 2 або GTK 3? Ex nautilus, gedit використовує GTK 3, але firefox / thunderbird використовує GTK 2. Чи є спосіб це знайти?
Чандрая ГК

2

Для 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в поточному каталозі.


1
Хіба це не було б краще як редагування вашої іншої відповіді?
Павло В.

Мій намір окремої відповіді полягав у тому, щоб чітко відокремити 12,04 матеріалів від 14,04, щоб споживачі моїх підготовлених файлів макетів могли швидко знайти і не плутати. Але ... ну ... можна посперечатися з приводу ...;)
Ніколя
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.