87
static inline gboolean _popup_menu (CDStatusNotifierItem *pItem, Icon *pIcon, CairoContainer *pContainer)
90
if (pItem->cMenuPath != NULL)
92
if (pItem->pMenu == NULL)
93
pItem->pMenu = dbusmenu_gtkmenu_new ((gchar *)pItem->cService, (gchar *)pItem->cMenuPath);
94
if (pItem->pMenu != NULL)
96
cairo_dock_popup_menu_on_icon (GTK_WIDGET (pItem->pMenu), pIcon, pContainer);
103
r = _emit_click (pItem, pIcon, pContainer, "ContextMenu");
108
r = _emit_click (pItem, pIcon, pContainer, "Activate");
86
112
CD_APPLET_ON_CLICK_BEGIN
87
113
CDStatusNotifierItem *pItem = _get_item (CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER);
88
114
//g_print ("click on item '%s'\n", pItem?pItem->cService:"none");
89
115
if (pItem != NULL)
91
gboolean r = _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "Activate");
94
if (pItem->cId != NULL)
117
if (myConfig.bMenuOnLeftClick)
119
_popup_menu (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER);
123
gboolean r = _emit_click (pItem, CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER, "Activate");
96
cairo_dock_launch_command (pItem->cId); // lancer une nouvelle fois l'appli montre sa fenetre (enfin, generalement).
126
if (pItem->cId != NULL)
128
/// TODO: try to get the icon in the taskbar, because launch the command doesn't raise the window if it was already visible (but it does pop up it if it was hidden, usually).
129
cairo_dock_launch_command (pItem->cId); // lancer une nouvelle fois l'appli montre sa fenetre (enfin, generalement).
138
172
gboolean cd_status_notifier_on_right_click (CairoDockModuleInstance *myApplet, Icon *pClickedIcon, CairoContainer *pClickedContainer, GtkWidget *pAppletMenu, gboolean *bDiscardMenu)
140
if (pClickedIcon == NULL)
174
if (pClickedIcon == NULL || myConfig.bMenuOnLeftClick)
141
175
return CAIRO_DOCK_LET_PASS_NOTIFICATION;
144
CDStatusNotifierItem *pItem = _get_item (CD_APPLET_CLICKED_ICON, CD_APPLET_CLICKED_CONTAINER);
178
CDStatusNotifierItem *pItem = _get_item (pClickedIcon, pClickedContainer);
145
179
if (pItem != NULL)
148
if (pItem->cMenuPath != NULL)
150
if (pItem->pMenu == NULL)
151
pItem->pMenu = dbusmenu_gtkmenu_new ((gchar *)pItem->cService, (gchar *)pItem->cMenuPath);
152
if (pItem->pMenu != NULL)
154
cairo_dock_popup_menu_on_icon (GTK_WIDGET (pItem->pMenu), pClickedIcon, pClickedContainer);
161
_emit_click (pItem, pClickedIcon, pClickedContainer, "ContextMenu");
181
_popup_menu (pItem, pClickedIcon, pClickedContainer);
163
183
*bDiscardMenu = TRUE;
164
184
CD_APPLET_LEAVE (CAIRO_DOCK_INTERCEPT_NOTIFICATION);