Jak zmienić kolor paska przewijania?


20

Paski przewijania w Unity mają bardzo niski kontrast i nie widzę, gdzie pasek używa tylko widzenia peryferyjnego. Muszę spojrzeć na pasek przewijania.

Spójrz na interfejs Mac OS X i zauważ niebieski kontrastujący pasek przewijania. Nie musisz patrzeć na to bezpośrednio, aby zorientować się, gdzie jesteś na stronie.

Jak mogę to zmienić, aby miał większy kontrast i za każdym razem widzę, gdzie jestem?


1
@ culebrón oto zrzut ekranu z rozmyciem radialnym i „niewidocznym” paskiem przewijania. Pozwolę ci dodać to do twojego pytania, jeśli chcesz.
Tom Brossman,

@ culebrón czy to pytanie może być problemem, z którym się borykasz?
Bruno Pereira

2
Powiązany raport o błędzie: Błąd # 563474
Christopher Kyle Horton

Sugerowanie nieodpowiedniego pytania dla witryn SE: Dlaczego programiści uważają, że pasek przewijania o niskim kontraście jest dobrym interfejsem użytkownika?
neuronet

Odpowiedzi:


19

Trochę późno, ale być może znalazłem całkiem fajne, łatwe rozwiązanie GUI:

gnome-wybór kolorów Zainstaluj gnome-color-selektor

ustawienia paska przewijania w Gnome Color Chooser

Najważniejsze:

  • Całkowicie rozwiązanie GUI, bez konieczności ręcznego manipulowania ~/.gtkrc
  • Zmienia tylko ustawienia, które sprawdzasz. Odznacz je, aby przywrócić domyślne.
  • Zmiany zostaną zastosowane natychmiast po kliknięciu Apply. Nie trzeba przełączać tematów tam iz powrotem
  • Nie ma potrzeby sudo (ale zmiany dotyczą tylko użytkownika)
  • Dotyczy tylko pasków przewijania „starszych” (tych, które wymagają naprawy). Pasek przewijania „nakładki” nie jest modyfikowany.

Zmiany są dość dyskretne: edytuje (lub tworzy), ~/.gtkrcaby dołączyć własny plik konfiguracyjny:

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

Ten plik jest również dość cienki:

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

Przy okazji, wybrałem powyższe kolory z eksperymentów. Ładnie komponują się z „monochromatycznym” stylem Ambiance, ponieważ są nieco ciemniejsze (a przez to bardziej widoczne) niż domyślne.

Dopóki Firefox nie wyświetli pasków przewijania, jestem całkiem zadowolony z moich niestandardowych kolorów :)


Próbowałem tego w Unity Ubuntu 14.04, ale nie miało to żadnego wpływu na moje paski przewijania, które zauważyłem do tej pory (w tym po ponownym uruchomieniu).
neuronet

@neuronet: Tak, zauważyłem, że przestało to działać w najnowszych wersjach Firefoksa (od 45 lub 47)
MestreLion

Dlaczego bzdury programiści Unity nie mogą po prostu uczynić tego widocznym elementem ustawień systemowych? Czas, w którym denerwowałem się tym, mogłem opracować nowy system operacyjny. :)
neuronet

11

Zbudowałem na podstawie tego, co opisał culebrón i przypadkowo stworzyłem coś, co moim zdaniem jest niesamowite ...

Otwórz /usr/share/themes/Ambiance/gtk-2.0/gtkrcjako root do modyfikacji:

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

Następnie zmodyfikuj pasującą sekcję w tym pliku do następującej (pamiętaj, aby wykonać kopię zapasową ustawień domyślnych, jeśli zmiany nie podobają Ci się):

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}
    }
}

Zapisz, a następnie zastosuj zmiany, przełączając motywy lub wylogowując się.

Nowe, niesamowite i użyteczne paski przewijania mogą wyglądać następująco:


Z jakiegoś powodu robienie tego w ogóle nie wpływa na paski przewijania terminali. Bawiłem się nawet, /usr/share/themes/Ambiance/gtk-2.0/apps/gnome-terminal.rcale nie miałem radości!
adarshr

