web-dev-qa-db-fra.com

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

Dans de nombreuses applications, les infobulles sont simplement moches (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 en 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 with an unusable tooltip

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?

216
kayahr

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 gedit pour les éditer.

Recherchez tooltip dans ces fichiers et vous trouverez les définitions de couleur pour le premier plan et l'arrière-plan. J'utilise #000000 comme premier plan et #f5f5b5 comme 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 with customized theme

136
kayahr

Installer et ouvrir gnome-color-chooser Install gnome-color-chooser .

Allez à SpecificTooltips et placez le premier plan noir sur un fond jaune pâle.

148
Nick Andrik

Si vous souhaitez modifier les couleurs des info-bulles pour toutes les applications, installez et exécutez gnome-sélecteur de couleur et allez dans 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 application unique, 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

29
bain

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"
22
Victor P.

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

Commencez par créer un nouveau script, Eclipse.sh, qui lance 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"
8
Mike

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.

7
DJo

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 des paramètres pour les info-bulles du fichier gtk-2.0/gtkrc 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 figurer 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. Le noir sur le premier plan blanc, c'est ce que nous voulons! En particulier, modifiez les valeurs dans le fichier gtk-2.0/gtkrc.

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!

Voici la liste de grep -r tooltip * de mon répertoire de thèmes après avoir effectué les modifications:

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"
6
Mihael K

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

Black-on-Yellow tooltip

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

3
N0rbert

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

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

dont la description disait: Une liste de \n séparée par name:color, définie par le paramètre gtk-color-scheme.

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.

3
Shawn Zhao

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.

2
jgreen

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
AmanicA

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

USER est votre utilisateur actuel sur le bureau. Il va ouvrir Apparence correctement, mais vous devez toujours cliquer sur les affichages de thème 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
Khmer

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 de 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); }

Si les liens ne fonctionnent pas dans les popups Javadoc, il peut être utile d'installer libwebkitgtk comme ceci:

Sudo apt install libwebkitgtk-1.0-0
0
Mike Partridge

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.

0
Sergiy Belozorov

Pour les utilisateurs élémentaires:

Allez à /usr/share/themes/elementary/gtk-3.0, éditez le fichier gtk-widgets.css avec Sudo nano, tapez Ctrl + W pour trouver Tooltips, puis à la background-color: alpha(#color, #opacity), remplacez la couleur par #f5f5b5 et définissez l'opacité sur 1.

0
Nick

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

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
carrizo