FLTK в Ubuntu 18.04: установить всплывающий текст значка на док-станции - PullRequest
1 голос
/ 09 ноября 2019

Я использую FLTK 1.3.4 в Ubuntu 18.04.

Мой проект разрабатывает настольное приложение с графическим интерфейсом, используя FLTK. Когда приложение запускается, его значок по умолчанию на док-станции является знаком «стоп». Когда вы наводите на него мышью, всплывающий текст по умолчанию - «FLTK». Смотрите скриншот ниже:

adjuster example 01

Я использую пример настройки FLTK , чтобы показать это.

Iхочу использовать свой собственный значок и изменить текст на что-то другое. Я узнал, что API void Fl_Window::icon(const Fl_RGB_Image * icon) может установить значок, но я не понял, как изменить текст при наведении. Я пробовал `` Fl_Window :: label and Fl_Window :: iconlabel`, но они не работают.

Кто-нибудь знает, куда мне смотреть?

Я прочитал этот документ , который дал мне подсказку о использовании Fl_Window::icon(), но в нем не упоминается, как установить текст.

Думаю, мне, возможно, придется взглянуть наGTK API (моя система использует GTK 3), но после просмотра API на этой странице я ничего не нашел.

Я также попробовал https://www.fltk.org/doc-1.3/classFl__Window.html#a9718a55f909d150394f4a67ba762aa0cFl_Window'sконструктор, который принимает заголовок окна, но также не меняет текст при наведении иконки.

1 Ответ

1 голос
/ 13 ноября 2019

После осмотра это можно установить с помощью метода Fl_Window::xclass. Его исходный код здесь .

Используется строка xclass здесь :

      XChangeProperty(fl_display, xp->xid, XA_WM_CLASS, XA_STRING, 8, 0,
                      (unsigned char *)buffer, len * 2 + 2);

Это вызов API X Window. Свойство XA_WM_CLASS - это «Класс приложения и имя для поиска в базе данных ресурсов». Об этом говорится в Глава 12. Межклиентная связь в книге Руководство по программированию Xlib для Версии 11 X Window System, Vol. 1 .

...