27

コンピューターの画面(仕事、論文)の前で24時間年中無休のプログラミングを行うため、できるだけ暗い色を表示することが有益です。

UbuntuのAmbianceテーマは、 Solancerのカスタマイズを使用してきちんと拡張でき、Eclipse Junoは、 RogerDudlerの暗いJunoテーマを適用した後はほぼ一貫しているように見えます。

ただし、Dudlerのような暗いJunoテーマの使用には問題があります。内の(非)アクティブな要素の背景色Package ExplorerProject Explorerおよびその他のEclipseビューは、一貫性がないだけでなく、拡張矢印などの重要な表示コンポーネントを実際に覆い隠す白/灰色を表示します。

何度もグーグルした後、そのような色はOSから継承されているようで、Eclipse内から変更することはできませんPreferences。ダークGTK3/ Unityテーマ(Solancer's Ambiance)が必要なダークカラーを提供することを望んでいましたが、そうではありません。

sedを使用して、下のすべてのファイルで事前定義されたすべての色を置き換え、そこで定義された色が白/灰色の問題の色に影響するかどうかを確認しました。悲しいことに、彼らはそうしません。.css/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css#FF0000

そのようなプロパティのCSS定義を上書きする可能性のあるフォルダーについての言及を~/.e4cssオンラインで見たので、ローカルマシンでフォルダーを探しましたが、存在しないことがわかりました。

これと同様の質問がSOにも存在しますが、これらの色を「修正」する方法を明示的に指定しているものはありません。

私の質問は単純です:Eclipse4.xのこれらの色を指定するために定義できるGTK+ 3.0 CSSプロパティ(グループ)はありますか?それはどこで構成する必要がありますか?

光-それは燃える!

4

5 に答える 5

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+2.0固有であるため、ほとんどのGTK+3.0テーマにはこれらの構成フォルダーの両方が含まれています。

GTK + 2.0gtkrcファイルの先頭の行には、基本的な前景色と背景色が含まれています。これらは変更する必要があるものです。

Eclipseビューで選択したアクティブな要素のbgの色を変更するには、色を変更する必要がありますbase_color。選択されていない要素のbgの色を変更するには、を変更する必要がありますselected_bg_color。フォントの色は、同等のfg_colorプロパティで変更されます(base_colorこの場合は単純です'fg_color')。

これはすべてのGTKアプリケーションに影響するため、個人の好みに応じて微調整する必要がある場合があることに注意してください。また、変更が有効になっていることを確認するには、アクティブなGTKテーマをリロードしてEclipseを再起動する必要があることにも注意してください。これを行う最も簡単な方法はsudo apt-get install myunity、色の変更中にEclipseを再起動する間、起動して開いたままにし、変更をロードするたびに別のテーマを選択してから、目的のテーマを選択することですgtkrc

gtkrc私のアクティブなGTKテーマの元のリーディングラインは次のとおりです。

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"

OS全体での変更は非常に喜ばしいことです。Eclipseの現在の外観は次のとおりですが、今回はわかりにくくなりません。

闇の甘い母

新しい外観が気に入っていただければ幸いです:)

PSご想像のとおり、Netbeansのプロセスは同等です。

アップデート

これは補足情報です。Dudlerのようなカスタムテーマを使用する場合、上記のプロセスは引き続き正しいです。

さらに実験を重ねた結果、編集/opt/eclipse/plugins/org.eclipse.platform_4.2.0.v*/css/*.cssが効果を発揮しなかった理由が明らかになりました。

その場所で編集しているとしましょう。そのファイルで変更されたスタイルの効果は、で選択しe4_default_gtk.cssた場合にのみ適用されます。GTKWindow -> Preferences -> Appearance -> [Theme]

このドロップダウンにリストされているテーマを、オペレーティングシステムとともに、前述のファイルシステムの場所にある.cssファイルの名前に関連付けることができます。

于 2012-09-02T19:05:59.483 に答える
9

デスクトップ全体の外観を変更したくない場合は、コマンドでGTK2_RC_FILESフラグを設定してEclipseを起動することにより、Eclipse用に別のGTK+テーマを起動できます。

例:

GTK2_RC_FILES=/path/to/gtk/theme/gtkrc /opt/eclipse/eclipse

つまり、デスクトップの他の部分に影響を与えることなく、GTK +テーマのコピーを作成し、Eclipse用に微調整することができます。

于 2012-11-07T21:09:55.560 に答える
2

最後に、GTKテーマを変更して、パッケージエクスプローラーやプロジェクトエクスプローラーなどのウィンドウを暗くする必要はありません。ここに掲載されているソリューションを試してみてください。私にとっては、システムのテーマを変更しなくても、UbuntuとWindowsの両方でうまく機能します。

于 2013-04-22T16:23:35.890 に答える
1

2013年でも、Eclipse IDEだけでなく、一部のアイテムは「テーマ化」できません。カラーハードコーダー(テーマパラメーターではなく定数を介してアイテムの色を定義する人々)と戦う唯一の方法は、Compizカラーフィルターです。反転しながら色を保存するフィルターを開発しました。したがって、ソフトウェアに問題はありません

残念ながら、私が知っているように、カラーフィルタリングは最新の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.
于 2013-10-09T08:39:30.633 に答える
0

Eclipse 4.5の場合:1。挿入されたスニペットのようなファイルを作成します2.「/usr/share/themes/..usedtheme../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

于 2016-03-07T11:18:06.063 に答える