Jak zmienić kolor tła etykietki w Unity?

215

W wielu aplikacjach podpowiedzi są po prostu brzydkie (biały tekst na czarnym tle, zdecydowanie za duży kontrast) lub nawet nieczytelne (czarny lub granatowy tekst (hiperłącza) na czarnym tle). Chcę zmienić kolor tła podpowiedzi na średni szary, a nawet żółty lub coś w tym stylu, może nawet półprzezroczyste.

Oto zrzut ekranu Eclipse, który wyświetla kod źródłowy w podpowiedzi z czarnym tekstem na czarnym tle:

Zaćmienie z bezużyteczną etykietką

Przejście na inny motyw (coś innego niż Ambiance lub Radiance) pomaga, ale lubię Ambiance i chcę go zachować. To tylko ten cholerny kolor podpowiedzi, który jest absolutnie niedopuszczalny.

Znalazłem kilka rozwiązań dla starszych wersji Ubuntu, ale nie działają one już z Unity w Ubuntu 11.10, ponieważ nie mogę znaleźć żadnej funkcji do dostosowania motywu Ambiance lub Radiance. Jak mam to zrobić w obecnej wersji Ubuntu?

Kayahr
źródło

Odpowiedzi:

148

Zainstaluj i otwórz gnome-wybór kolorówZainstaluj gnome-color-selektor .

Przejdź do SpecificTooltipsi umieść czarny plan na jasnożółtym tle.

Nick Andrik
źródło
3
uruchom ponownie zaćmienie, aby zmiany zaczęły obowiązywać
cmcginty
8
Nie ma potrzeby ponownego uruchamiania dla mnie.
ubuntudroid
1
Działa to również w przypadku 12.04 LTS z Eclipse 4.2!
David Edwards,
2
Niestety nie zadziałało to dla mnie (Ubuntu 12.04 64-bit i Eclipse Juno). Zarówno zaakceptowana odpowiedź, jak i poniższa od DJo, działały dla mnie.
Luis
8
+1, ale pamiętaj, że wpływa to na WSZYSTKIE podpowiedzi systemowe. Jeśli szukasz rozwiązania tylko dla Eclipse, postępuj zgodnie z odpowiedzią @ bain.
ysap
135

Znaleziono to!

Musiałem edytować te pliki:

/usr/share/themes/Ambiance/gtk-3.0/settings.ini
/usr/share/themes/Ambiance/gtk-3.0/gtk.css
/usr/share/themes/Ambiance/gtk-2.0/gtkrc

