Comment changer la couleur de fond des info-bulles dans Unity?


215

Dans de nombreuses applications, les infobulles sont simplement très laides (texte blanc sur fond noir, contraste trop élevé) ou même illisibles (texte noir ou bleu foncé (hyperliens sur fond noir)). Je souhaite changer la couleur de fond des info-bulles en gris moyen ou même en jaune ou quelque chose du genre, peut-être même quelque chose de semi-transparent.

Voici une capture d'écran d'Eclipse qui affiche du code source dans une info-bulle avec du texte noir sur fond noir:

Eclipse avec une info-bulle inutilisable

Passer à un thème différent (autre chose que Ambiance ou Radiance) aide, mais j'aime bien Ambiance et je veux le conserver. C’est juste cette couleur d’infos d’outils absolument inacceptable.

J'ai trouvé plusieurs solutions pour les anciennes versions d'Ubuntu, mais elles ne fonctionnent plus avec Unity dans Ubuntu 11.10 car je ne trouve aucune fonction permettant de personnaliser le thème Ambiance ou Radiance. Alors, comment puis-je faire cela dans la version actuelle d'Ubuntu?

Réponses:


148

Installez et ouvrez gnome-color-chooserInstaller gnome-color-chooser .

Allez à SpecificTooltipset mettez un avant-plan noir sur un arrière-plan jaune pâle.


3
redémarrer eclipse pour que les modifications prennent effet
cmcginty

8
Pas besoin de redémarrer pour moi.
ubuntudroid

1
Cela fonctionne aussi pour 12.04 LTS avec Eclipse 4.2!
David Edwards

2
Malheureusement, cela ne fonctionnait pas pour moi (Ubuntu 12.04 64 bits et Eclipse Juno). La réponse acceptée et celle ci-dessous de DJo ont fonctionné pour moi.
Luis

8
+1, mais notez que cela affecte TOUTES les info-bulles du système. Si vous voulez une solution juste pour Eclipse, suivez la réponse de @ bain.
Ysap

135

Je l'ai trouvé!

J'ai dû éditer ces fichiers:

/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

(Ajout: pour Ubuntu 12.04, il semble que vous deviez simplement modifier le fichier: /usr/share/themes/Ambiance/gtk-2.0/gtkrc, en remplaçant respectivement la couleur de fond et d’avant-plan de l’info-bulle, par les couleurs # 000000 et # f5f5b5 )

Vous avez besoin de privilèges root pour éditer les fichiers. Utilisez gksudo geditpour les éditer.

Recherchez tooltipdans ces fichiers et vous trouverez les définitions de couleurs pour le premier plan et l'arrière-plan. J'utilise #000000comme avant-plan et #f5f5b5comme arrière-plan et maintenant les info-bulles de toutes les applications sont à nouveau lisibles. Après avoir modifié les valeurs de couleur, passez simplement à un autre thème, puis revenez à Ambiance et la couleur de l'info-bulle est maintenant corrigée.

Voici le résultat:

Eclipse avec thème personnalisé


2
tout moyen de le faire via l'interface utilisateur dans Ubuntu 11?
Franklin

1
A fonctionné comme prévu dans Xubuntu 12.10.
davidcesarino

1
Existe-t-il un moyen de modifier cela uniquement pour votre utilisateur (c'est-à-dire sans que cela ne soit pas nécessaire [gk]sudo? Je suis sûr que, comme la plupart des paramètres de gnome, il existe un fichier / répertoire de configuration par utilisateur
MestreLion,

2
@MestreLion: les thèmes des utilisateurs sont choisis ~/.themes/. Vous devrez copier le dossier Ambiance dans ceci.
enflammer

1
Je devais également éditer gtk-3.0/gtk-main.css, mais cela fonctionnait le 14.04. Fonctionne également lorsque vous utilisez le thème "Radiance", il vous suffit de modifier les mêmes fichiers du Radiancedossier.
Jmiserez

29

Si vous souhaitez modifier les couleurs des info-bulles pour toutes les applications, installez et exécutez gnome-color-chooser, puis cliquez sur l'onglet Spécifique> Infobulles. Cochez les cases Avant-plan et Arrière-plan et choisissez les couleurs.

Comment ça marche (vous pouvez le faire manuellement):

gnome-color-chooser ajoute ce qui suit à votre ~ / .gtkrc-2.0:

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

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

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

Si vous souhaitez simplement modifier les couleurs des info-bulles pour une seule application, telle que eclipse, placez le texte ci-dessus dans un fichier gtkrc personnalisé (par exemple, ~ / gtkrc-eclipse) et démarrez eclipse avec GTK2_RC_FILES = ~ / gtkrc-eclipse eclipse.


1
Voici le paramètre permettant de personnaliser la couleur d'arrière - plan de la boîte de dialogue de complétion automatique dans Eclipse: stackoverflow.com/a/8063723/356895 .
JJD

Savez-vous comment je peux inclure la variable d'environnement dans le menu de l'application Ubuntu afin qu'Eclipse charge également les paramètres lorsqu'il n'est pas démarré via le shell?
JJD

3
J'ai compilé un article qui résume le sujet.
JJD

2
approche fantastique @bain !!! :) Ne nécessite pas sudo, affecte uniquement votre utilisateur et n'a pas besoin de copier le thème entier dans votre ~. Nice :)
MestreLion le

1
@JJD: Je suis généralement contre les commentaires "merci", mais votre article est génial. J'ai remarqué qu'il utilise la même approche que cette réponse. Étant donné que j'utilise déjà un script shell personnalisé pour lancer Eclipse à partir de la ligne de commande et du fichier .desktop, l'ajout de GTK2_RC_FILES = ... env est simple. Merci :)
MestreLion

