Во многих приложениях всплывающие подсказки просто уродливы (белый текст на черном фоне, слишком контрастный) или даже не читаются (черный или темно-синий текст (гиперссылки) на черном фоне). Я хочу изменить цвет фона всплывающих подсказок на какой-то средний серый или даже какой-нибудь желтый или что-то в этом роде, может быть, даже что-то полупрозрачное.
Вот снимок экрана Eclipse, который отображает некоторый исходный код в подсказке с черным текстом на черном фоне:
Переключение на другой Тема (что-то отличное от Ambiance или Radiance) помогает, но мне нравится Ambiance, и я хочу сохранить ее. Именно этот проклятый цвет всплывающей подсказки абсолютно неприемлем.
Я нашел несколько решений для более старых версий Ubuntu, но они больше не работают с Unity в Ubuntu 11.10, потому что я не могу найти какую-либо функцию для настройки темы Ambiance или Radiance. Так как мне это сделать в текущей версии Ubuntu?
Нашли!
Мне пришлось отредактировать эти файлы:
/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, и цвет всплывающих подсказок теперь фиксируется.
- вот результат:
Установите и откройте gnome-color-chooser .
Перейдите к Конкретный
→ Всплывающие подсказки
и поместите черный передний план на бледно-желтый фон.
Я запускаю 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
Чтобы открыть окно внешнего вида с Вкладка: Темы напрямую из 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 и устанавливает из Окно «Внешний вид», установка темы: Пыль верна.
Нужна команда, отвечающая за выбор тем в окне «Внешний вид», но я не могу ее найти.
Для элементарных пользователей:
Перейдите на / usr / share / themes / elementary / gtk-3.0
, отредактируйте файл gtk-widgets.css
с помощью sudo nano
, введите Ctrl + W
, чтобы найти всплывающие подсказки
, а затем в background-color: alpha (#color, #opacity)
измените цвет на что-то вроде # f5f5b5
и установите непрозрачность на 1.
Этот ответ предназначен для укажите на редкий случай, когда очень похожая ошибка возникает, если вы установили 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
Более удобный способ изменения фона - использование пользовательского интерфейса. Открытая система, настройки, внешний вид. По умолчанию будет выбрана тема "Ambiance", но вы можете изменить ее для любой темы. Нажмите кнопку «Настроить» ниже и перейдите на вкладку «Цвета». Там вы можете изменить цвет переднего плана и фона для всплывающих подсказок, щелкнув соответствующие поля.
Для CDT выполните следующие действия:
Окно> Настройки> C / C ++> Редактор: Параметры цвета внешнего вида> Фон при наведении курсора
Снимите флажок «Системные значения по умолчанию» и выберите цвет.
К сожалению, для всей Eclipse нет настроек, которые Я знаю. Довольно отстой. Необязательно устанавливать подобные вещи для каждой перспективы.
Мои всплывающие подсказки черного на желтый цвет. Смотрите снимок экрана ниже из Ubuntu 16.04 LTS с MATE DE:
Если вам нравится такая цветовая комбинация, используйте 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).
Есть еще одно решение: используйте 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
, и проблема будет немедленно решена.
Я думаю, что этот вопрос решен. Я получил его, показывая всплывающую подсказку с черными буквами на белом фоне. В моем случае кажется, что 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"
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
(Муну түшүнүүгө жардам берген башка жооптордун жардамы менен !!)
У меня была такая же проблема (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 или других файлах.
Я принял несколько иное решение;
Сначала создайте новый скрипт, 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"
Я создал небольшой скрипт, который сделает это за вас
#/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"
Если вы хотите изменить цвета всплывающих подсказок для всех приложений, установите и запустите 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