Bagaimana cara mengubah warna latar tooltip di Unity?


215

Dalam banyak aplikasi, tooltips benar-benar jelek (Teks putih dengan latar belakang hitam, terlalu kontras) atau bahkan tidak dapat dibaca (teks hitam atau biru tua (Hyperlink) pada latar belakang hitam). Saya ingin mengubah warna latar belakang tooltips ke abu-abu sedang atau bahkan kuning atau sesuatu seperti itu, bahkan mungkin sesuatu semi-transparan.

Berikut ini adalah tangkapan layar Eclipse yang menampilkan beberapa kode sumber dalam tip alat dengan teks hitam di latar belakang hitam:

Gerhana dengan tooltip yang tidak dapat digunakan

Beralih ke tema yang berbeda (Sesuatu selain Ambiance atau Radiance) membantu tetapi saya suka Ambiance dan saya ingin menyimpannya. Hanya saja ini tooltip warna yang benar-benar tidak dapat diterima.

Saya menemukan beberapa solusi untuk versi Ubuntu yang lebih lama tetapi mereka tidak lagi berfungsi dengan Unity di Ubuntu 11.10 karena saya tidak dapat menemukan fungsi untuk menyesuaikan tema Ambiance atau Radiance. Jadi bagaimana saya melakukannya dalam versi Ubuntu saat ini?

Jawaban:


148

Instal dan buka gnome-color-chooserInstal gnome-color-chooser .

Pergi ke SpecificTooltipsdan letakkan latar depan hitam di atas latar belakang kuning pucat.


3
restart gerhana agar perubahan diterapkan
cmcginty

8
Tidak perlu restart untuk saya.
ubuntudroid

1
Ini bekerja untuk 12,04 LTS dengan Eclipse 4.2 juga!
David Edwards

2
Sayangnya, ini tidak berhasil untuk saya (Ubuntu 12.04 64-bit dan Eclipse Juno). Keduanya, jawaban yang diterima dan yang di bawah dari DJo, bekerja untuk saya.
Luis

8
+1, tetapi perhatikan bahwa ini memengaruhi SEMUA tooltips sistem. Jika Anda menginginkan solusi hanya untuk Eclipse, ikuti jawaban @ bain.
ysap

135

Menemukannya!

Saya harus mengedit file-file ini:

/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

(Tambahan: untuk Ubuntu 12.04, tampaknya Anda hanya perlu memodifikasi file: /usr/share/themes/Ambiance/gtk-2.0/gtkrc, mengganti warna tooltip backround dan foreground, dengan warna # 000000 dan # f5f5b5, masing-masing. )

Anda memerlukan hak akses root untuk mengedit file. Gunakan gksudo gedituntuk mengeditnya.

Cari tooltipdi file-file ini dan Anda akan menemukan definisi warna untuk latar depan dan latar belakang. Saya menggunakan #000000sebagai latar depan dan #f5f5b5latar belakang dan sekarang tooltips di semua aplikasi dapat dibaca lagi. Setelah mengubah nilai warna cukup beralih ke beberapa tema lain dan kemudian kembali ke Suasana dan warna tooltip sekarang diperbaiki.

Inilah hasilnya:

Gerhana dengan tema yang disesuaikan


2
ada cara untuk melakukan ini melalui UI di ubuntu 11?
Frankrank

1
Bekerja seperti yang diharapkan di Xubuntu 12.10 juga.
davidcesarino

1
Apakah ada cara untuk mengubah ini hanya untuk pengguna Anda (yaitu, tidak memerlukan [gk]sudo? Saya yakin bahwa, karena sebagian besar pengaturan gnome, ada file konfigurasi / dir per-pengguna
MestreLion

2
@MestreLion: Tema pengguna diambil dari ~/.themes/. Anda harus menyalin folder Suasana ke ini.
Menyalakan

1
Saya harus mengedit gtk-3.0/gtk-main.cssjuga, tetapi ini berhasil pada 14,04. Juga berfungsi saat menggunakan tema "Radiance", hanya perlu mengedit file yang sama di Radiancefolder.
jmiserez

29

Jika Anda ingin mengubah warna tooltip untuk semua aplikasi kemudian instal dan jalankan gnome-color-chooser dan buka tab Specific> Tooltips. Centang kotak untuk Foreground dan Background dan pilih warna.

Cara kerjanya (Anda dapat melakukan ini secara manual):

gnome-color-chooser menambahkan yang berikut ke ~ / .gtkrc-2.0 Anda:

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

dan ~ / .gtkrc-2.0-gnome-chooser:

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

Jika Anda hanya ingin mengubah warna tooltip untuk satu aplikasi, seperti gerhana, kemudian letakkan teks di atas ke dalam file gtkrc khusus (misalnya ~ / gtkrc-eclipse) dan mulai gerhana dengan GTK2_RC_FILES = ~ / gtkrc-eclipse eclipse


1
Berikut adalah pengaturan untuk menyesuaikan warna latar belakang dari dialog pelengkapan otomatis di Eclipse: stackoverflow.com/a/8063723/356895 .
JJD

Apakah Anda tahu bagaimana saya bisa memasukkan variabel lingkungan di menu aplikasi Ubuntu sehingga Eclipse juga memuat pengaturan ketika tidak dimulai melalui shell?
JJD

3
Saya menyusun artikel yang merangkum topik tersebut.
JJD

2
pendekatan fantastis @bain !!! :) Tidak memerlukan sudo, hanya memengaruhi pengguna Anda, dan tidak perlu menyalin seluruh tema ke ~. Bagus :)
MestreLion