22

J'ai créé un petit script qui le fait pour vous

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

J'ai adopté une solution légèrement différente.

Commencez par créer un nouveau script, eclipse.sh, qui commence eclipse. Le mien ressemble à ceci:

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

Ensuite, créez le fichier gtkrc (/usr/share/eclipse/gtkrc-2.0-eclipse), le mien ressemble à ceci (il a aussi d'autres modifications pour mieux utiliser l'écran):

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

Pour CDT, procédez comme suit:

Fenêtre> Préférences> C / C ++> Editeur: Options de couleur d'apparence> Fond de survol source

Décochez la case Système par défaut et sélectionnez une couleur.

Malheureusement, je ne connais aucun paramètre Eclipse-wide. Plutôt misérable. Vous ne devriez pas avoir à définir ce genre de choses pour chaque perspective.


6

Je pense que celui-ci est résolu. Je l'ai eu montrant l'info-bulle avec des lettres noires sur fond blanc. Dans mon cas, il semble qu'Eclipse utilise les paramètres d'infobulle du gtk-2.0/gtkrcfichier du répertoire theme.

Ma configuration: Ubuntu 12.04, Gnome (Pas Unitaire), Eclipse Indigo (3.7), thème GrayDay pour Gnome. Le nom du thème et le thème lui-même n'est pas important.

