问题描述
由于要在计算机屏幕(作业,论文)的前面进行24/7编程,因此尽可能多地查看深色是有益的。
使用Solancer’s customisations可以很好地增强Ubuntu的Ambiance主题,并且在应用Roger Dudler’s dark Juno theme之后,Eclipse Juno看起来基本一致。
但是,使用类似Dudler的深色Juno主题存在问题。 Package Explorer
,Project Explorer
和其他Eclipse视图中(处于活动状态的元素)的背景色显示白色/灰色,这些颜色不仅不一致,而且实际上使重要的显示组件(如扩展箭头)模糊。
经过大量的搜索之后,似乎这些颜色是从OS继承的,因此不能从Eclipse Preferences
内进行更改。我希望深色的GTK 3 /Unity主题(Solancer’s Ambiance)能够提供必要的深色,但事实并非如此。
我已使用sed将#.0000中/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css下所有.css文件中的所有预定义颜色替换为#FF0000,以确定在此定义的任何颜色是否会影响白色/灰色问题颜色;可悲的是他们没有。
看到在线提到~/.e4css
文件夹(其中可能包含此类属性的主要CSS定义)后,我在本地计算机上搜索了该文件夹,但发现该文件夹不存在。
SO上存在与此类似的问题,但没有一个明确指定如何对这些颜色进行”fix”。
我的问题很简单:是否可以定义一个GTK + 3.0 CSS属性(组)来为Eclipse 4.x指定这些颜色,并且应该在哪里配置它?
最佳办法
最终通过自己手动搜索GTK配置文件找到了解决方案。
事实证明Eclipse使用GTK + 2.0。
如果您在Ubuntu中安装了自定义的GTK主题(所有主题都与Unity兼容),则将主题文件夹解压缩到~/.themes
中。
GTK + 3.0是通过CSS配置的,例如~/.themes/YourTheme/gtk-3.0/gtk.css
GTK + 2.0是通过rc
文件配置的,例如~/.themes/YourTheme/gtk-2.0/gtkrc
由于许多应用程序特定于GTK + 2.0,因此大多数GTK + 3.0主题都包含这两个配置文件夹。
GTK + 2.0 gtkrc
文件中的第一行包含基本的前景色和背景色。这些是必须更改的。
要在Eclipse视图中修改选定的活动元素bg颜色,必须更改颜色base_color
。要修改未选择的元素bg颜色,必须更改selected_bg_color
。字体颜色将通过等效的fg_color
属性进行更改(在base_color
的情况下,这就是'fg_color'
)。
请记住,这会影响所有GTK应用程序,因此您可能需要根据个人喜好进行调整。还要注意,您必须重新加载活动的GTK主题并重新启动Eclipse才能看到生效的更改。最快的方法是sudo apt-get install myunity
,在颜色更改期间重新启动Eclipse时启动并使其保持打开状态,并在每次希望加载gtkrc
更改时选择另一个主题,然后选择所需的主题。
我的有效GTK主题中的原始gtkrc
引导线如下:
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"
经过大量的实验,我决定采用以下替代配置:
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"
整个操作系统的变化非常令人愉快!这是Eclipse现在的外观,这次不会引起任何混淆:
希望您喜欢新外观:)
附言如您所料,Netbeans的过程是等效的。
UPDATE
这是补充信息,使用自定义主题(如Dudler’s)时,上述过程仍然正确。
经过进一步的实验后,现在很清楚为什么编辑/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css/*.css
没有任何效果:
假设您在该位置编辑e4_default_gtk.css
-仅当在Window -> Preferences -> Appearance -> [Theme]
中选择GTK
时,该文件中样式更改的效果才会应用。
您可以将此下拉列表中列出的主题以及您的操作系统与上述文件系统位置中的.css文件的名称相关联。
次佳办法
如果不想更改整个桌面的外观,可以通过在命令中设置GTK2_RC_FILES标志来启动Eclipse,从而为Eclipse启动单独的GTK +主题。
例:
GTK2_RC_FILES=/path/to/gtk/theme/gtkrc /opt/eclipse/eclipse
这意味着您可以创建GTK +主题的副本并针对Eclipse对其进行调整,而不会影响桌面的任何其他部分。