1
@JJD: Saya biasanya menentang "terima kasih" - hanya komentar, tetapi artikel Anda mengagumkan. Saya perhatikan menggunakan pendekatan yang sama dengan jawaban ini. Karena saya sudah menggunakan skrip shell khusus untuk meluncurkan Eclipse dari baris perintah dan file .desktop, menambahkan GTK2_RC_FILES = ... env itu mudah. Terima kasih :)
MestreLion

22

Saya membuat skrip kecil yang melakukan itu untuk Anda

#/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"

8

Saya telah mengadopsi solusi yang sedikit berbeda;

Pertama buat skrip baru, eclipse.sh, yang dimulai eclipse, milikku terlihat seperti ini:

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

Kemudian buat file gtkrc (/usr/share/eclipse/gtkrc-2.0-eclipse), milik saya terlihat seperti ini (ada beberapa perubahan lain juga untuk membuat penggunaan layar lebih baik):

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"

7

Untuk CDT lakukan hal berikut:

Jendela> Preferensi> C / C ++> Editor: Pilihan Warna Penampilan> Latar Belakang Sumber Hover

Hapus centang System Default, dan pilih warna.

Sayangnya tidak ada pengaturan Eclipse yang saya tahu. Cukup lemah. Anda tidak harus mengatur hal-hal seperti itu untuk setiap perspektif.


6

Saya pikir yang ini terpecahkan. Saya mendapatkannya menunjukkan tooltip dengan huruf hitam di latar belakang putih. Dalam kasus saya, tampaknya Eclipse menggunakan pengaturan untuk tooltips dari gtk-2.0/gtkrcfile dari direktori tema.

Pengaturan saya: Ubuntu 12.04, Gnome (Not Unitiy), Eclipse Indigo (3.7), tema GrayDay untuk Gnome. Nama tema dan tema itu sendiri tidak dapat diimpor.

Buka terminal, ubah ke direktori tema (cd $ HOME / .themes) dan di sana, pergi ke direktori tema Anda. Jika direcotry .themes Anda jika kosong tidak ada, maka, Anda menggunakan tema sistem yang ada di / usr / share / themes. Hanya mencari tahu nama tema yang Anda gunakan (klik kanan pada bakcground, pilih Ubah Desktop Background, nama tema harus di sudut kanan bawah. Jika tidak mengatakan apa-apa tentang nama tema, maka gunakan gnome-tweak-alat untuk menemukan tema apa yang Anda gunakan).

Di direktori tema, keluarkan perintah ini:

grep -r tooltip *

harus mencantumkan semua file dan baris di mana keywork "tooltip" disebutkan. Ubah setiap latar belakang (tooltip_bg_color) ke #ffffff dan setiap latar depan ke # 000000. Kertas hitam di latar depan putih, inilah yang kami inginkan! Terutama, ubah nilai dalam gtk-2.0/gtkrcfile.

