En raison de la programmation 24h/24 et 7j/7 devant un écran d’ordinateur (travail, thèse), il est avantageux de visualiser autant que possible les couleurs sombres.
Le thème Ambiance d’Ubuntu peut être nettement amélioré à l’aide de les personnalisations de Solancer , et Eclipse Juno semble cohérent après l’application de le thème sombre Juno de Roger Dudler .
Cependant, l'utilisation d'un thème Juno sombre comme celui de Dudler pose un problème. La couleur de fond des éléments (in) actifs dans Package Explorer
, Project Explorer
et d'autres vues Eclipse affiche des couleurs blanches/grises non seulement incohérentes, mais occultant en réalité des composants d'affichage importants tels que les flèches de développement.
Après de nombreuses recherches sur Google, il semble que ces couleurs soient héritées du système d'exploitation et ne peuvent donc pas être modifiées depuis Eclipse Preferences
. J'avais espéré que le thème sombre GTK 3/Unity (Ambiance de Solancer) fournirait les couleurs sombres nécessaires, mais ce n'est pas le cas.
J'ai utilisé sed pour remplacer tout couleurs prédéfinies dans tout les fichiers .css
sous /opt/Eclipse/plugins/org.Eclipse.platform_4.2.0.v*/css
avec #FF0000
afin de déterminer si les couleurs définies ici affectent les couleurs à problème blanc/gris; malheureusement, ils ne le font pas.
Ayant vu la mention d'un dossier ~/.e4css
en ligne pouvant contenir des définitions CSS redondantes pour de telles propriétés, j'ai cherché le dossier sur mon ordinateur local, pour le trouver inexistant.
Des questions similaires à cela existent sur SO, mais aucune n’indique explicitement comment "réparer" ces couleurs.
Ma question est simple: existe-t-il une propriété (groupe) GTK + 3.0 CSS pouvant être définie pour spécifier ces couleurs pour Eclipse 4.x, et où doit-elle être configurée?
Nous avons enfin trouvé la solution en cherchant moi-même les fichiers de configuration GTK manuellement.
Il s'avère que Eclipse utilise GTK + 2.0.
Si vous installez un thème GTK personnalisé dans Ubuntu (tous sont également compatibles avec Unity), vous extrayez le dossier du thème dans ~/.themes
.
GTK + 3.0 est configuré via css, par exemple. ~/.themes/YourTheme/gtk-3.0/gtk.css
GTK + 2.0 est configuré via un fichier rc
, par exemple. ~/.themes/YourTheme/gtk-2.0/gtkrc
La plupart des thèmes GTK + 3.0 contiennent ces deux dossiers de configuration car de nombreuses applications sont spécifiques à GTK + 2.0.
La ligne principale du fichier GTK + 2.0 gtkrc
contient les couleurs fondamentales de l’avant-plan et de l’arrière-plan; ce sont ce qui doit être changé.
Pour modifier la couleur bg de l'élément actif sélectionné dans les vues Eclipse, vous devez modifier la couleur base_color
. Pour modifier la couleur bg de l'élément non sélectionné, vous devez modifier selected_bg_color
. La couleur de la police est modifiée avec les propriétés fg_color
équivalentes (dans le cas de base_color
, il s'agit simplement de 'fg_color'
).
Gardez à l'esprit que cela affectera toutes les applications GTK, vous devrez donc peut-être modifier selon vos goûts personnels. Notez également que vous devez recharger le thème GTK actif et redémarrer Eclipse pour voir les modifications en vigueur. Le moyen le plus rapide de procéder consiste à Sudo apt-get install myunity
, à le lancer et à le laisser ouvert pendant que vous redémarrez Eclipse lors des changements de couleur, puis sélectionnez un autre thème suivi du thème souhaité à chaque fois que vous souhaitez charger vos changements gtkrc
.
La ligne principale gtkrc
originale de mon thème GTK actif se lisait comme suit:
gtk-color-scheme = "base_color:#ffffff\nfg_color:#4c4c4c\ntooltip_fg_color:#ffffff\nselected_bg_color:#f07746\nselected_fg_color:#FFFFFF\ntext_color:#3C3C3C\nbg_color:#F2F1F0\ntooltip_bg_color:#000000\nlink_color:#DD4814"
Après de nombreuses expérimentations, je me suis installé sur cette configuration de remplacement:
gtk-color-scheme = "base_color:#555555\nfg_color:#000000\ntooltip_fg_color:#999999\nselected_bg_color:#666666\nselected_fg_color:#ffffff\ntext_color:#000000\nbg_color:#333333\ntooltip_bg_color:#000000\nlink_color:#DD4814"
Le changement sur tout le système d'exploitation est très agréable! Voici à quoi ressemble Eclipse maintenant, sans occulter cette fois-ci:
J'espère que vous aimez le nouveau look :)
P.S. Comme vous pouvez le prévoir, le processus pour Netbeans est équivalent.
Ce sont des informations supplémentaires, le processus ci-dessus est toujours correct lorsque vous utilisez un thème personnalisé tel que Dudler.
Après de nouvelles expérimentations, on comprend maintenant pourquoi l'édition de /opt/Eclipse/plugins/org.Eclipse.platform_4.2.0.v*/css/*.css
n'a eu aucun effet:
Supposons que vous modifiez e4_default_gtk.css
à cet emplacement - les effets des styles modifiés dans ce fichier ne s'appliqueront que si vous sélectionnez GTK
dans Window -> Preferences -> Appearance -> [Theme]
.
Vous pouvez associer les thèmes répertoriés dans cette liste déroulante, ainsi que votre système d'exploitation, aux noms des fichiers .css situés à l'emplacement susmentionné du système de fichiers.
Si vous ne souhaitez pas modifier l'apparence de l'ensemble du bureau, vous pouvez lancer un thème GTK + distinct pour Eclipse en définissant l'indicateur GTK2_RC_FILES dans la commande permettant de démarrer Eclipse.
Exemple:
GTK2_RC_FILES=/path/to/gtk/theme/gtkrc /opt/Eclipse/eclipse
Cela signifie que vous pouvez créer une copie de votre thème GTK + et la modifier pour Eclipse sans affecter aucune autre partie de votre bureau.
Enfin, vous n'avez pas besoin de changer votre thème GTK pour avoir une fenêtre sombre de l'Explorateur de packages ou de l'explorateur de projets, etc. Essayez la solution publiée ici , pour moi cela fonctionne bien à la fois sous Ubuntu et Windows sans changer de thème système.
Même en 2013, certains éléments ne peuvent toujours pas être «thématiques», et pas seulement dans Eclipse IDE. Le seul moyen de lutter contre les codeurs couleur durs (les personnes qui définissent la couleur d'un élément via une constante et non via un paramètre de thème) est Compiz Color Filter. Je développe un tel filtre qui préserve les couleurs lors de l'inversion. Donc, plus aucun problème avec aucun logiciel.
Malheureusement, le filtrage des couleurs ne fonctionnera pas sur les dernières Ubuntu, comme je le sais.
Veuillez lire plus ici http://ubuntuforums.org/showthread.php?t=1419702&page=3
!!ARBfp1.0
TEMP temp, neg, YPbPr;
TEX temp, fragment.texcoord[0], texture[0], RECT;
RCP neg.a, temp.a;
MAD temp.rgb, -neg.a, temp, 1.0;
MUL temp.rgb, temp.a, temp;
MUL temp, fragment.color, temp;
DP3 YPbPr.x, temp, {0.333, 0.333, 0.333, 1};
SUB YPbPr.y, YPbPr.x, temp.b;
SUB YPbPr.z, YPbPr.x, temp.r;
ADD temp.r, YPbPr.x, YPbPr.z;
ADD temp.b, YPbPr.x, YPbPr.y;
SUB temp.g, YPbPr.x, YPbPr.z;
SUB temp.g, temp.g, YPbPr.y;
MOV result.color, temp;
END
# DO NOT MOVE LINE #2 (TEMP...) below, i.e. do not insert comments before it!
# do not insert comments before 'END' token: SOMETIMES not work!
# replace file /usr/share/compiz/filters/negative with this file.
# Color filter: negative, but preserve colours. Tested on Ubuntu LTS 10.04.
# compiled from [1], [2] by [email protected], www.bdyssh.ru
# [1] http://hronir.blogspot.com/2008/09/compiz-fusion-color-filter-for-hue.html
# [2] http://ubuntuforums.org/showthread.php?t=1419702
# add to line 15: MUL temp.b, 0.5, temp.b; - for warm/melatonine colors, or
# MUL temp.g, 0.5, temp.g; - for cold colors.
Pour Eclipse 4.5: 1. Créez un fichier similaire à l'extrait inséré 2. Enregistrez-le sous "/usr/share/themes/..utilisé ../ gtk-3.0/apps/Eclipse.css" 3. Incluez-le "/usr/share/themes/..used theme ../ gtk-3.0/gtk-main.css"
@define-color ecl_scrollbutton_color #7C7C7C;
@define-color ecl_scrollbutton_color_hover #FB7A00;
.scrollbar,
.scrollbar.vertical {
-GtkScrollbar-has-backward-stepper: 0;
-GtkScrollbar-has-forward-stepper: 0;
-GtkRange-slider-width: 14;
border-radius: 20px;
border-image: none;
}
/*.scrollbar.trough,
.scrollbar.trough.vertical {
}
*/
.scrollbar.slider,
.scrollbar.slider.horizontal,
.scrollbar.slider.vertical,
.scrollbar.button,
.scrollbar.button.horizontal,
.scrollbar.button.vertical {
border-width: 0.5px;
border-style: solid;
border-color: shade (@ecl_scrollbutton_color, 0.66);
background-image: -gtk-gradient (linear, left top, right top,
from (shade (@ecl_scrollbutton_color, 1)),
color-stop (0.5, @ecl_scrollbutton_color),
to (shade (@ecl_scrollbutton_color, 1)));
box-shadow: inset 1px 0 shade (@bg_color, 1.1),
inset -1px 0 shade (@bg_color, 1.01),
inset 0 1px shade (@bg_color, 1.1),
inset 0 -1px shade (@bg_color, 1.1);
}
.scrollbar.slider:hover,
.scrollbar.slider.vertical:hover,
.scrollbar.slider.horizontal:hover {
background-image: -gtk-gradient (linear, left top, left bottom,
from (shade (@ecl_scrollbutton_color_hover, 1)),
color-stop (0.5, @ecl_scrollbutton_color_hover),
to (shade (@ecl_scrollbutton_color_hover, 1)));
box-shadow: inset 1px 0 shade (@bg_color, 1.1),
inset -1px 0 shade (@bg_color, 1.1),
inset 0 1px shade (@bg_color, 1.1),
inset 0 -1px shade (@bg_colo