Выйти через меню дока и GTK - PullRequest
0 голосов
/ 12 мая 2011

Каждое приложение в Mac OS X имеет пункт меню «Выход» в меню док-станции и в меню «Приложения» в меню. Но этот пункт не работает в приложениях GTK. Даже в таких простых приложениях, как этот http://www.levien.com/gimp/hello.html

Я пытался обработать Quit вручную, используя NSApplicationDelegate applicationShouldTerminate:, но в этом случае он не вызывался.

Есть ли способ поддержать выход через меню Dock?

Ответы [ 2 ]

0 голосов
/ 16 октября 2011

Ответ выше почти правильный, вы действительно хотите использовать GtkOSXApplication , но так как вы спрашиваете о записи выхода из дока, вы хотите подключить сигнал «NSApplicationBlockTermination».Вот как я использую его в python, чтобы перехватить действие quit:

macapp = gtk_osxapplication.OSXApplication()
macapp.set_dock_icon_pixbuf(some_pixbuf)
macapp.set_menu_bar(my_menubar)
macapp.connect("NSApplicationBlockTermination", your_exit_callback)

Затем просто вызовите gtk.main_quit () из your_exit_callback, когда вы закончите.Примечание: есть еще несколько хитростей, которые вам понадобятся для пункта меню выхода из главного меню - здесь не рассматривается.

0 голосов
/ 07 октября 2011

интеграция ige-mac обеспечивает интеграцию Dock, Menu и bundle для приложений gtk в OSX

Вы можете использовать GtkOSXApplication для интеграции вашего GtkMenu в глобальное меню OSX.

Посмотрите на эти функции:

  • gtk_osxapplication_set_use_quartz_accelerators()
  • gtk_osxapplication_set_menu_bar()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...