Przepraszam, adarshr, ale nie jestem wystarczająco zaznajomiony z tematami, aby pomóc ci w paskach przewijania terminalu. Mam nadzieję, że ktoś inny może wskoczyć z rozwiązaniem. :)
askuhn

9

Powyższe powoduje zmianę paska przewijania dla aplikacji korzystających z plików motywu gtk2. Podobnie robi gnome-wybór kolorów (przynajmniej ten w bieżącym repozytorium). W przypadku aplikacji gtk3, takich jak gnome-terminal i gedit w 13.04 korzystających z gnome-fallback, trzeba to zmienić /usr/share/themes/Ambiance/gtk-3.0/gtk-widgets.css.

Aby to zrobić

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

i zamień * scrollbar *sekcję na:

/*************
 * 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 {
}

To daje pasek przewijania w gtk3, który wygląda następująco:

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

Który jest trochę podobny do powyższego dla gtk2. Małe kleszcze i odpowiednie stepery nie są tu jednak uwzględnione.


Działa dla terminalu 14.04, dzięki.
markdsievers

3
Działa to świetnie w aplikacjach gtk3, takich jak Firefox 46 i nowszy. Zamiast modyfikować oryginalne pliki motywów, zmiany można dodać do ~ / .config / gtk-3.0 / gtk.css, nadając każdemu użytkownikowi swój preferowany wygląd, zachowując jednocześnie oryginały.
yoyoma2

8

Znaleziono rozwiązanie: sudo i otwórz /usr/share/themes/Ambiance/gtk-2.0/gtkrci znajdź ten kod:

style "scrollbar" = "button" {

Poniżej w nawiasach klamrowych zmień linie bg [COŚ], aby wyglądały następująco:

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

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

Lub spójrz na kolory zadeklarowane w linii 1 pliku i wybierz ten, który preferujesz. Aby zaktualizować wygląd, w Ustawieniach systemu / Wygląd zmień motyw na inny i wróć do Ambiance.

edycja: Wygląda na to, że Xterm używa motywu Promieniowanie. Paski przewijania w świetle są czarne na czarnym i są po prostu niewidoczne. Tak stylowo, tak! Musisz też edytować ten motyw.


Czy możesz złożyć raport o błędzie, aby powiadomić programistów - potrzebujemy konfigurowalnego koloru paska przewijania, a Twój przypadek użycia to podświetli. dzięki.
fossfreedom

@fossfreedom, myślę, że możesz edytować „Unity” z „paska przewijania Unity”, ponieważ myślę, że OP odnosi się do konwencjonalnych pasków przewijania (gtk-2.0), które widzimy na przykład w LibreOffice i Firefox. Pozostawienie „Jedności” na miejscu może sprawiać wrażenie, że mówi się o „nowych” paskach przewijania nakładki.

@ vasa1 - Pozwolę OP odpowiedzieć na to ...
fossfreedom

Lepszym pomysłem może być dokonanie tej modyfikacji w katalogu użytkownika zamiast w całym systemie
Jorge Castro,

1

Chociaż nie jest to bezpośrednia odpowiedź na pytanie, jeśli nie lubisz nowych pasków przewijania (nie obwiniam cię, są one dość przerażające, moim zdaniem), możesz powrócić do standardowych pasków przewijania, uruchamiając następujące polecenie:

sudo apt-get remove overlay-scrollbar liboverlay-scrollbar3-0.2-0 liboverlay-scrollbar-0.2-0

Możliwe, że OP dotyczy konwencjonalnych pasków przewijania, a nie paska przewijania nakładki, ponieważ /usr/share/themes/Ambiance/gtk-2.0/gtkrcpomogła edycja .

Nie mam nic przeciwko, wyglądają stylowo, ale „stylowa” rzecz jest oczywiście przesadzona, kosztem użyteczności. To samo dotyczy mody pisania małymi literami lub wielkimi literami „ubuntu”. Im mniej drążków wystaje poza linię, tym gorsza jest czytelność.
culebrón

Pytanie oczywiście dotyczy konwencjonalnego (lub „starszego”) paska przewijania, ponieważ ten ma słaby kontrast. Nowy styl nakładki może Ci się nie podobać, ale jego cienka pomarańczowa na szaro przynajmniej ma odpowiedni kontrast.
MestreLion

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.