如何在Unity中更改工具提示背景颜色?

在很多应用程序中,工具提示只是简单的丑陋(黑色背景上的白色文字,对比度太大)甚至是不可读的(黑色背景上的黑色或深蓝色文本(超链接))。 我想将工具提示的背景颜色更改为某些中灰色甚至是黄色或类似的东西,甚至可能是半透明的东西。

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

Eclipse具有无法使用的工具提示

切换到不同的主题(除了Ambiance或Radiance之外的东西)有帮助,但我喜欢Ambiance,我想保留它。 这只是这种工具提示颜色,绝对是不可接受的。

我找到了几个较旧的Ubuntu版本的解决方案,但它们不再适用于Ubuntu 11.10中的Unity,因为我找不到任何自定义Ambiance或Radiance主题的function。 那么我如何在当前的Ubuntu版本中做到这一点?

安装并打开gnome-color-chooser 安装gnome-color-chooser

转到SpecificTooltips ,并将黑色前景放在淡黄色背景上。

找到了!

我不得不编辑这些文件:

 /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作为背景,现在所有应用程序中的工具提示都可以读取。 更改颜色值后,只需切换到其他主题,然后返回Ambiance,工具提示颜色现在已修复。

结果如下:

Eclipse具有自定义主题

如果要更改所有应用程序的工具提示颜色,请安装并运行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

我创建了一个小脚本,为您完成

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

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

首先创建一个新的脚本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" 

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

窗口>首选项> C / C ++>编辑器:外观颜色选项>源hover背景

取消选中“系统默认值”,然后选择一种颜色。

不幸的是,我所知道的没有Eclipse范围的设置。 很蹩脚。 你不应该为每个角度设置类似的东西。

我认为这个问题已经解决了。 我得到它显示在白色背景上的黑色字母的工具提示。 在我的例子中,似乎Eclipse正在使用来自主题目录的gtk-2.0/gtkrc文件的设置工具提示。

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

打开终端,切换到主题目录(cd $ HOME / .themes),然后转到主题目录。 如果您的.themes目标无效,如果它不存在,那么,您正在使用/ usr / share / themes中的系统主题。 只需弄清楚你正在使用的主题的名称(右键单击bakcground,选择更改桌面背景,主题名称应该在右下角。如果它没有说明主题名称,那么使用gnome-tweak-tool查找你正在使用哪个主题)。

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

 grep -r tooltip * 

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

我正在做的错误,是在gtk-3.0目录中查找工具提示颜色,这没有任何影响。

现在,转到Eclipse,Window – > Preferences – > Java – > Editor并将Source Hover Background设置为“System color”(请在右侧查看)。 重启Eclipse!

在进行更改后,这是我的主题目录中的grep -r tooltip * listig:

 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" 

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

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

其描述说:A \n分隔的name:color列表name:colorgtk-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 

问题将立即得到解决。

我的工具提示是黑黄色的。 请参阅下面的Ubuntu 16.04 LTS与MATE DE的截图:

黑黄色工具提示

如果您喜欢这种颜色组合,请使用3 gtkrc(GTK3为2,GTK2为1)文件:

  1. 〜/的.config / GTK-3.0 / gtk.css

     /* tooltips */ @define-color tooltip_bg_color #ffffaf; @define-color tooltip_fg_color #000000; 
  2. 〜/的.config / GTK-3.0 /的Settings.ini

     [Settings] gtk-color-scheme = "tooltip_bg_color:#ffffaf\ntooltip_fg_color:#000000" 
  3. 〜/的.gtkrc-2.0

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

第3个文件是由gnome-color-chooser创建的。 仅在具有基于GTK2的应用程序时使用它。

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

我遇到了同样的问题(Xubuntu 12.04,Greybird主题,Eclipse Indigo),而Mihael K的回答对我有用。 我更改的唯一文件是gtk-2.0 / gtkrc,我只更改了一行。 初步评论后的第三行。 将tooltip_bg_color:#000000的hex颜色值更改为tooltip_bg_color:#ffff1和tooltip_fg_color:#ffffff为tooltip_fg_color:#000000。 所以这条线看起来像这样:

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

重新启动的elipse和工具提示现在是我习以为常的淡黄色。 我不需要在eclipse或任何其他文件中进行任何进一步的调整。

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

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

 #foreground white => black sudo sed -is/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 -is/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 

(感谢其他答案帮我解决了这个问题!)

这个答案是指出一个罕见的情况,如果你安装了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

对于初级用户:

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

使用Tab打开Appearance窗口:主题直接从root @ terminal写入(您也可以将此命令用于脚本):

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

USER是您桌面上的当前用户。 它将正确打开外观,但您仍需要单击“外观”窗口中的主题显示以启动主题。

对于使用安装主题的测试:来自root @ terminal的dust,命令:

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

得到这个错误:

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

但如果主题:通过选择菜单安装Dust:系统/首选项/外观并从外观窗口安装,安装主题:灰尘是正确的。

需要命令负责在外观窗口中选择主题,但我找不到它。

我正在使用Breeze主题运行Kubuntu 16.04,使用默认GTK3运行Eclipse 4.6.1,因为他们已经修复了按钮填充问题。

为了获得浅灰色背景和黑色前景的hover工具提示,我对/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