static gboolean applet_key_press (GtkWidget *widget, GdkEventKey *event, AppletInfo *info) { GdkEventButton eventbutton; gboolean is_popup = FALSE; gboolean is_edit_popup = FALSE; if (applet_must_skip_menu (info)) return FALSE; eventbutton.button = 3; eventbutton.time = event->time; /* We're not connecting to the popup-menu signal since we want to be * able to deal with two cases: * - exact keybinding of popup-menu => we open the context menu * - keybinding of popup-menu + modifier from metacity => we open menu * to "edit" */ panel_util_key_event_is_popup (event, &is_popup, &is_edit_popup); if (is_edit_popup) applet_show_menu (info, panel_applet_get_edit_menu (info), FALSE, &eventbutton); else if (is_popup) applet_show_menu (info, panel_applet_get_menu (info), TRUE, &eventbutton); return (is_popup || is_edit_popup); }
static void panel_applet_recreate_menu (AppletInfo *info) { if (info->menu) { GList *l; for (l = info->user_menu; l; l = l->next) { AppletUserMenu *menu = l->data; menu->menuitem = NULL; menu->submenu = NULL; } if (gtk_widget_get_visible (info->menu)) gtk_menu_shell_deactivate (GTK_MENU_SHELL (info->menu)); g_signal_handlers_disconnect_by_func (info->menu, G_CALLBACK (applet_menu_show), info); g_signal_handlers_disconnect_by_func (info->menu, G_CALLBACK (applet_menu_deactivate), info); g_object_unref (info->menu); info->menu = NULL; } panel_applet_get_menu (info); }
static gboolean applet_button_press (GtkWidget *widget, GdkEventButton *event, AppletInfo *info) { if (event->button != 3) return FALSE; if (applet_must_skip_menu (info)) return FALSE; // Show combined menu applet_show_menu (info, panel_applet_get_menu (info), TRUE, event); return TRUE; }
static gboolean applet_button_press (GtkWidget *widget, GdkEventButton *event, AppletInfo *info) { guint modifiers; if (event->button != 3) return FALSE; if (applet_must_skip_menu (info)) return FALSE; modifiers = event->state & gtk_accelerator_get_default_mod_mask (); if (modifiers == panel_bindings_get_mouse_button_modifier_keymask ()) applet_show_menu (info, panel_applet_get_edit_menu (info), FALSE, event); else applet_show_menu (info, panel_applet_get_menu (info), TRUE, event); return TRUE; }
static gboolean applet_key_press (GtkWidget *widget, GdkEventKey *event, AppletInfo *info) { GdkEventButton eventbutton; gboolean is_popup = FALSE; gboolean is_edit_popup = FALSE; if (applet_must_skip_menu (info)) return FALSE; eventbutton.button = 3; eventbutton.time = event->time; panel_util_key_event_is_popup (event, &is_popup, &is_edit_popup); // Hacked out the old code and show the popup always if (is_edit_popup || is_popup ) applet_show_menu (info, panel_applet_get_menu (info), TRUE, &eventbutton); return (is_popup || is_edit_popup); }