Kesalahan yang saya lakukan, adalah mengubah warna tooltip di direktori gtk-3.0, yang tidak memiliki efek apa pun.

Sekarang, pergi ke Eclipse, Window -> Preferences -> Java -> Editor dan atur Source Hover Background ke "System color" (centang di sebelah kanan). Mulai ulang Eclipse!

Ini adalah daftar dari grep -r tooltip *direktori tema saya setelah melakukan perubahan:

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"

Itu sebenarnya cukup untuk mengikuti jawaban jgreen dan mengubah hanya satu baris dalam satu file.
Teemu Leisti

3

Ada juga solusi lain untuk ini: gunakan dconf-editor untuk menemukan kunci berikut:

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

yang uraiannya berbunyi: \nDaftar terpisah name:colorsebagaimana ditentukan oleh gtk-color-schemepengaturan.

Tuliskan skema di gedit dengan gaya seperti berikut (contoh ini milik saya), lalu tempelkan di dconf-editor (perhatikan '\ n' di setiap akhir baris):

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

dan masalah akan segera diselesaikan.


org-> gnome-> desktop-> interface-> gtk-color-
schema

Seperti Referensi baru: GtkSettings: gtk-color-scheme telah ditinggalkan sejak versi 3.8 dan tidak boleh digunakan dalam kode yang baru ditulis. Dukungan skema warna dijatuhkan dan tidak lagi didukung. Anda masih dapat mengatur properti ini, tetapi akan diabaikan.
Alessandro D'lncal

Di Ubuntu 18,04 tidak berlaku lagi. Saya mencoba mengubahnya dengan dconf tetapi tanpa hasil. Di Ubuntu 18.04 Anda harus mengubah folder gtk-3.0 di .config dengan meletakkan file gtk.css Anda agar dapat berlaku. Anda harus memodifikasi bahkan seettings.ini di folder itu.
Alessandro D'lncal

3

Tooltips saya berwarna hitam-kuning. Lihat tangkapan layar di bawah ini dari Ubuntu 16.04 LTS dengan MATE DE:

Tooltip Hitam-Kuning

Jika Anda menyukai kombinasi warna seperti itu, gunakan file 3 gtkrc (2 untuk GTK3, 1 untuk GTK2) di bawah:

  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"
    

File ke-3 dibuat oleh gnome-color-chooser. Gunakan hanya jika Anda memiliki aplikasi berbasis GTK2.

Metode di atas diuji pada Ubuntu 14.04 LTS (Unity dan GNOME), Ubuntu 16.04 LTS (Unity, GNOME, MATE), Ubuntu 18.04 LTS (Unity, GNOME, MATE).


Di Ubuntu 18.04 bagian ketiga dan keempat tidak berguna karena menggunakan Gtk-3.0. Yang pertama dan kedua menyelesaikan masalah.
Alessandro D'lncal

2

Saya mengalami masalah yang sama (Xubuntu 12.04, tema Greybird, Eclipse Indigo) dan jawaban Mihael K bekerja untuk saya. Satu-satunya file yang saya ubah adalah gtk-2.0 / gtkrc dan saya hanya mengubah satu baris. Baris ketiga setelah komentar awal. Mengubah nilai warna hex tooltip_bg_color: # 000000 ke tooltip_bg_color: # ffffe1 dan tooltip_fg_color: #ffffff ke tooltip_fg_color: # 000000. Jadi garisnya akan terlihat seperti ini:

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

Elipse dan tooltips yang dimulai kembali sekarang menjadi warna kekuningan yang biasa saya. Saya tidak perlu melakukan tweak lebih lanjut dalam gerhana atau file lainnya.


0

Cara yang lebih ramah pengguna untuk mengubah latar belakang adalah menggunakan UI. Sistem Terbuka, Preferensi, Penampilan. Secara default "Ambiance" tema akan dipilih, tetapi Anda dapat mengubahnya untuk tema apa pun. Klik tombol Kustomisasi di bawah dan beralih ke tab Warna. Di sana Anda dapat mengubah warna latar depan dan latar belakang untuk tooltips dengan mengklik kotak yang sesuai.


