Как определить, активно ли приложение?

Я установил его из ppa, и он действительно не «сломал» Unity, он просто добавляет интерфейс GNOME 3, который перезаписывает интерфейс Gnome 2, что совсем другое. Кроме того, я решил, что хочу снова использовать темы Ambiance и Radiance, поэтому я обновился до Ubuntu 11.10.

2
задан 15 October 2011 в 16:23

10 ответов

Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar.

1
ответ дан 25 May 2018 в 18:09

Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .

1
ответ дан 25 July 2018 в 21:10

Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .

1
ответ дан 6 August 2018 в 03:03

Я нашел лучшее решение здесь: https://wiki.ubuntu.com/MenuBar#Advertising_the_presence_of_the_menu_bar .

1
ответ дан 15 August 2018 в 21:58

Вот более полный ответ, который работает с любым дистрибутивом 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;
}
2
ответ дан 25 May 2018 в 18:09

Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он размещает меню.

0
ответ дан 25 May 2018 в 18:09

Вот более полный ответ, который работает с любым дистрибутивом 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;
}
2
ответ дан 6 August 2018 в 03:03

Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он содержит меню.

0
ответ дан 7 August 2018 в 20:44

Я не уверен, как конкретно проверить модуль Qt. Для поиска модуля GTK вы можете искать переменную окружения UBUNTU_MENUPROXY. Если вы хотите, чтобы меню отображалось в приложениях (и, если это возможно, экспортировано), вы можете установить APPMENU_DISPLAY_BOTH на 1. Если вы хотите увидеть, принимает ли узел-индикатор-appmenu меню, вы можете найти хорошо известное имя «com.canonical.AppMenu.Registrar» на DBus. Если он существует, он содержит меню.

0
ответ дан 10 August 2018 в 09:06

Вот более полный ответ, который работает с любым дистрибутивом 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;
}
2
ответ дан 10 August 2018 в 09:06

Другие вопросы по тегам:

Похожие вопросы: