Як змінити колір фону підказки в Unity?


215

У багатьох програмах підказки є просто потворними (білий текст на чорному тлі, занадто сильний контраст) або навіть нечитабельні (чорний або темно-синій текст (гіперпосилання) на чорному тлі). Я хочу змінити колір фону підказки на якийсь середній сірий або навіть жовтий або щось подібне, можливо, навіть щось напівпрозоре.

Ось знімок екрана Eclipse, який відображає деякий вихідний код у підказці інструменту з чорним текстом на чорному тлі:

Затемнення із непридатною підказкою

Перехід на іншу тему (щось інше, ніж Ambiance або Radiance) допомагає, але мені подобається Ambiance, і я хочу його тримати. Саме цей темний колір підказки абсолютно неприйнятний.

Я знайшов кілька рішень для старих версій Ubuntu, але вони більше не працюють з Unity в Ubuntu 11.10, оскільки я не можу знайти жодної функції для налаштування теми Ambiance або Radiance. Тож як це зробити в поточній версії Ubuntu?

Відповіді:


148

Встановіть і відкрийте інструмент вибору кольорів gnomeВстановіть інструмент вибору кольору гнома .

Перейдіть до SpecificTooltipsі покладіть чорний передній план на блідо-жовтий фон.


3
перезапустіть затемнення, щоб зміни набрали чинності
cmcginty

8
Не потрібно для мене перезавантажувати.
ubuntudroid

1
Це працює для 12.04 LTS і Eclipse 4.2!
Девід Едвардс

2
На жаль, це не спрацювало для мене (64-розрядний Ubuntu 12.04 та Eclipse Juno). Обидві, прийнята відповідь та відповідь нижче від DJo, працювали на мене.
Луїс

8
+1, але зауважте, що це впливає на ВСІ системні підказки. Якщо ви хочете вирішити лише Eclipse, дотримуйтесь відповіді @ bain.
ysap

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

Ось результат:

Затьмарення з налаштованою темою


2
будь-яким способом це зробити за допомогою інтерфейсу в ubuntu 11?
Франкстер

1
Працював так само, як і очікувалося в Xubuntu 12.10.
davidcesarino

1
Чи є спосіб змінити це лише для вашого користувача (тобто не вимагати [gk]sudo? Я впевнений, що, як і більшість налаштувань гнома, існує файл / dir-файл для кожного користувача
MestreLion

2
@MestreLion: теми користувачів обрані з ~/.themes/. Вам потрібно буде скопіювати папку Ambiance в це.
запалити

1
Мені довелося також редагувати gtk-3.0/gtk-main.css, але це спрацювало 14.04. Також працює при використанні теми "Сяйво", просто потрібно редагувати ті самі файли в Radianceпапці.
jmiserez

29

Якщо ви хочете змінити кольори підказки для всіх додатків, то встановіть і запустіть інструмент вибору кольору gnome та перейдіть на вкладку "Конкретні"> "Підказки". Поставте прапорці переднього плану та фону та виберіть кольори.

Як це працює (це можна зробити вручну):

Вибір gnome-color додає у ваш ~ / .gtkrc-2.0 наступне:

include ".gtkrc-2.0-gnome-color-chooser"

і ~ / .gtkrc-2.0-gnome-вибір:

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


1
Тут налаштовано колір тла діалогового вікна автозавершення в Eclipse: stackoverflow.com/a/8063723/356895 .
JJD

Чи знаєте ви, як я можу включити змінну середовища в меню програми Ubuntu, щоб Eclipse також завантажував налаштування, коли не запускався через оболонку?
JJD

3
Я склав статтю, яка узагальнює тему.
JJD

2
фантастичний підхід @bain !!! :) Не вимагає sudo, впливає лише на вашого користувача, і не потрібно копіювати всю тему на свою ~. Приємно :)
MestreLion

1
@JJD: Я зазвичай проти "дякую" - лише коментарі, але ваша стаття є приголомшливою. Я помітив, що він використовує той самий підхід, що і ця відповідь. Оскільки я вже використовую користувальницький скрипт оболонки для запуску Eclipse як з командного рядка, так і з файлу .desktop, додавання GTK2_RC_FILES = ... env легко. Дякую :)
MestreLion

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"

8

Я прийняв дещо інше рішення;

Спочатку створіть новий сценарій, 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"

7

Для CDT виконайте наступне:

Вікно> Налаштування> C / C ++> Редактор: Параметри кольору зовнішнього вигляду> Фон наведення джерела

Зніміть прапорець Система за замовчуванням та виберіть колір.

На жаль, не існує жодного значущого для мене затемнення. Досить кульгавий. Ви не повинні встановлювати такі речі для кожної точки зору.


6

Я думаю, що це вирішено. Я отримав це, показуючи підказку з чорними літерами на білому тлі. У моєму випадку, здається, що Eclipse використовує параметри підказки для 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файлі.

