Есть ли способ внести изменения в заголовок с GTK2? - PullRequest
2 голосов
/ 20 сентября 2010

У меня есть настольное приложение, написанное на Ruby, которое использует GTK2.Это всего лишь небольшое тестовое приложение для игры с GTK2, но у меня возникают проблемы с достижением того, что я хочу сделать.Есть ли способ с помощью GTK2 получить заголовок (кроме установки заголовка), в частности, добавить к нему кнопку (рядом с min / max / etc, B на диаграмме ниже) или добавить опцию в менючто появляется при нажатии на иконку на заголовке (A на диаграмме ниже)?

alt text

Я думаю, что не может быть, потому что GTK предназначен для работы со многими многими оконными менеджерами, но я просто удивился, если таковые были.В качестве дополнительного вопроса, какое событие вызывает нажатие кнопки «крестик»?На данный момент, если пользователь нажимает, что окно исчезает, но программа не заканчивается - мне нужно захватить это событие и выйти из программы.

Спасибо за любую помощь, включая удар по голове и рассказывание мнекак глупо я.

Ответы [ 2 ]

1 голос
/ 13 марта 2014

Обратите внимание, что это возможно в GTK 3.10 и выше, используя gtk_window_set_titlebar().Он заменяет строку заголовка оконного менеджера на собственную.GtkHeaderBar - это хороший пользовательский класс строки заголовка для использования.

Однако нельзя сделать так, чтобы он выглядел так же, как оконный менеджер, потому что вы не будете знать, какой оконный менеджер использует пользователь.

0 голосов
/ 23 сентября 2010

Нет, строка заголовка принадлежит оконному менеджеру, и вы, как правило, не имеете прямого доступа к ней.

Когда пользователь пытается закрыть окно, нажав кнопку менеджера окон, окно получит событие delete .

...