(Dodanie: w przypadku Ubuntu 12.04 wydaje się, że musisz zmodyfikować plik: /usr/share/themes/Ambiance/gtk-2.0/gtkrc, zastępując odpowiednio kolor tła i pierwszego planu etykiety, odpowiednio # 000000 i # f5f5b5 )

Do edycji plików potrzebujesz uprawnień roota. Użyj gksudo geditdo ich edycji.

Wyszukaj tooltipw tych plikach, a znajdziesz definicje kolorów dla pierwszego planu i tła. Używam #000000jako pierwszego planu i #f5f5b5jako tła, a teraz podpowiedzi we wszystkich aplikacjach są znów czytelne. Po zmianie wartości kolorów po prostu przełącz się na inny motyw, a następnie z powrotem do Ambiance, a kolor podpowiedzi jest teraz stały.

Oto wynik:

Zaćmienie z dostosowanym motywem

Kayahr
źródło
2
jakikolwiek sposób, aby to zrobić za pomocą interfejsu użytkownika w Ubuntu 11?
frankster,
1
Działał tak, jak oczekiwano w Xubuntu 12.10.
davidcesarino
1
Czy istnieje sposób, aby to zmienić tylko dla użytkownika (tj. Nie wymaga [gk]sudo? Jestem pewien, że jak większość ustawień gnome, istnieje plik konfiguracyjny dla każdego użytkownika /
katalog
2
@MestreLion: tematy użytkownika są wybierane ~/.themes/. Musisz do tego skopiować folder Ambiance.
zapalić
1
Musiałem też edytować gtk-3.0/gtk-main.css, ale działało to 14.04. Działa również podczas korzystania z motywu „Promieniowanie”, wystarczy edytować te same pliki w Radiancefolderze.
jmiserez 26.04.16
29

Jeśli chcesz zmienić kolory podpowiedzi dla wszystkich aplikacji, zainstaluj i uruchom gnome-color-selektor i przejdź do zakładki Określone> Podpowiedzi. Zaznacz pola dla pierwszego planu i tła i wybierz kolory.

Jak to działa (możesz to zrobić ręcznie):

gnome-color-chooser dodaje do ~ / .gtkrc-2.0:

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

i ~ / .gtkrc-2.0-gnome-selektor:

style "gnome-color-chooser-tooltips"
{
  bg[NORMAL] = "#FFFFAF"
  fg[NORMAL] = "#000000"
}
widget "gtk-tooltip*" style "gnome-color-chooser-tooltips"

Jeśli chcesz tylko zmienić kolory podpowiedzi dla pojedynczej aplikacji, takiej jak zaćmienie, umieść powyższy tekst w niestandardowym pliku gtkrc (np. ~ / Gtkrc-eclipse) i rozpocznij zaćmienie za pomocą GTK2_RC_FILES = ~ / gtkrc-eclipse eclipse

bain
źródło
1
Oto ustawienie umożliwiające dostosowanie koloru tła okna dialogowego autouzupełniania w Eclipse: stackoverflow.com/a/8063723/356895 .
JJD
Czy wiesz, jak mogę dołączyć zmienną środowiskową do menu aplikacji Ubuntu, aby Eclipse ładował również ustawienia, gdy nie zostały uruchomione przez powłokę?
JJD
3
Przygotowałem artykuł podsumowujący ten temat.
JJD
2
fantastyczne podejście @bain !!! :) Nie wymaga sudo, wpływa tylko na użytkownika i nie trzeba kopiować całego motywu na swój ~. Fajnie :)
MestreLion
1
@JJD: Zwykle jestem przeciwny tylko „dziękuję”, ale twoje artykuły są niesamowite. Zauważyłem, że używa tego samego podejścia co ta odpowiedź. Ponieważ już używam niestandardowego skryptu powłoki, aby uruchomić Eclipse zarówno z wiersza poleceń, jak i pliku .desktop, dodanie GTK2_RC_FILES = ... env jest łatwe. Dzięki :)
MestreLion
22

Stworzyłem mały skrypt, który robi to za Ciebie

#/bin/sh
# Tooltip fix
# A script to fix themes files in Ubuntu 11.10
#  to have readable tooltips in applications such
#  as eclipse.
# The script edits the gtk.css, settings.ini and gtkrc files
# Author: Victor Pillac
# http://victorpillac.wordpress.com

if [[ $EUID -ne 0 ]]; then
  echo "This script must be run as root" 1>&2
  exit 1
fi  

path=/usr/share/themes
theme=Ambiance