2
Pada 11.10, ini tidak berfungsi. Saya dapat mengubah tema di Appearance, tetapi tidak ada cara untuk menyesuaikan tema.
daniel kullmann

Saya belum menginstal 11.10 tetapi saya akan merasa aneh jika mereka telah menghapus cara untuk menyesuaikan tema. Mungkin mereka telah mengganti nama tombol dan / atau meletakkannya di tempat / tab yang berbeda?
Sergiy Belozorov

Sergiy, banyak dari kita telah mencari tetapi sepertinya tidak ada. Kami berharap ini akan muncul kembali di 12,04.

1
Apakah Anda benar-benar terkejut dengan opsi kustomisasi yang dihapus di Gnome3 / Unity?
MestreLion

Tidak lagi ... setelah menggunakan 12,04 untuk sementara waktu, admin kami sedang mempertimbangkan untuk pindah ke Fedora atau distribusi seperti RHEL lainnya. Ubuntu telah menjadi platform multimedia, yang bekerja dengan baik untuk pengguna rumahan, tetapi tidak untuk para profesional TI.
Sergiy Belozorov

0

Di ubuntu 12.10 (kuantal) Anda dapat menggunakan dua perintah berikut:

#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

(Terima kasih atas jawaban lain yang membantu saya untuk mencari tahu ini !!)


0

Jawaban ini adalah untuk menunjukkan kasus langka di mana bug yang sangat mirip terjadi jika Anda telah menginstal xulrunner dan mengkonfigurasi gerhana untuk menggunakannya.

Saya menginstal xulrunner untuk membuat GPE Designer untuk membuat UI GWT dengan benar dalam mode desain, yang bekerja sangat baik tetapi saya menemukan itu juga merusak tooltips. Bug ini sebenarnya lebih buruk daripada tangkapan layar di atas, itu hanya menampilkan tooltip kosong.

Untuk memperbaikinya Anda hanya perlu menghapus parameter xulrunner dari eclipse.ini:

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

Ini bekerja untuk saya dengan Ubuntu 12.04, Eclipse 4.2 / Juno dan xulrunner 1.9.2


0

Untuk pengguna dasar:

Pergi ke /usr/share/themes/elementary/gtk-3.0, edit file gtk-widgets.cssdengan sudo nano, ketik Ctrl + Wuntuk menemukan Tooltips, dan kemudian pada background-color: alpha(#color, #opacity)perubahan warna untuk sesuatu seperti #f5f5b5dan atur opacity ke 1.


0

Untuk membuka jendela Appearance dengan Tab: Tema langsung dari root @ terminal write (Anda dapat menggunakan perintah ini juga untuk skrip):

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

di mana USERpengguna Anda saat ini di desktop. Ini akan membuka Penampilan dengan benar, tetapi Anda masih perlu mengklik tampilan tema di jendela Penampilan untuk meluncurkan tema Anda.

Untuk pengujian dengan tema instalasi: Debu dari root @ terminal, perintah:

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

mendapatkan kesalahan ini:

(gnome-appearance-properties: 16161): Gtk-PERINGATAN **: Tidak dapat menemukan mesin tema di module_path: "murrine"

tetapi jika tema: Debu dipasang dengan memilih menu: Sistem / Preferensi / Penampilan dan menginstal dari jendela Penampilan, pemasangan tema: Debu sudah benar.

Diperlukan perintah yang bertanggung jawab untuk memilih tema di jendela Appearance, tetapi saya tidak dapat menemukannya.


0

Saya menjalankan Kubuntu 16.04 dengan tema Breeze, dan Eclipse 4.6.1 dengan GTK3 default sekarang karena mereka telah memperbaiki masalah tombol padding.

Untuk mencapai hover tooltips dengan latar belakang abu-abu terang dan latar depan hitam saya membuat beberapa perubahan /usr/share/themes/Breeze-gtk/gtk-3.0/gtk.css; Inilah yang akhirnya saya lakukan:

/************
 * 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);
}

Dan aslinya:

/************
 * 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); }

Jika tautan tidak berfungsi di popup Javadoc, mungkin ada baiknya menginstal libwebkitgtkseperti:

sudo apt install libwebkitgtk-1.0-0
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.