在许多应用程序中,工具提示仅是丑陋的(黑色背景上的白色文本,对比度太高),甚至不可读(黑色背景上的黑色或深蓝色文本(超链接))。我想将工具提示的背景颜色更改为中等灰色甚至黄色,或者甚至是半透明的颜色。

这是Eclipse的屏幕快照,在工具提示中在黑色背景上以黑色文本显示了一些源代码:



切换到不同的主题(“氛围”或“发光”以外的其他主题)有帮助,但我喜欢氛围,并且我希望保留它。只是这种令人毛骨悚然的工具提示颜色是绝对不能接受的。光芒四射的主题。那么如何在当前的Ubuntu版本中做到这一点?

#1 楼

安装并打开gnome-color-chooser 。

转到SpecificTooltips,然后将黑色前景放在浅黄色背景上。

评论


重新启动Eclipse以使更改生效

–cmcginty
2012-2-23在0:14

无需为我重新启动。

–ubuntudroid
2012年4月3日14:21在

这也适用于带有Eclipse 4.2的12.04 LTS!

– David Edwards
2012年7月10日14:09

不幸的是,这对我不起作用(Ubuntu 12.04 64位和Eclipse Juno)。可接受的答案和DJo的以下答案都对我有用。

–路易斯
2012年8月5日23:24

+1,但请注意,这会影响所有系统工具提示。如果您只想为Eclipse解决方案,请遵循@bain的回答。

–ysap
2012年8月29日在22:56

#2 楼

找到了!

我必须编辑这些文件:

/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


(添加:对于Ubuntu 12.04,似乎只需要修改文件即可:
/usr/share/themes/Ambiance/gtk-2.0/gtkrc,分别用#000000和#f5f5b5颜色替换工具提示的背景色和前景色)

您需要具有root特权来编辑文件。使用gksudo gedit进行编辑。

在这些文件中搜索tooltip,您将找到前景和背景的颜色定义。我将#000000用作前景,将#f5f5b5用作背景,现在所有应用程序中的工具提示都可以再次读取。更改颜色值后,只需切换到其他主题,然后再返回到氛围,现在工具提示的颜色已修复。

结果是:



评论


有什么办法可以通过ubuntu 11中的UI做到这一点?

–法兰克斯特
2011-10-26 20:44

在Xubuntu 12.10中也按预期工作。

– davidcesarino
2012年10月30日17:31

有没有办法只为您的用户更改此设置(即,不需要[gk] sudo?我敢肯定,作为大多数gnome设置,每个用户都有一个配置文件/目录

–MestreLion
13年3月27日在1:22

@MestreLion:用户主题选自〜/ .themes /。您需要将Ambiance文件夹复制到其中。

–点燃
13年3月31日在13:33

我还必须编辑gtk-3.0 / gtk-main.css,但这在14.04上有效。在使用“发光”主题时也可以使用,只需要编辑“发光”文件夹中的相同文件。

– jmiserez
16年4月26日在14:25

#3 楼

如果要更改所有应用程序的工具提示颜色,请安装并运行gnome-color-chooser并转到“特定”选项卡>“工具提示”。选中“前景”和“背景”框,然后选择颜色。

它是如何工作的(您可以手动执行此操作):

gnome-color-chooser将以下内容添加到您的〜/ .gtkrc-2.0:

include ".gtkrc-2.0-gnome-color-chooser"


和〜/ .gtkrc-2.0-gnome-chooser:

style "gnome-color-chooser-tooltips"
{
  bg[NORMAL] = "#FFFFAF"
  fg[NORMAL] = "#000000"
}
widget "gtk-tooltip*" style "gnome-color-chooser-tooltips"


>如果您只想更改单个应用程序的工具提示颜色(例如eclipse),则将上面的文本放入自定义的gtkrc文件(例如〜/ gtkrc-eclipse)中,然后使用GTK2_RC_FILES =〜/ gtkrc-eclipse eclipse开始Eclipse

评论


这是自定义Eclipse中自动完成对话框的背景颜色的设置:stackoverflow.com/a/8063723/356895。

– JJD
2012年6月23日10:12



您是否知道如何在Ubuntu应用程序菜单中包含环境变量,以便Eclipse在未通过外壳启动时也加载设置?

– JJD
2012年6月23日10:34

我编写了一篇文章,总结了该主题。

– JJD
2012年7月28日15:19

神奇的方法@bain !!! :)不需要sudo,仅影响您的用户,并且不需要将整个主题复制到您的〜中。不错:)

–MestreLion
13年4月2日在5:00

@JJD:我通常反对仅“谢谢”的评论,但是您的文章很棒。我注意到它使用与该答案相同的方法。由于我已经使用定制的外壳脚本从命令行和.desktop文件启动Eclipse,因此添加GTK2_RC_FILES = ... env很容易。谢谢 :)

–MestreLion
13年4月2日在5:23

#4 楼

我创建了一个小脚本来为您做到这一点

#/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=
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"


#5 楼

我采用了略有不同的解决方案;

