由于在电脑屏幕(工作,论文)前花费24/7编程,因此尽可能多地查看深色是有益的。
使用Solancer's customisations可以巧妙地增强Ubuntu的Ambiance主题,并且在应用Roger Dudler's dark Juno theme后,Eclipse Juno看起来大致一致。
然而,使用像达德勒这样的黑暗朱诺主题存在问题。 Package Explorer
,Project Explorer
和其他Eclipse视图中的(in)活动元素的背景颜色显示白色/灰色,这些颜色不仅不一致,而且实际上模糊了重要的显示组件,如扩展箭头。
经过大量的谷歌搜索后,似乎这些颜色是从操作系统继承的,因此无法在Eclipse Preferences
中进行更改。我希望黑暗的GTK 3 / Unity主题(Solancer的Ambiance)能够提供必要的深色,但事实并非如此。
我已使用sed替换{em>所有 .css
/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css
下#FF0000
文件中的所有预定义颜色,以建立~/.e4css
是否有任何颜色定义影响白色/灰色问题颜色;可悲的是他们没有。
在网上看到一个{{1}}文件夹,其中可能包含这些属性的覆盖CSS定义,我在我的本地机器上找到了该文件夹,却发现它不存在。
SO上存在类似的问题,但没有明确说明如何“修复”这些颜色。
我的问题很简单:是否有一个GTK + 3.0 CSS属性(组)可以定义为Eclipse 4.x指定这些颜色,它应该在哪里配置?
答案 0 :(得分:20)
最后通过手动搜索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 + 3.0主题都包含这两个配置文件夹,因为许多应用程序都是特定于GTK + 2.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现在的样子,这次没有模糊:
希望你喜欢新面貌:)
P.S。正如您所预测的那样,Netbeans的过程是等效的。
这是补充信息,使用Dudler's等自定义主题时,上述过程仍然正确。
经过进一步的实验,现在很清楚为什么编辑/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css/*.css
没有任何效果:
假设您正在该位置修改e4_default_gtk.css
- 该文件中已更改样式的效果仅适用于您在GTK
中选择Window -> Preferences -> Appearance -> [Theme]
的内容。
您可以将此下拉列表中列出的主题以及操作系统与上述文件系统位置中.css文件的名称相关联。
答案 1 :(得分:9)
如果您不想更改整个桌面的外观,可以通过在命令中设置GTK2_RC_FILES标志来启动Eclipse,为Eclipse启动单独的GTK +主题。
示例:
GTK2_RC_FILES=/path/to/gtk/theme/gtkrc /opt/eclipse/eclipse
这意味着您可以创建GTK +主题的副本并为Eclipse调整它,而不会影响桌面的任何其他部分。
答案 2 :(得分:2)
您最终不需要将GTK主题更改为具有黑暗的Package Explorer或Project Explorer等窗口。尝试发布here的解决方案,对我来说,它在Ubuntu和Windows上运行良好,而不会改变系统主题。
答案 3 :(得分:1)
即使在2013年,一些项目仍然不能“主题化”,而且不仅仅是在Eclipse IDE中。使用彩色硬编码器(通过常量,而不是通过主题参数定义项目颜色的人)的唯一方法是使用Compiz Color Filter。我开发了这种过滤器,可以在反转时保留颜色。所以任何软件都没有问题。
不幸的是,我知道,颜色过滤不适用于最新的Ubuntu。
请在此处阅读更多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 jopka@kvidex.ru, 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.
答案 4 :(得分:0)
对于Eclipse 4.5: 1.创建一个类似插入的代码段的文件 2.将其保存为“/usr/share/themes/..used theme ../ gtk-3.0 / apps / eclipse.css” 3.包含它“/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