Я установил его из ppa, и он действительно не «сломал» Unity, он просто добавляет интерфейс GNOME 3, который перезаписывает интерфейс Gnome 2, что совсем другое. Кроме того, я решил, что хочу снова использовать темы Ambiance и Radiance, поэтому я обновился до Ubuntu 11.10.
Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar.
Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .
Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .
Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .
Вот более полный ответ, который работает с любым дистрибутивом Linux:
static int menu_proxy = -1;
typedef void *(*KVoidPtoF)();
void *proxylib;
KVoidPtoF gtk_menu_proxy_get;
menu_proxy = 0;
proxylib = dlopen("libappmenu.so", RTLD_NOLOAD | RTLD_LAZY);
if (proxylib)
{
gtk_menu_proxy_get = (KVoidPtoF)dlsym(proxylib,
"ubuntu_menu_proxy_get");
if (gtk_menu_proxy_get && (*gtk_menu_proxy_get)() != 0)
menu_proxy = 1;
}
Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он размещает меню.
Вот более полный ответ, который работает с любым дистрибутивом Linux:
static int menu_proxy = -1;
typedef void *(*KVoidPtoF)();
void *proxylib;
KVoidPtoF gtk_menu_proxy_get;
menu_proxy = 0;
proxylib = dlopen("libappmenu.so", RTLD_NOLOAD | RTLD_LAZY);
if (proxylib)
{
gtk_menu_proxy_get = (KVoidPtoF)dlsym(proxylib,
"ubuntu_menu_proxy_get");
if (gtk_menu_proxy_get && (*gtk_menu_proxy_get)() != 0)
menu_proxy = 1;
}
Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он содержит меню.
Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он содержит меню.
Вот более полный ответ, который работает с любым дистрибутивом Linux:
static int menu_proxy = -1;
typedef void *(*KVoidPtoF)();
void *proxylib;
KVoidPtoF gtk_menu_proxy_get;
menu_proxy = 0;
proxylib = dlopen("libappmenu.so", RTLD_NOLOAD | RTLD_LAZY);
if (proxylib)
{
gtk_menu_proxy_get = (KVoidPtoF)dlsym(proxylib,
"ubuntu_menu_proxy_get");
if (gtk_menu_proxy_get && (*gtk_menu_proxy_get)() != 0)
menu_proxy = 1;
}