Помилка, яку я робив, - це перетворення кольору підказки у каталозі gtk-3.0, що не мало жодного ефекту.

Тепер перейдіть до Eclipse, Window -> Preferences -> Java -> Editor та встановіть 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"

Насправді достатньо було слідувати відповіді jgreen і змінити лише один рядок в одному файлі.
Teemu Leisti

3

Для цього є ще одне рішення: використовуйте dconf-редактор, щоб знайти наступний ключ:

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

в описі якого сказано: \nвідокремлений список, name:colorяк визначено gtk-color-schemeналаштуванням.

Запишіть схему в gedit у стилі, що сподобається наступному (цей приклад мій), а потім вставте його в dconf-редактор (помітьте \ \ 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

і проблема буде вирішена негайно.


org-> gnome-> desktop-> interface-> gtk-color-схема
Alessandro D'lncal

Як і нова довідка: GtkSettings: gtk-color-схема була застаріла з версії 3.8 і не повинна використовуватися в ново написаному коді. Підтримка кольорової схеми відхилена і більше не підтримується. Ви все ще можете встановити цю властивість, але вона буде проігнорована.
Алессандро Д'Лнкаль

У Ubuntu 18.04 вже не діє. Я спробував змінити його на dconf, але без результатів. У Ubuntu 18.04 вам потрібно змінити папку gtk-3.0 у .config, поставивши файл gtk.css, щоб набути чинності. Ви повинні змінити навіть seettings.ini у цій папці.
Алессандро Д'Лнкаль

3

Мої підказки чорно-жовті. Дивіться знімок екрана нижче з Ubuntu 16.04 LTS з MATE DE:

Підказка чорно-жовтий

Якщо вам подобається таке поєднання кольорів, використовуйте нижче 3 gtkrc (2 для GTK3, 1 для GTK2):

  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. Використовуйте його, лише якщо у вас є додатки на базі GTK2.

Вищеописаний метод був протестований на Ubuntu 14.04 LTS (Unity та GNOME), Ubuntu 16.04 LTS (Unity, GNOME, MATE), Ubuntu 18.04 LTS (Unity, GNOME, MATE).


У Ubuntu 18.04 третя та четверта частина не корисні, оскільки вона використовує Gtk-3.0. Перше і друге вирішують проблему.
Алессандро Д'Лнкаль

2

У мене були ті ж проблеми (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.

Знову епізод та підказки - це жовтуватий колір, до якого я звик. Мені не потрібно було робити жодних налаштувань у затемненні чи будь-якому з інших файлів.


0

Більш зручним для користувача способом зміни фону є використання інтерфейсу користувача. Відкрита система, налаштування, зовнішній вигляд. За замовчуванням буде обрана тема "Амбіціоз", але ви можете змінити її на будь-яку тему. Натисніть кнопку Налаштувати нижче та перейдіть на вкладку Кольори. Там ви можете змінити кольори переднього плану та фону для підказок, натиснувши відповідні поля.


2
11.10 це не працює. Я можу змінити тему у зовнішньому вигляді, але немає способів налаштувати тему.
Даніель Куллман

У мене не встановлено 11.10, але мені здасться дивним, якби вони видалили спосіб налаштування теми. Можливо, вони перейменували кнопку та / або помістили її в інше місце / вкладку?
Сергій Бєлозоров

Сергію, багато хто з нас шукали, але, схоже, його там немає. Ми сподіваємось, що вона з’явиться знову в 12.04.

1
Ви, справді, здивовані вилученим параметрам налаштування в Gnome3 / Unity?
MestreLion

Більше ... після деякого часу використання 12.04 наші адміністратори розглядають можливість переходу на Fedora чи інший дистрибутив, подібний до RHEL. Ubuntu став мультимедійною платформою, яка добре працює для домашніх користувачів, але не для ІТ-фахівців.
Сергій Белозеров

0

У 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

(Завдяки іншим відповідям, які допомогли мені зрозуміти це !!)


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


0

Для елементарних користувачів:

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


0

Щоб відкрити вікно Зовнішній вигляд за допомогою Tab: Themes direct from root @ terminal write (ви можете використовувати цю команду також для скрипту):

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

де USERваш поточний користувач на робочому столі. Це вікно відкриється правильно, але вам потрібно ще натиснути на тематичні дисплеї у вікні Зовнішній вигляд, щоб запустити тему.

Для тесту з темою встановлення: Пил від root @ терміналу, команда:

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

отримує цю помилку:

(gnome-izgled-properties: 16161): Gtk-WARNING **: Неможливо знайти двигун теми у module_path: "murrine"

але якщо тема: Пил встановлюється за допомогою вибору меню: Система / Налаштування / Зовнішній вигляд та встановлюється з вікна Зовнішній вигляд, установка теми: Пил правильна.

У вікні Зовнішній вигляд потрібна команда, відповідальна за вибір тем, але я не можу її знайти.


0

Я запускаю 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.