首先创建一个新脚本eclipse.sh,它启动eclipse,我的样子是这样的:

#!/bin/bash
GTK2_RC_FILES=/usr/share/eclipse/gtkrc-2.0-eclipse /usr/share/eclipse/eclipse


然后创建gtkrc文件(/usr/share/eclipse/gtkrc-2.0-eclipse),我的样子是这样的(它也做了一些其他更改以更好地利用屏幕):

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"


#6 楼

对于CDT,请执行以下操作:

Window> Preferences> C / C ++> Editor:Appearance Color Options> Source Hover Background

取消选中“ System Default”,然后选择一种颜色。 />
不幸的是,我不知道有Eclipse范围的设置。好la脚您不必为每个角度都设置类似的内容。

#7 楼

我认为这个解决了。我得到它显示带有黑底白字的工具提示。就我而言,看来Eclipse正在使用主题目录中gtk-2.0/gtkrc文件中的工具提示设置。

我的设置:Ubuntu 12.04,Gnome(不统一),Eclipse Indigo(3.7),Gnome的GrayDay主题。主题名称和主题本身并不重要。

打开终端,转到主题目录(cd $ HOME / .themes),然后转到主题目录。如果不存在空白的.themes目录,那么您正在使用/ usr / share / themes中的系统主题。只需弄清楚您正在使用的主题的名称即可(右键单击bakcground,选择“更改桌面背景”,主题名称应位于右下角。如果主题名称未显示任何内容,请使用gnome-tweak-tool查找您正在使用哪个主题)。

在主题目录中,发出以下命令:

grep -r tooltip *


它应该列出提及“ tooltip”键的所有文件和行。 。将每个背景(tooltip_bg_color)更改为#ffffff,将每个前景更改为#000000。黑色前景在白色前景上,这就是我们想要的!特别是,请更改gtk-2.0/gtkrc文件中的值。

我在做的错误,是在gtk-3.0目录中链接工具提示颜色,没有任何效果。

现在,转到Eclipse,窗口->首选项-> Java->编辑器,然后将“源悬停背景”设置为“系统颜色”(在右侧选中)。重新启动Eclipse!

更改后,这是我主题目录中grep -r tooltip *的列表:

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"


评论


实际上,遵循jgreen的答案并在一个文件中仅更改一行就足够了。

– Teemu Leisti
2012-09-25 13:29

#8 楼

还有另一种解决方案:
使用dconf-editor查找以下密钥:

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


其描述说:
\n分隔由name:color设置定义的gtk-color-scheme列表。

用类似下面的样式在gedit中编写方案(此示例是我的),然后将其粘贴到dconf-editor中(注意'\ n ')。

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


,该问题将立即得到解决。

评论


org-> gnome->桌面->界面-> gtk-color-scheme

