当前位置: 首页>>技术问答>>正文


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

, ,

问题描述

在许多应用程序中,工具提示只是简单的丑陋(黑色背景上的白色文本,太多对比度),甚至无法读取(黑色背景上的黑色或深蓝色文本(超链接))。我想将工具提示的背景颜色更改为中等灰度或甚至黄色或类似的东西,甚至可能是semi-transparent。

以下是Eclipse的屏幕截图,其中显示了黑色背景上带有黑色文本的工具提示中的一些源代码:

unity,themes,ubuntu

切换到不同的主题(Ambiance或Radiance以外的其他主题)可以帮助我,但我喜欢Ambiance,我想保留它。这只是这个补丁工具提示颜色,这是绝对不能接受的。

我发现了几个针对较老Ubuntu版本的解决方案,但他们不再在Ubuntu 11.10中使用Unity,因为我无法找到任何定制Ambiance或Radiance主题的功能。那么在当前的Ubuntu版本中,我该怎么做?

最佳解决方法

安装并打开gnome-color-chooser。

unity,themes,ubuntu

转到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,现在修复了工具提示颜色。

结果如下:

unity,themes,ubuntu

第三种解决方法

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

第五种方法

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

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

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

不幸的是,我不知道Eclipse-wide设置。很蹩脚。你不应该为每个角度设置这样的东西。

第六种方法

我采用了一个稍微不同的解决方案;

首先创建一个新的脚本,eclipse.sh,启动日食,我的看起来像这样:

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

第七种方法

我认为这个解决了。我知道它显示在白色背景上的黑色字母工具提示。就我而言,Eclipse似乎正在使用来自主题目录的gtk-2.0/gtkrc文件的设置工具提示。

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

打开终端,切换到主题目录(cd $ HOME /.themes),在那里,进入主题目录。如果你的主题没有存在,那么你正在使用/usr /share /themes中的系统主题。只要找出你正在使用的主题的名称(右键点击bakcground,选择更改桌面背景,主题名称应该在右下角。如果没有提及主题名称,那么使用gnome-tweak-tool找出你的主题正在使用)。

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

grep -r tooltip *

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

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

现在,转到Eclipse,Window – >首选项 – > Java – >编辑器并将源悬停背景设置为”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"

第八种方法

我遇到了同样的问题(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.

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

第九种方法

我解决了带有4个gtkrc文件的white-on-black工具提示问题:

  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

    include ".gtkrc-2.0-gnome-color-chooser"
    
  4. 〜/的.gtkrc-2.0-gnome-color-chooser

    pixmap_path "/home/user/.gnome-color-chooser/images/"
    
    style "gnome-color-chooser-tooltips"
    
    {
    bg[NORMAL] = "#FFFFAF"
    fg[NORMAL] = "#000000"
    }
    
    widget "gtk-tooltip*" style "gnome-color-chooser-tooltips"
    

第三和第四个文件由gnome-color-chooser创建。我的工具提示是black-on-yellow。我使用Ubuntu 12.04,并认为在system-wide级别编辑/usr /share /themes是不好的。我希望我的解决方案能帮助某人。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/169.html,未经允许,请勿转载。