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

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

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

Eclipse with an unusable tooltip

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

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

218
задан 26 April 2014 в 16:29

16 ответов

Нашли!

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

/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 для их редактирования.

Ищите подсказку в этих файлах и найдите определения цвета переднего плана и фона. Я использую #000000 в качестве переднего плана и #f5f5b5 в качестве фона, и теперь всплывающие подсказки во всех приложениях снова читаются. После изменения значений цвета просто переключитесь на какую-нибудь другую тему, а затем обратно в Ambiance, и цвет всплывающих подсказок теперь фиксируется.

- вот результат:

Eclipse with customized theme

137
ответ дан 26 April 2014 в 16:29

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

Перейдите к Конкретный Всплывающие подсказки и поместите черный передний план на бледно-желтый фон.

149
ответ дан 26 April 2014 в 16:29

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

Чтобы получить всплывающие подсказки со светло-серым фоном и черным передним планом, я внес несколько изменений в /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
0
ответ дан 26 April 2014 в 16:29

Чтобы открыть окно внешнего вида с Вкладка: Темы напрямую из root @ terminal write (вы можете использовать эту команду также для скрипта):

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

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

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

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 устанавливается, выбирая меню: System / Preferences / Appearance и устанавливает из Окно «Внешний вид», установка темы: Пыль верна.

Нужна команда, отвечающая за выбор тем в окне «Внешний вид», но я не могу ее найти.

0
ответ дан 26 April 2014 в 16:29

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

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

0
ответ дан 26 April 2014 в 16:29

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

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

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

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

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

0
ответ дан 26 April 2014 в 16:29

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

0
ответ дан 26 April 2014 в 16:29

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

Окно> Настройки> C / C ++> Редактор: Параметры цвета внешнего вида> Фон при наведении курсора

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

К сожалению, для всей Eclipse нет настроек, которые Я знаю. Довольно отстой. Необязательно устанавливать подобные вещи для каждой перспективы.

8
ответ дан 26 April 2014 в 16:29

Мои всплывающие подсказки черного на желтый цвет. Смотрите снимок экрана ниже из Ubuntu 16.04 LTS с MATE DE:

Black-on-Yellow tooltip

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

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

3-й файл только для приложений, работающих на базе 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).

4
ответ дан 26 April 2014 в 16:29

Есть еще одно решение: используйте 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

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

4
ответ дан 26 April 2014 в 16:29

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

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

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

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

grep -r tooltip *

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

Моя ошибка заключалась в изменении цвета всплывающей подсказки в каталоге gtk-3.0, что не дало никакого эффекта.

Теперь перейдите в Eclipse, Window -> Preferences -> Java -> Editor и установите для Source Hover Background значение «System color» (отметьте справа). Перезагрузите 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"
7
ответ дан 26 April 2014 в 16:29

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

(Муну түшүнүүгө жардам берген башка жооптордун жардамы менен !!)

1
ответ дан 26 April 2014 в 16:29

У меня была такая же проблема (Xubuntu 12.04, тема Greybird, Eclipse Indigo), и ответ Михаэля К. у меня сработал. Единственный файл, который я изменил, был 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 или других файлах.

3
ответ дан 26 April 2014 в 16:29

Я принял несколько иное решение;

Сначала создайте новый скрипт, 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"
9
ответ дан 26 April 2014 в 16:29

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

#/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"
23
ответ дан 26 April 2014 в 16: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

30
ответ дан 26 April 2014 в 16:29

Другие вопросы по тегам:

Похожие вопросы: