我使用app_indicator_new和gtk_menu_new实现的托盘程序在UOS上可以正常显示,但是右键弹出菜单项后,有时可以选中弹出的选项,有时不能。有时需要点两次才能出发activate事件相应
请问有大佬遇到过这种情况吗,我该如何解决
// 回调函数 - 退出程序 static void quit_callback(GtkWidget* widget, gpointer data) { logger_->info("quit_callback"); }
static void open_callback(GtkMenuItem *item, gpointer user_data) { logger_->info("open_callback"); }
// 创建托盘图标 void creatTrayIcon() { AppIndicator* indicator = app_indicator_new("my-indicator", "/opt/apps/files/resource/logo/source_app_logo.png", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
app_indicator_set_title(indicator, (const gchar*)get_translation_string(app_name)); app_indicator_set_status(indicator, APP_INDICATOR_STATUS_ACTIVE); // 创建菜单 GtkWidget* menu = gtk_menu_new(); // 添加菜单项 GtkWidget* quit_item = gtk_menu_item_new_with_label((const gchar*)get_translation_string(open_caztp)); g_signal_connect(quit_item, "activate", G_CALLBACK(open_callback), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), quit_item); gtk_widget_set_sensitive(quit_item, true); // 添加菜单项 GtkWidget* quit_item1 = gtk_menu_item_new_with_label((const gchar*)get_translation_string(quit_caztp)); g_signal_connect(quit_item1, "activate", G_CALLBACK(quit_callback), NULL); gtk_menu_shell_append(GTK_MENU_SHELL(menu), quit_item1); gtk_widget_set_sensitive(quit_item1, true); gtk_widget_show_all(menu); // 设置菜单 app_indicator_set_menu(indicator, GTK_MENU(menu));
}
bug,等修复
Popular Ranking
Popular Events
我使用app_indicator_new和gtk_menu_new实现的托盘程序在UOS上可以正常显示,但是右键弹出菜单项后,有时可以选中弹出的选项,有时不能。有时需要点两次才能出发activate事件相应
请问有大佬遇到过这种情况吗,我该如何解决
// 回调函数 - 退出程序
static void quit_callback(GtkWidget* widget, gpointer data)
{
logger_->info("quit_callback");
}
static void open_callback(GtkMenuItem *item, gpointer user_data)
{
logger_->info("open_callback");
}
// 创建托盘图标
void creatTrayIcon()
{
AppIndicator* indicator = app_indicator_new("my-indicator", "/opt/apps/files/resource/logo/source_app_logo.png", APP_INDICATOR_CATEGORY_APPLICATION_STATUS);
}