Как изменить цвет фона всплывающей подсказки в Unity?

214

Во многих приложениях всплывающие подсказки просто уродливы (белый текст на черном фоне, слишком большой контраст) или даже нечитаемый (черный или синий текст (гиперссылки) на черном фоне). Я хочу изменить цвет фона всплывающих подсказок на некоторый средний серый или даже желтый, или что-то в этом роде, может быть, даже что-то полупрозрачное.

Вот скриншот Eclipse, который отображает некоторый исходный код в подсказке с черным текстом на черном фоне:

Переключение на другую тему (что-то другое, кроме Ambiance или Radiance) помогает, но мне нравится Ambiance, и я хочу сохранить его. Это просто этот цвет чернил, который абсолютно неприемлем.

Я нашел несколько решений для более старых версий Ubuntu, но они больше не работают с Unity в Ubuntu 11.10, потому что я не могу найти какую-либо функцию для настройки темы Ambiance или Radiance. Итак, как мне это сделать в текущей версии Ubuntu?

    
задан kayahr 22.10.2011 в 12:25
источник

16 ответов

135

Нашел его!

Мне пришлось редактировать эти файлы:

/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 как foreground и #f5f5b5 в качестве фона, и теперь всплывающие подсказки во всех приложениях снова читаются. После изменения значений цвета просто переключитесь на другую тему, а затем вернитесь в Ambiance, и теперь будет добавлен цвет всплывающей подсказки.

Вот результат:

    
ответ дан kayahr 22.10.2011 в 16:11
источник
147

Установите и откройте gnome-color-chooser .

Перейдите в SpecificTooltips и установите черный передний план на бледно-желтый фон.

    
ответ дан Nick Andrik 06.02.2012 в 17:17
29

Если вы хотите изменить цвета всплывающей подсказки для всех приложений, тогда установите и запустите 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) и запустите eclipse с помощью GTK2_RC_FILES = ~ / gtkrc-eclipse eclipse

    
ответ дан bain 04.05.2012 в 11:47
22

Я создал небольшой скрипт, который делает это для вас

#/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"
    
ответ дан Victor P. 01.12.2011 в 10:42
8

Я принял немного другое решение,

Сначала создайте новый скрипт, 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"
    
ответ дан Mike 20.08.2013 в 14:58
7

Для CDT выполните следующие действия:

Окно > Предпочтения > Редактор C / C ++ > Редактор: Варианты цвета внешнего вида > Фон источника наводки

Снимите флажок «Системное значение по умолчанию» и выберите цвет.

К сожалению, во всем мире нет настройки Eclipse. Довольно хромой. Вам не нужно устанавливать такие вещи для каждой точки зрения.

    
ответ дан DJo 04.12.2011 в 07:07
6

Я думаю, что этот решается. Я получил его, показывая подсказку с черными буквами на белом фоне. В моем случае кажется, что Eclipse использует настройки fot tooltips из файла gtk-2.0/gtkrc из каталога тем.

Моя настройка: Ubuntu 12.04, Gnome (Not Unitiy), Eclipse Indigo (3.7), тема GrayDay для Gnome. Название темы и самой темы не является импортом.

Откройте терминал, перейдите в каталог темы (cd $ HOME / .themes), и там перейдите в каталог вашей темы. Если ваш .themes direcotry, если его нет, не существует, то вы используете системную тему, которая находится в / usr / share / themes. Просто укажите имя темы, которую вы используете (щелкните правой кнопкой мыши на bakcground, выберите «Изменить фоновый рисунок рабочего стола», название темы должно быть в нижнем правом углу. Если в нем ничего не сказано о названии темы, затем используйте gnome-tweak-tool, чтобы найти какую тему вы используете).

В каталоге темы введите следующую команду:

grep -r tooltip *

он должен перечислить все файлы и строки, в которых упоминается «подсказка» для ключевого слова. Измените каждый фон (tooltip_bg_color) на #ffffff и каждый передний план на # 000000. Черные конечности на белом переднем плане, это то, что мы хотим! В частности, измените значения в файле gtk-2.0/gtkrc .

Ошибка, которую я делал, - chainging tooltip color в каталоге gtk-3.0, который не имел никакого эффекта.

Теперь перейдите в Eclipse, Window - > Предпочтения - > Java - > Редактор и установите Source Hover Background на «Цвет системы» (проверьте справа). Перезапустите 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"
    
ответ дан Mihael K 19.06.2012 в 10:30
3

Мои подсказки чернильно-желтые. Смотрите снимок экрана ниже от Ubuntu 16.04 LTS с MATE DE:

Есливамнравитсятакаякомбинацияцветов,используйтеследующиефайлыgtkrc(2дляGTK3,1дляGTK2):

  1. <ет>~/.config/GTK-3.0/gtk.css

    /*tooltips*/@define-colortooltip_bg_color#ffffaf;@define-colortooltip_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"
    

Третий файл был создан gnome-color-chooser. Используйте его, только если у вас есть приложения на базе GTK2.

Метод выше был протестирован на Ubuntu 14.04 LTS (Unity и GNOME), Ubuntu 16.04 LTS (Unity, GNOME, MATE), Ubuntu 18.04 LTS (Unity, GNOME, MATE).

    
ответ дан N0rbert 11.01.2014 в 18:14
3

Существует и другое решение: используйте dconf-editor, чтобы найти следующий ключ:

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

, в описании которого сказано: A \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

, и проблема будет решена немедленно.     

ответ дан Shawn Zhao 22.12.2011 в 07:10
2

У меня была такая же проблема (Xubuntu 12.04, тема Greybird, Eclipse Indigo), и ответ Mihael K работал для меня. Единственный файл, который я изменил, был gtk-2.0 / gtkrc, и я только изменил одну строку. Третья строка после первоначальных комментариев. Изменены значения шестнадцатеричного цвета tooltip_bg_color: # 000000 to tooltip_bg_color: # ffffe1 и tooltip_fg_color: #ffffff to tooltip_fg_color: # 000000. Итак, строка будет выглядеть так:

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

Перезапущенный elipse и всплывающие подсказки теперь являются желтоватым цветом, к которому я привык. Мне не нужно было делать никаких дополнительных настроек в eclipse или любом другом файле.

    
ответ дан jgreen 20.06.2012 в 05:05
0

Более удобный для пользователя способ изменения фона - использование пользовательского интерфейса. Открытая система, настройки, внешний вид. По умолчанию будет выбрана тема «Ambiance», но вы можете изменить ее для любой темы. Нажмите кнопку «Настроить» ниже и перейдите на вкладку «Цвета». Там вы можете изменить цвета переднего плана и фона для всплывающих подсказок, щелкнув соответствующие поля.

    
ответ дан Sergiy Byelozyorov 18.11.2011 в 14:54
0

В ubuntu 12.10 (quantal) вы можете использовать следующие две команды:

#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

(Спасибо другим ответам, которые помогли мне понять это!)

    
ответ дан AmanicA 09.02.2013 в 01:38
0

Этот ответ должен указывать на редкий случай, когда очень похожая ошибка возникает, если вы установили xulrunner и настроенное eclipse для ее использования.

Я установил xulrunner, чтобы заставить GPE Designer правильно отображать пользовательские интерфейсы GWT в режиме разработки, который работал очень хорошо, но я обнаружил, что он также сломал всплывающие подсказки. Ошибка на самом деле хуже, чем скриншот выше, он просто отображает пустую подсказку.

Чтобы исправить это, вам нужно удалить параметр xulrunner из eclipse.ini :

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

Это сработало для меня с Ubuntu 12.04, Eclipse 4.2 / Juno и xulrunner 1.9.2

    
ответ дан carrizo 04.07.2013 в 06:45
0

Для элементарных пользователей:

Перейдите в /usr/share/themes/elementary/gtk-3.0 , отредактируйте файл gtk-widgets.css с sudo nano , введите Ctrl + W , чтобы найти Tooltips , а затем в background-color: alpha(#color, #opacity) измените цвет на что-то вроде #f5f5b5 и установите непрозрачность 1.

    
ответ дан Nick 29.04.2016 в 21:53
0

Открыть окно Appearance с вкладкой: Темы непосредственно из корневой @ terminal write (вы можете использовать эту команду также для скрипта):

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

где USER - ваш текущий пользователь на рабочем столе. Он правильно откроет внешний вид, но вам все равно нужно щелкнуть по дисплеям темы в окне «Внешний вид», чтобы запустить вашу тему.

Для теста с темой установки: Пыль от root @ terminal, команда:

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

получает эту ошибку:

(gnome-appearance-properties:16161): Gtk-WARNING **: Unable to locate theme engine in module_path: "murrine"

, но если тема: Пыль устанавливается, выбирая меню: System / Preferences / Appearance и устанавливает из окна Appearance, установку темы: Пыль правильная.

Требуется команда, ответственная за выбор тем в окне «Внешний вид», но я не могу ее найти.

    
ответ дан Khmer 18.08.2016 в 02:23
0

Я запускаю Kubuntu 16.04 с темой Breeze и Eclipse 4.6.1 с GTK3 по умолчанию, теперь они исправили проблему с добавлением кнопки.

Чтобы получить всплывающие подсказки на 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
    
ответ дан Mike Partridge 14.10.2016 в 21:38