if [ $# = 1 ]; then
  theme=$1
fi

echo "Fixing tooltips for theme $theme"
echo " (you can select a different theme by passing its name as argument)"
sed -i 's/tooltip_bg_color #000000/tooltip_bg_color #f5f5b5/g' $path/$theme/gtk-3.0/gtk.css
sed -i 's/tooltip_fg_color #ffffff/tooltip_fg_color #000000/g' $path/$theme/gtk-3.0/gtk.css
sed -i 's/tooltip_bg_color:#000000/tooltip_bg_color:#f5f5b5/g' $path/$theme/gtk-3.0/settings.ini
sed -i 's/tooltip_fg_color:#ffffff/tooltip_fg_color:#000000/g' $path/$theme/gtk-3.0/settings.ini
sed -i 's/tooltip_bg_color:#000000/tooltip_bg_color:#f5f5b5/g' $path/$theme/gtk-2.0/gtkrc
sed -i 's/tooltip_fg_color:#ffffff/tooltip_fg_color:#000000/g' $path/$theme/gtk-2.0/gtkrc
echo "Done"
Victor P.
źródło
8

Przyjąłem nieco inne rozwiązanie;

Najpierw utwórz nowy skrypt, eclipse.sh, który rozpoczyna eclipse, moje wygląda następująco:

#!/bin/bash
GTK2_RC_FILES=/usr/share/eclipse/gtkrc-2.0-eclipse /usr/share/eclipse/eclipse

Następnie utwórz plik gtkrc (/usr/share/eclipse/gtkrc-2.0-eclipse), moje wyglądają tak (mają też inne zmiany, aby lepiej wykorzystać ekran):

style "my-tooltips"
{
  bg[NORMAL] = "#FFFFAF"
  fg[NORMAL] = "#000000"
}
widget "gtk-tooltip*" style "my-tooltips"

style "gtkcompact" 
{
    font_name="Ubuntu Light 11"

    GtkButton::default_border={0,0,0,0}
    GtkButton::default_outside_border={0,0,0,0}
    GtkButtonBox::child_min_width=0
    GtkButtonBox::child_min_heigth=0
    GtkButtonBox::child_internal_pad_x=4
    GtkButtonBox::child_internal_pad_y=4
    GtkMenu::vertical-padding=1
    GtkMenuBar::internal_padding=0
    GtkMenuItem::horizontal_padding=4
    GtkToolbar::internal-padding=1
    GtkToolbar::space-size=1
    GtkOptionMenu::indicator_size=0
    GtkOptionMenu::indicator_spacing=0
    GtkPaned::handle_size=4
    GtkRange::trough_border=0
    GtkRange::stepper_spacing=0
    GtkScale::value_spacing=0
    GtkScrolledWindow::scrollbar_spacing=0
    GtkExpander::expander_size=10
    GtkExpander::expander_spacing=0
    GtkTreeView::vertical-separator=0
    GtkTreeView::horizontal-separator=0
    GtkTreeView::expander-size=10
    GtkTreeView::fixed-height-mode=TRUE
    GtkWidget::focus_padding=0
    GtkTreeView::vertical-separator = 0
}

class "GtkWidget" style "gtkcompact"

style "gtkcompactextra" 
{
    xthickness=0
    ythickness=0
}

class "GtkButton"   style "gtkcompactextra"
class "GtkToolbar"  style "gtkcompactextra"
class "GtkPaned"    style "gtkcompactextra"
class "GtkNotebook" style "gtkcompact"
Mikrofon
źródło
7

W przypadku CDT wykonaj następujące czynności:

Okno> Preferencje> C / C ++> Edytor: Wygląd Opcje kolorów> Źródło tła kursora

Odznacz System Default i wybierz kolor.

Niestety, nie znam żadnego ustawienia dla całego środowiska Eclipse. Dość kulawe. Nie powinieneś ustawiać takich rzeczy dla każdej perspektywy.

DJo
źródło
6

Myślę, że ten jest rozwiązany. Mam to pokazujące etykietkę z czarnymi literami na białym tle. W moim przypadku wydaje się, że Eclipse używa ustawień dla podpowiedzi z gtk-2.0/gtkrcpliku z katalogu motywów.

Moja konfiguracja: Ubuntu 12.04, Gnome (Not Unitiy), Eclipse Indigo (3.7), motyw GrayDay dla Gnome. Nazwa motywu i sam motyw nie jest importowany.

Otwórz terminal, przejdź do katalogu motywów (cd $ HOME / .themes) i tam przejdź do katalogu motywu. Jeśli Twoja domena .themes, jeśli jest pusta, nie istnieje, to używasz motywu systemowego, który znajduje się w / usr / share / themes. Po prostu wymyśl nazwę używanego motywu (kliknij prawym przyciskiem myszy na bakcground, wybierz Zmień tło pulpitu, nazwa motywu powinna znajdować się w prawym dolnym rogu. Jeśli nie mówi nic o nazwie motywu, użyj gnome-tweak-tool, aby znaleźć jakiego motywu używasz).

W katalogu motywów wydaj polecenie:

grep -r tooltip *

powinien wypisać wszystkie pliki i wiersze, w których wspomniana jest „etykietka” klucza. Zmień każde tło (tooltip_bg_color) na #ffffff i każdy pierwszy plan na # 000000. Czarne puchnie na białym planie, tego właśnie chcemy! W szczególności zmień wartości w gtk-2.0/gtkrcpliku.

Błąd, który popełniłem, to chaing color tooltip w katalogu gtk-3.0, który nie miał żadnego efektu.

Teraz przejdź do Eclipse, Okno -> Preferencje -> Java -> Edytor i ustaw Source Hover Background na „System color” (zaznacz po prawej). Uruchom ponownie środowisko Eclipse!

Oto lista grep -r tooltip *z mojego katalogu motywów po wprowadzeniu zmian:

gtk-2.0/gtkrc:gtk-color-scheme  = "tooltip_fg_color:#000000\ntooltip_bg_color:#ffffff\nlink_color:#0033ff"
gtk-2.0/gtkrc:style "tooltips" {
gtk-2.0/gtkrc:  bg[NORMAL]  = @tooltip_bg_color
gtk-2.0/gtkrc:  fg[NORMAL]  = @tooltip_fg_color
gtk-2.0/gtkrc:  GtkWidget::new-tooltip-style    = 0
gtk-2.0/gtkrc:# The window of the tooltip is called "gtk-tooltip"
gtk-2.0/gtkrc:widget "gtk-tooltip*"             style "tooltips"
gtk-3.0/gtk.css:/* @define-color tooltip_bg_color #343434; */
gtk-3.0/gtk.css:/* @define-color tooltip_fg_color #ffffff; */
gtk-3.0/gtk.css:@define-color tooltip_bg_color #ffffff;
gtk-3.0/gtk.css:@define-color tooltip_fg_color #343434;
gtk-3.0/gtk.css:@define-color theme_tooltip_bg_color @tooltip_bg_color;
gtk-3.0/gtk.css:@define-color theme_tooltip_fg_color @tooltip_fg_color;
gtk-3.0/gtk-widgets.css:.tooltip {
gtk-3.0/gtk-widgets.css:    background-color:   @theme_tooltip_bg_color;
gtk-3.0/gtk-widgets.css:    color:              shade(@theme_tooltip_fg_color, 0.90);
gtk-3.0/gtk-widgets.css:.tooltip * {
gtk-3.0/gtk-widgets.css:    background-color: @theme_tooltip_bg_color;
gtk-3.0/settings.ini:gtk-color-scheme   = "tooltip_fg_color:#343434\ntooltip_bg_color:#ffffff\nlink_color:#4a90d9"
gtk-3.0/settings-default.ini:gtk-color-scheme   = "tooltip_fg_color:#343434\ntooltip_bg_color:#ffffff\nlink_color:#4a90d9"
Mihael K.
źródło
Wystarczyło śledzić odpowiedź jgreena i zmienić tylko jedną linię w jednym pliku.
Teemu Leisti,
3

Istnieje również inne rozwiązanie tego problemu: użyj edytora dconf, aby znaleźć następujący klucz:

org->gnome->desktop->interference->gtk-color-scheme

którego opis brzmiał: \nOddzielna lista name:colorzdefiniowana przez gtk-color-schemeustawienie.

Napisz schemat w gedit w stylu podobnym do poniższego (ten przykład jest mój), a następnie wklej go w edytorze dconf (zauważ „\ n” na każdym końcu wiersza):

fg_color:#4c4c4c4c4c4c
bg_color:#f2f2f1f1f0f0
text_color:#3c3c3c3c3c3c
base_color:#ffffffffffff
selected_fg_color:#ffffffffffff
selected_bg_color:#f0f077774646
tooltip_fg_color:#ffffff5a0e74
tooltip_bg_color:#14a784edd8b6

a problem zostanie natychmiast rozwiązany.

Shawn Zhao
źródło
org-> gnome-> desktop-> interfejs-> gtk-color-schemat
Alessandro D'lncal
Podobnie jak nowe Odwołanie: GtkSettings: schemat kolorów-gtk jest przestarzały od wersji 3.8 i nie powinien być używany w nowo napisanym kodzie. Obsługa schematów kolorów została odrzucona i nie jest już obsługiwana. Nadal możesz ustawić tę właściwość, ale zostanie ona zignorowana.
Alessandro D'lncal
W Ubuntu 18.04 nie jest już ważny. Próbowałem to zmienić przez dconf, ale bez rezultatów. W Ubuntu 18.04 musisz zmienić folder gtk-3.0 w .config, umieszczając plik gtk.css, aby zadziałał. Musisz zmodyfikować nawet seettings.ini w tym folderze.
Alessandro D'lncal,
3

Moje podpowiedzi są czarno-żółte. Zobacz zrzut ekranu z Ubuntu 16.04 LTS z MATE DE:

Etykietka czarno-żółta

Jeśli podoba Ci się taka kombinacja kolorów, użyj 3 plików GTKRC (2 dla GTK3, 1 dla GTK2) poniżej:

  1. ~ / .config / gtk-3.0 / gtk.css

    /* tooltips */
    @define-color tooltip_bg_color #ffffaf;
    @define-color tooltip_fg_color #000000;
    
  2. ~ / .config / gtk-3.0 / settings.ini

    [Settings]
    gtk-color-scheme = "tooltip_bg_color:#ffffaf\ntooltip_fg_color:#000000"
    
  3. ~ / .gtkrc-2.0

    style "gnome-color-chooser-tooltips"
    {
    bg[NORMAL] = "#FFFFAF"
    fg[NORMAL] = "#000000"
    }
    
    widget "gtk-tooltip*" style "gnome-color-chooser-tooltips"
    

Trzeci plik został stworzony przez gnome-color-chooser. Używaj go tylko, jeśli masz aplikacje oparte na GTK2.

Powyższa metoda została przetestowana na Ubuntu 14.04 LTS (Unity i GNOME), Ubuntu 16.04 LTS (Unity, GNOME, MATE), Ubuntu 18.04 LTS (Unity, GNOME, MATE).

N0rbert
źródło
W Ubuntu 18.04 trzecia i czwarta część nie są przydatne, ponieważ używa Gtk-3.0. Pierwszy i drugi rozwiązują problem.
Alessandro D'lncal,
2

Miałem ten sam problem (Xubuntu 12.04, motyw Greybird, Eclipse Indigo) i odpowiedź Mihaela K. działała dla mnie. Jedyny plik, który zmieniłem, to gtk-2.0 / gtkrc i zmieniłem tylko jedną linię. Trzeci wiersz po wstępnych komentarzach. Zmieniono wartości koloru szesnastkowego z tooltip_bg_color: # 000000 na tooltip_bg_color: # ffffe1 i tooltip_fg_color: #ffffff na tooltip_fg_color: # 000000. Więc linia będzie wyglądać następująco:

gtk_color_scheme        = "tooltip_bg_color:#ffffe1\ntooltip_fg_color:#000000" # Tooltips.

Zrestartowane elipsy i podpowiedzi mają teraz żółtawy kolor, do którego jestem przyzwyczajony. Nie musiałem dokonywać żadnych dalszych poprawek w środowisku Eclipse ani w żadnym innym pliku.

jgreen
źródło
0

Bardziej przyjaznym dla użytkownika sposobem zmiany tła jest użycie interfejsu użytkownika. Otwarty system, Preferencje, Wygląd. Domyślnie zostanie wybrany motyw „Ambiance”, ale możesz go zmienić dla dowolnego motywu. Kliknij przycisk Dostosuj poniżej i przejdź do karty Kolory. Tam możesz zmienić kolory pierwszego planu i tła podpowiedzi, klikając odpowiednie pola.

Sergiy Belozorov
źródło
2
W dniu 11.10 to nie działa. Mogę zmienić motyw w wyglądzie, ale nie ma możliwości dostosowania motywu.
Daniel Kullmann
Nie mam zainstalowanej wersji 11.10, ale byłoby dziwnie, gdyby usunęli sposób dostosowania motywu. Być może zmienili nazwę przycisku i / lub umieścili go w innym miejscu / karcie?
Sergiy Belozorov
Sergiy, wielu z nas szukało, ale wygląda na to, że go tam nie ma. Mamy nadzieję, że pojawi się ponownie za 12.04.
1
Czy naprawdę jesteście zaskoczeni usuniętymi opcjami dostosowywania w Gnome3 / Unity?
MestreLion
Już nie ... po pewnym czasie korzystania z 12.04 nasi administratorzy rozważają przejście na Fedorę lub inną dystrybucję podobną do RHEL. Ubuntu stało się platformą multimedialną, która działa dobrze dla użytkowników domowych, ale nie dla specjalistów IT.
Sergiy Belozorov
0

W systemie Ubuntu 12.10 (kwantowym) możesz użyć następujących dwóch poleceń:

#foreground white => black
sudo sed -i s/tooltip_fg_color:#ffffff/tooltip_fg_color:#000000/g  /usr/share/themes/Ambiance/gtk-3.0/settings.ini /usr/share/themes/Ambiance/gtk-3.0/gtk.css /usr/share/themes/Ambiance/gtk-2.0/gtkrc
#background black => yellow
sudo sed -i s/tooltip_bg_color:#000000/tooltip_bg_color:#f5f5b5/g  /usr/share/themes/Ambiance/gtk-3.0/settings.ini /usr/share/themes/Ambiance/gtk-3.0/gtk.css /usr/share/themes/Ambiance/gtk-2.0/gtkrc

(Dzięki innym odpowiedziom, które pomogły mi to rozgryźć !!)

AmanicA
źródło
0

Ta odpowiedź ma na celu wskazanie rzadkiego przypadku, w którym występuje bardzo podobny błąd, jeśli zainstalowałeś Xulrunner i skonfigurowałeś Eclipse do jego używania.

Zainstalowałem xulrunner, aby GPE Designer poprawnie renderował interfejsy GWT w trybie projektowania, co działało bardzo dobrze, ale zauważyłem, że również złamało podpowiedzi. Błąd jest w rzeczywistości gorszy niż zrzut ekranu powyżej, po prostu wyświetla pustą etykietkę.

Aby to naprawić, wystarczy usunąć parametr xulrunner z eclipse.ini:

-Dorg.eclipse.swt.browser.XULRunnerPath=/path/to/xulrunner/

Działa dla mnie z Ubuntu 12.04, Eclipse 4.2 / Juno i xulrunner 1.9.2

Carrizo
źródło
0

Dla użytkowników podstawowych:

Idź do /usr/share/themes/elementary/gtk-3.0, edytuj plik za gtk-widgets.csspomocą sudo nano, wpisz, Ctrl + Waby znaleźć Tooltips, a następnie przy background-color: alpha(#color, #opacity)zmianie koloru na coś podobnego #f5f5b5i ustaw krycie na 1.

Nacięcie
źródło
0

Aby otworzyć okno Wygląd za pomocą Tab: Tematy bezpośrednio z roota @ napisz terminal (możesz użyć tego polecenia również do skryptu):

sudo -u USER gnome-appearance-properties -p theme

gdzie USERjest twój obecny użytkownik na pulpicie. Otworzy się Wygląd poprawnie, ale nadal musisz kliknąć ekrany motywów w oknie Wygląd, aby uruchomić motyw.

W przypadku testu z motywem instalacji: Pył z root @ terminalu polecenie:

sudo -u USER gnome-appearance-properties -i /home/USER/Desktop/Dust-0.4.tar.gz

dostaje ten błąd:

(gnome-wygląd-właściwości: 16161): Gtk-WARNING **: Nie można znaleźć silnika motywu w ścieżce module: „murrine”

ale jeśli motyw: Pył instaluje się, wybierając menu: System / Preferencje / Wygląd i instaluje się z okna Wygląd, instalacja motywu: Pył jest poprawny.

Potrzebne jest polecenie odpowiedzialne za wybór motywów w oknie Wygląd, ale nie mogę go znaleźć.

Khmer
źródło
0

Korzystam z Kubuntu 16.04 z motywem Breeze i Eclipse 4.6.1 z domyślnym GTK3, gdy naprawiono problem z dopełnianiem przycisków.

Aby uzyskać podpowiedzi unoszące z jasnoszarym tłem i czarnym planem, wprowadziłem kilka zmian /usr/share/themes/Breeze-gtk/gtk-3.0/gtk.css; oto z czym skończyłem:

/************
 * Tooltips *
 ************/
.tooltip {
  color: #000000;
  padding: 4px;
  box-shadow: none;
}
.tooltip.background {
    background-color: #f5f5f5;
    background-clip: padding-box;
    border: 1px solid rgba(255, 255, 255, 0.1);
}

I oryginał:

/************
 * Tooltips *
 ************/
.tooltip {
  color: white;
  padding: 4px;
  /* not working */
  border-radius: 5px;
  box-shadow: none;
  text-shadow: 0 1px black; }
  .tooltip.background {
    background-color: rgba(0, 0, 0, 0.8);
    background-clip: padding-box;
    border: 1px solid rgba(255, 255, 255, 0.1); }

Jeśli linki nie działają w wyskakujących oknach Javadoc, może pomóc zainstalować w następujący libwebkitgtksposób:

sudo apt install libwebkitgtk-1.0-0
Mike Partridge
źródło