Ouvrez le terminal, accédez au répertoire du thème (cd $ HOME / .themes), puis accédez au répertoire de votre thème. Si votre répertoire .themes, s'il en est vide, n'existe pas, vous utilisez le thème système qui se trouve dans / usr / share / themes. Trouvez simplement le nom du thème que vous utilisez (cliquez avec le bouton droit de la souris sur bakcground, choisissez Changer le fond du bureau, le nom du thème doit se trouver dans le coin inférieur droit. S'il ne dit rien sur le nom du thème, utilisez gnome-tweak-tool pour le trouver. quel thème vous utilisez).

Dans le répertoire theme, lancez cette commande:

grep -r tooltip *

il devrait lister tous les fichiers et toutes les lignes où le mot clé "info-bulle" est mentionné. Remplacez chaque arrière-plan (tooltip_bg_color) par #ffffff et chaque avant-plan par # 000000. Noir latters sur le premier plan blanc, c'est ce que nous voulons! Surtout, changez les valeurs dans le gtk-2.0/gtkrcfichier.

L'erreur que je faisais, est la modification de la couleur des info-bulles dans le répertoire gtk-3.0, ce qui n'a eu aucun effet.

Maintenant, allez dans Eclipse, Fenêtre -> Préférences -> Java -> Editeur et réglez l’arrière-plan de survol source sur la "Couleur système" (cochez la case à droite). Redémarrez l'Eclipse!

Ceci est une liste de grep -r tooltip *mon répertoire de thème après avoir fait les changements:

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"

En fait, il suffisait de suivre la réponse de jgreen et de ne modifier qu'une ligne dans un fichier.
Teemu Leisti

3

Il existe également une autre solution: utilisez dconf-editor pour rechercher la clé suivante:

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

dont la description dit: Une \nliste séparée de name:colorcomme défini par le gtk-color-schemeparamètre.

Ecrivez le schéma dans gedit dans le style suivant (cet exemple est le mien), puis collez-le dans l'éditeur dconf (notez le '\ n' à chaque extrémité de la ligne):

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

et le problème sera résolu immédiatement.


org-> gnome-> bureau-> interface-> gtk-color-scheme
Alessandro D'lncal

Comme la nouvelle référence: GtkSettings: gtk-color-scheme est obsolète depuis la version 3.8 et ne devrait pas être utilisé dans du code nouvellement écrit. La prise en charge des schémas de couleurs a été abandonnée et n'est plus prise en charge. Vous pouvez toujours définir cette propriété, mais elle sera ignorée.
Alessandro D'lncal

Dans Ubuntu, 18.04 n'est plus valide. J'ai essayé de le changer par dconf mais sans résultat. Dans Ubuntu 18.04, vous devez changer le dossier gtk-3.0 dans .config en mettant votre fichier gtk.css afin de prendre effet. Vous devez même modifier le fichier seettings.ini dans ce dossier.
Alessandro D'lncal

3

Mes info-bulles sont noir sur jaune. Voir la capture d'écran ci-dessous de Ubuntu 16.04 LTS avec MATE DE:

Info-bulle noir sur jaune

Si vous aimez une telle combinaison de couleurs, utilisez les fichiers 3 gtkrc (2 pour GTK3, 1 pour GTK2) ci-dessous:

  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"
    

Le 3ème fichier a été créé par gnome-color-chooser. Utilisez-le uniquement si vous avez des applications basées sur GTK2.

La méthode ci-dessus a été testée sur Ubuntu 14.04 LTS (Unity et GNOME), Ubuntu 16.04 LTS (Unity, GNOME, MATE), Ubuntu 18.04 LTS (Unity, GNOME, MATE).


Dans Ubuntu 18.04, les troisième et quatrième parties ne sont pas utiles car elles utilisent Gtk-3.0. Le premier et le second résolvent le problème.
Alessandro D'lncal

2

J'avais le même problème (Xubuntu 12.04, thème Greybird, Eclipse Indigo) et la réponse de Mihael K a fonctionné pour moi. Le seul fichier que j'ai changé était gtk-2.0 / gtkrc et je n'ai changé que d'une ligne. La troisième ligne après les commentaires initiaux. Modification des valeurs de couleur hexadécimales de tooltip_bg_color: # 000000 en tooltip_bg_color: # ffffe1 et tooltip_fg_color: #ffffff à tooltip_fg_color: # 000000. Donc, la ligne ressemblera à ceci:

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

Les élipse et les info-bulles redémarrés ont maintenant la couleur jaunâtre à laquelle je suis habitué. Je n'ai pas eu besoin de faire d'autres réglages dans Eclipse ni dans aucun autre fichier.


0

L'utilisation de l'interface utilisateur est un moyen plus convivial de modifier l'arrière-plan. Système ouvert, Préférences, Apparence. Par défaut, le thème "Ambiance" sera sélectionné, mais vous pouvez le changer pour n'importe quel thème. Cliquez sur le bouton Personnaliser ci-dessous et passez à l'onglet Couleurs. Vous pouvez y modifier les couleurs d’avant-plan et d’arrière-plan des info-bulles en cliquant sur les cases appropriées.


2
Le 11.10, cela ne fonctionne pas. Je peux changer le thème dans Apparence, mais il n'y a aucun moyen de personnaliser le thème.
daniel kullmann

Je n'ai pas installé 11.10 mais je trouverais ça bizarre s'ils ont supprimé un moyen de personnaliser un thème. Peut-être ont-ils renommé le bouton et / ou l'ont placé dans un endroit / onglet différent?
Sergiy Belozorov

Sergiy, beaucoup d'entre nous ont cherché, mais on dirait que ce n'est pas là. Nous espérons qu'il réapparaîtra dans 12.04.

1
Êtes-vous vraiment surpris des options de personnalisation supprimées dans Gnome3 / Unity?
MestreLion

Plus maintenant ... après avoir utilisé 12.04 pendant un moment, nos administrateurs envisagent de passer à Fedora ou à une autre distribution du type RHEL. Ubuntu est devenue une plate-forme multimédia qui convient bien aux utilisateurs à domicile, mais pas aux professionnels de l'informatique.
Sergiy Belozorov

0

Sur Ubuntu 12.10 (quantal), vous pouvez utiliser les deux commandes suivantes:

#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

(Merci aux autres réponses qui m'ont aidé à comprendre cela !!)


0

Cette réponse vise à signaler un cas rare où un bogue très similaire se produit si vous avez installé xulrunner et configuré eclipse pour l'utiliser.

J'ai installé xulrunner pour que GPE Designer rende correctement les interfaces utilisateur GWT en mode conception, ce qui a très bien fonctionné, mais j'ai également constaté que les info-bulles étaient brisées. Le bogue est en réalité pire que la capture d'écran ci-dessus, il affiche simplement une info-bulle vierge.

Pour résoudre ce problème, il suffit de supprimer le paramètre xulrunner de eclipse.ini:

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

Cela a fonctionné pour moi avec Ubuntu 12.04, Eclipse 4.2 / Juno et xulrunner 1.9.2


0

Pour les utilisateurs élémentaires:

Allez à /usr/share/themes/elementary/gtk-3.0, éditez le fichier gtk-widgets.cssavec sudo nano, tapez Ctrl + Wpour trouver Tooltips, puis background-color: alpha(#color, #opacity)changez la couleur en quelque chose comme #f5f5b5et définissez l'opacité sur 1.


0

Pour ouvrir la fenêtre Apparence avec l'onglet: Thèmes directement à partir de root @ terminal write (vous pouvez également utiliser cette commande pour le script):

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

USERest votre utilisateur actuel sur le bureau. Il va ouvrir Apparence correctement, mais vous devez toujours cliquer sur les affichages des thèmes dans la fenêtre Apparence pour lancer votre thème.

Pour le test avec le thème d’installation: Dust from root @ terminal, commande:

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

obtient cette erreur:

(gnome-apparence-properties: 16161): Gtk-WARNING **: Impossible de localiser le moteur de thème dans chemin_module: "murrine".

mais si le thème: Dust installe en choisissant le menu: Système / Préférences / Apparence et s’installe à partir de la fenêtre Apparence, l’installation du thème: Dust est correcte.

Il faut une commande responsable du choix des thèmes dans la fenêtre Apparence, mais je ne le trouve pas.


0

J'utilise Kubuntu 16.04 avec le thème Breeze et Eclipse 4.6.1 avec le GTK3 par défaut, maintenant qu'ils ont résolu le problème de remplissage des boutons.

Pour atteindre les info-bulles en survol avec un fond gris clair et un avant-plan noir, j'ai apporté quelques modifications à /usr/share/themes/Breeze-gtk/gtk-3.0/gtk.css; voici ce que j'ai fini avec:

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

Et l'original:

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

libwebkitgtkSi les liens ne fonctionnent pas dans les popups Javadoc, il peut être utile d’installer comme ceci:

sudo apt install libwebkitgtk-1.0-0
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.