–亚历山德罗·丁加(Alessandro D'lncal)
18年8月19日在22:14

像新的参考:GtkSettings:gtk-color-scheme自3.8版以来已被弃用,并且不应在新编写的代码中使用。配色方案支持已删除,不再受支持。您仍然可以设置此属性,但是它将被忽略。

–亚历山德罗·丁加(Alessandro D'lncal)
18年8月19日在22:58

在Ubuntu 18.04中不再有效。我试图通过dconf更改它,但没有结果。在Ubuntu 18.04中,您必须更改.config中的gtk-3.0文件夹,以放置gtk.css文件才能生效。您甚至必须修改该文件夹中的seettings.ini。

–亚历山德罗·丁加(Alessandro D'lncal)
18年8月19日在23:19

#9 楼

我的工具提示是黄色的。请参阅下面带有MATE DE的Ubuntu 16.04 LTS的屏幕截图:



如果您喜欢这种颜色组合,请使用以下2个gtkrc文件(对于GTK3为1,对于GTK2为1)

mkdir -p ~/.config/gtk-3.0/
cat << EOF >> ~/.config/gtk-3.0/gtk.css
/* tooltips */
@define-color tooltip_bg_color #ffffaf;
@define-color tooltip_fg_color #000000;
tooltip label,
.tooltip label {
    text-shadow: none;
}
EOF
cat << EOF >> ~/.config/gtk-3.0/settings.ini
[Settings]
gtk-color-scheme = "tooltip_bg_color:#ffffaf\ntooltip_fg_color:#000000"
EOF

cat << EOF >> ~/.gtkrc-2.0
style "gnome-color-chooser-tooltips"
{
  bg[NORMAL] = "#FFFFAF"
  fg[NORMAL] = "#000000"
}
widget "gtk-tooltip*" style "gnome-color-chooser-tooltips"
EOF


第三个文件仅适用于基于GTK2的应用程序。

以上方法已在Ubuntu 14.04 LTS(Unity和GNOME)上进行了测试,Ubuntu 16.04 LTS(Unity,GNOME,MATE),Ubuntu 18.04 LTS(Unity,GNOME,MATE),Ubuntu 20.04 LTS(MATE)。

评论


在Ubuntu 18.04中,第三部分和第四部分没有用,因为它使用Gtk-3.0。第一个和第二个解决了这个问题。

–亚历山德罗·丁加(Alessandro D'lncal)
18年8月20日在7:54

#10 楼

我遇到了同样的问题(Xubuntu 12.04,Greybird主题,Eclipse Indigo),Mihael K的答案对我有用。
我更改的唯一文件是gtk-2.0 / gtkrc,我只更改了一行。
初始评论后的第三行。将tooltip_bg_color:#000000的十六进制颜色值更改为tooltip_bg_color:#ffffe1和tooltip_fg_color:#ffffff的十六进制颜色值更改为tooltip_fg_color:#000000。因此,该行将如下所示:

gtk_color_scheme        = "tooltip_bg_color:#ffffe1\ntooltip_fg_color:#000000" # Tooltips.


重新开始的椭圆和工具提示现在是我习惯的淡黄色。我不需要在Eclipse或任何其他文件中进行任何进一步的调整。

#11 楼

在ubuntu 12.10(正式版)上,您可以使用以下两个命令:

#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


(感谢其他帮助我弄清楚这个问题的答案!)

#12 楼

更改背景的一种更加用户友好的方法是使用UI。打开系统,首选项,外观。默认情况下,将选择“氛围”主题,但是您可以为任何主题更改它。单击下面的“自定义”按钮,然后切换到“颜色”选项卡。您可以在此处通过单击相应的框来更改工具提示的前景色和背景色。

评论


在11.10上,这不起作用。我可以在外观中更改主题,但是无法自定义主题。

–丹尼尔·库尔曼
2011年11月21日,11:10

我没有安装11.10,但是如果他们删除了自定义主题的方法,我会觉得很奇怪。也许他们已将按钮重命名和/或将其放置在其他位置/标签中?

–谢尔盖·别洛佐洛夫(Sergiy Belozorov)
2011年11月21日在16:19

谢尔盖(Sergiy),我们中的许多人都进行了搜索,但看起来似乎不存在。我们希望它会在12.04中重新出现。

–user25656
2011年12月1日上午11:35

你们真的为Gnome3 / Unity中删除的自定义选项感到惊讶吗?

–MestreLion
13年8月28日在14:34

不再使用...使用12.04一段时间后,我们的管理员正在考虑迁移到Fedora或其他类似RHEL的发行版中。 Ubuntu已成为一个多媒体平台,该平台非常适合家庭用户使用,但不适用于IT专业人员。

–谢尔盖·别洛佐洛夫(Sergiy Belozorov)
13年8月28日在16:20



#13 楼

这个答案是指出一种罕见的情况,如果您已经安装了xulrunner并配置了eclipse以使用它,则会发生非常类似的错误。

我安装了xulrunner来使GPE Designer能够正确显示GWT UI。设计模式,效果很好,但我发现它也打破了工具提示。该错误实际上比上面的屏幕截图还要糟糕,它只显示一个空白的工具提示。

要解决此问题,只需从eclipse.ini中删除xulrunner参数:

-Dorg.eclipse.swt.browser.XULRunnerPath=/path/to/xulrunner/


它对我适用于Ubuntu 12.04,Eclipse 4.2 / Juno和xulrunner 1.9.2

#14 楼

对于基本用户:

转到/usr/share/themes/elementary/gtk-3.0,使用gtk-widgets.css编辑文件sudo nano,键入Ctrl + W以找到Tooltips,然后在background-color: alpha(#color, #opacity)处将颜色更改为类似#f5f5b5并将不透明度设置为1.。

#15 楼

要使用“选项卡”打开“外观”窗口,请执行以下操作:直接从root @终端写入主题(您也可以将该命令用于脚本):

sudo -u USER gnome-appearance-properties -p theme


其中,桌面。它会正确打开Appearance,但是您仍然需要在Appearance窗口中单击主题显示以启动您的主题。

对于安装主题的测试:来自root @终端的灰尘,命令:

sudo -u USER gnome-appearance-properties -i /home/USER/Desktop/Dust-0.4.tar.gz


得到此错误:


(gnome-appearance-properties:16161):Gtk-警告**:无法找到主题引擎在module_path中:“ murrine”


,但是如果主题:通过选择菜单:System / Preferences / Appearance安装灰尘,并从Appearance窗口安装,主题的安装:Dust是正确的。 br />
在外观窗口中需要选择主题的命令,但找不到。

#16 楼

现在,我已经使用微风主题运行Kubuntu 16.04,并且使用默认GTK3运行Eclipse 4.6.1,因为它们已经解决了按钮填充问题。

为了获得具有浅灰色背景和黑色前景的悬停工具提示,我对/usr/share/themes/Breeze-gtk/gtk-3.0/gtk.css进行了一些更改;这就是我最终得到的结果:

/************
 * 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);
}


和原始图片:

/************
 * 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); }


如果链接不存在,在Javadoc弹出窗口中工作时,可能会像这样安装libwebkitgtk

sudo apt install libwebkitgtk-1.0-0