2004-12-20 19:01:19 -08:00
|
|
|
/*
|
|
|
|
* vim:ts=8:sw=3:sts=8:noexpandtab:cino=>5n-3f0^-2{2
|
|
|
|
*/
|
2004-11-24 19:37:45 -08:00
|
|
|
#include "e.h"
|
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
typedef struct _Main_Data Main_Data;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
struct _Main_Data
|
2004-11-24 19:37:45 -08:00
|
|
|
{
|
|
|
|
E_Menu *menu;
|
2004-12-23 07:31:47 -08:00
|
|
|
E_Menu *apps;
|
2004-11-24 19:37:45 -08:00
|
|
|
E_Menu *modules;
|
|
|
|
};
|
|
|
|
|
|
|
|
/* local subsystem functions */
|
2004-12-23 07:31:47 -08:00
|
|
|
static void _e_int_menus_main_end (void *data, E_Menu *m);
|
|
|
|
static void _e_int_menus_main_about (void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_main_restart (void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_main_exit (void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_apps_scan (E_Menu *m);
|
|
|
|
static void _e_int_menus_apps_start (void *data, E_Menu *m);
|
|
|
|
static void _e_int_menus_apps_end (void *data, E_Menu *m);
|
|
|
|
static void _e_int_menus_apps_free_hook (void *obj);
|
|
|
|
static void _e_int_menus_apps_run (void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_clients_pre_cb (void *data, E_Menu *m);
|
2004-12-20 19:01:19 -08:00
|
|
|
static void _e_int_menus_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
2005-01-03 01:34:24 -08:00
|
|
|
static void _e_int_menus_desktops_pre_cb (void *data, E_Menu *m);
|
|
|
|
static void _e_int_menus_desktops_item_cb(void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_desktops_add_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
|
|
|
static void _e_int_menus_desktops_del_cb (void *data, E_Menu *m, E_Menu_Item *mi);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
/* externally accessible functions */
|
|
|
|
E_Menu *
|
2004-12-23 07:31:47 -08:00
|
|
|
e_int_menus_main_new(void)
|
2004-11-24 19:37:45 -08:00
|
|
|
{
|
|
|
|
E_Menu *m, *subm;
|
|
|
|
E_Menu_Item *mi;
|
2004-12-23 07:31:47 -08:00
|
|
|
Main_Data *dat;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
dat = calloc(1, sizeof(Main_Data));
|
2004-11-24 19:37:45 -08:00
|
|
|
m = e_menu_new();
|
|
|
|
dat->menu = m;
|
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_post_deactivate_callback_set(m, _e_int_menus_main_end, dat);
|
|
|
|
|
|
|
|
subm = e_int_menus_favorite_apps_new(0);
|
|
|
|
dat->apps = subm;
|
2004-11-24 19:37:45 -08:00
|
|
|
mi = e_menu_item_new(m);
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_item_label_set(mi, "Favorite Applications");
|
2004-12-24 01:23:06 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"favorites");
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_item_submenu_set(mi, subm);
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_separator_set(mi, 1);
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
subm = e_module_menu_new();
|
|
|
|
dat->modules = subm;
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "Modules");
|
2004-12-23 23:45:21 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"module");
|
2004-11-24 19:37:45 -08:00
|
|
|
e_menu_item_submenu_set(mi, subm);
|
2005-01-03 01:34:24 -08:00
|
|
|
|
|
|
|
subm = e_int_menus_desktops_new();
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "Desktops");
|
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"windows");
|
|
|
|
e_menu_item_submenu_set(mi, subm);
|
2004-12-20 19:01:19 -08:00
|
|
|
|
2004-12-22 02:41:03 -08:00
|
|
|
subm = e_int_menus_clients_new();
|
|
|
|
mi = e_menu_item_new(m);
|
2004-12-22 20:58:57 -08:00
|
|
|
e_menu_item_label_set(mi, "Windows");
|
2004-12-23 23:45:21 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"windows");
|
2004-12-22 02:41:03 -08:00
|
|
|
e_menu_item_submenu_set(mi, subm);
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_separator_set(mi, 1);
|
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "About Enlightenment");
|
2004-12-23 20:30:58 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"e");
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_main_about, NULL);
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_separator_set(mi, 1);
|
|
|
|
|
2004-11-24 20:07:48 -08:00
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "Restart Enlightement");
|
2004-12-23 20:30:58 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"reset");
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_main_restart, NULL);
|
2004-11-24 20:07:48 -08:00
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "Exit Enlightement");
|
2004-12-23 20:30:58 -08:00
|
|
|
e_menu_item_icon_edje_set(mi, e_path_find(path_icons, "default.eet"),
|
|
|
|
"power");
|
2004-12-23 07:31:47 -08:00
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_main_exit, NULL);
|
2004-11-24 19:37:45 -08:00
|
|
|
return m;
|
|
|
|
}
|
|
|
|
|
|
|
|
E_Menu *
|
|
|
|
e_int_menus_apps_new(char *dir, int top)
|
|
|
|
{
|
|
|
|
E_Menu *m;
|
|
|
|
E_App *a;
|
|
|
|
|
|
|
|
m = e_menu_new();
|
|
|
|
a = e_app_new(dir, 0);
|
|
|
|
e_object_data_set(E_OBJECT(m), a);
|
|
|
|
e_menu_pre_activate_callback_set(m, _e_int_menus_apps_start, NULL);
|
|
|
|
if (top)
|
|
|
|
{
|
|
|
|
e_menu_post_deactivate_callback_set(m, _e_int_menus_apps_end, NULL);
|
|
|
|
e_object_free_attach_func_set(E_OBJECT(m), _e_int_menus_apps_free_hook);
|
|
|
|
}
|
|
|
|
return m;
|
|
|
|
}
|
|
|
|
|
2005-01-03 01:34:24 -08:00
|
|
|
E_Menu *
|
|
|
|
e_int_menus_desktops_new(void)
|
|
|
|
{
|
|
|
|
E_Menu *m;
|
|
|
|
|
|
|
|
m = e_menu_new();
|
|
|
|
e_menu_pre_activate_callback_set(m, _e_int_menus_desktops_pre_cb, NULL);
|
|
|
|
|
|
|
|
return m;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2004-12-23 07:31:47 -08:00
|
|
|
E_Menu *
|
|
|
|
e_int_menus_favorite_apps_new(int top)
|
|
|
|
{
|
|
|
|
E_Menu *m;
|
|
|
|
char buf[4096];
|
|
|
|
char *homedir;
|
|
|
|
|
|
|
|
homedir = e_user_homedir_get();
|
|
|
|
if (homedir)
|
|
|
|
{
|
|
|
|
snprintf(buf, sizeof(buf), "%s/.e/e/applications/favorite", homedir);
|
|
|
|
m = e_int_menus_apps_new(buf, top);
|
|
|
|
free(homedir);
|
|
|
|
return m;
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2004-12-20 19:01:19 -08:00
|
|
|
E_Menu *
|
2004-12-22 20:58:57 -08:00
|
|
|
e_int_menus_clients_new(void)
|
2004-12-20 19:01:19 -08:00
|
|
|
{
|
|
|
|
E_Menu *m;
|
|
|
|
|
|
|
|
m = e_menu_new();
|
2004-12-21 07:17:01 -08:00
|
|
|
e_menu_pre_activate_callback_set(m, _e_int_menus_clients_pre_cb, NULL);
|
|
|
|
return m;
|
2004-12-20 19:01:19 -08:00
|
|
|
}
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
/* local subsystem functions */
|
|
|
|
static void
|
2004-12-23 07:31:47 -08:00
|
|
|
_e_int_menus_main_end(void *data, E_Menu *m)
|
2004-11-24 19:37:45 -08:00
|
|
|
{
|
2004-12-23 07:31:47 -08:00
|
|
|
Main_Data *dat;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
dat = data;
|
2004-12-23 07:31:47 -08:00
|
|
|
e_object_unref(E_OBJECT(dat->apps));
|
2004-11-24 19:37:45 -08:00
|
|
|
e_object_unref(E_OBJECT(dat->modules));
|
|
|
|
e_object_unref(E_OBJECT(m));
|
|
|
|
free(dat);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
2004-12-23 07:31:47 -08:00
|
|
|
_e_int_menus_main_about(void *data, E_Menu *m, E_Menu_Item *mi)
|
2004-11-24 19:37:45 -08:00
|
|
|
{
|
|
|
|
e_error_dialog_show("About Enlightenment",
|
|
|
|
"This is Enlightenment "VERSION".\n"
|
|
|
|
"Copyright © 1999-2004, by the Enlightenment Dev Team.\n"
|
|
|
|
"\n"
|
|
|
|
"We hope you enjoy using this software as much as we enjoyed writing it.\n"
|
|
|
|
"Please think of the aardvarks. They need some love too."
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2004-11-24 20:07:48 -08:00
|
|
|
static void
|
2004-12-23 07:31:47 -08:00
|
|
|
_e_int_menus_main_restart(void *data, E_Menu *m, E_Menu_Item *mi)
|
2004-11-24 20:07:48 -08:00
|
|
|
{
|
|
|
|
printf("RESTART ON!\n");
|
|
|
|
restart = 1;
|
|
|
|
ecore_main_loop_quit();
|
|
|
|
}
|
|
|
|
|
2004-11-24 19:37:45 -08:00
|
|
|
static void
|
2004-12-23 07:31:47 -08:00
|
|
|
_e_int_menus_main_exit(void *data, E_Menu *m, E_Menu_Item *mi)
|
2004-11-24 19:37:45 -08:00
|
|
|
{
|
|
|
|
ecore_main_loop_quit();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_apps_scan(E_Menu *m)
|
|
|
|
{
|
|
|
|
E_Menu_Item *mi;
|
|
|
|
E_App *a;
|
|
|
|
Evas_List *l;
|
2004-12-26 23:50:03 -08:00
|
|
|
int app_count = 0;
|
2004-11-24 19:37:45 -08:00
|
|
|
|
|
|
|
a = e_object_data_get(E_OBJECT(m));
|
|
|
|
e_app_subdir_scan(a, 0);
|
|
|
|
for (l = a->subapps; l; l = l->next)
|
|
|
|
{
|
|
|
|
a = l->data;
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, a->name);
|
|
|
|
if (a->exe)
|
|
|
|
{
|
|
|
|
e_menu_item_icon_edje_set(mi, a->path, "icon");
|
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_apps_run, a);
|
2004-12-26 23:50:03 -08:00
|
|
|
app_count++;
|
2004-11-24 19:37:45 -08:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
char buf[4096];
|
|
|
|
|
|
|
|
snprintf(buf, sizeof(buf), "%s/.directory.eet", a->path);
|
|
|
|
e_menu_item_icon_edje_set(mi, buf, "icon");
|
|
|
|
e_menu_item_submenu_set(mi, e_int_menus_apps_new(a->path, 0));
|
2004-12-26 23:50:03 -08:00
|
|
|
app_count++;
|
2004-11-24 19:37:45 -08:00
|
|
|
}
|
|
|
|
}
|
2004-12-26 23:50:03 -08:00
|
|
|
if (app_count == 0)
|
|
|
|
{
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "(No Applications)");
|
|
|
|
}
|
2004-11-24 19:37:45 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_apps_start(void *data, E_Menu *m)
|
|
|
|
{
|
|
|
|
_e_int_menus_apps_scan(m);
|
|
|
|
e_menu_pre_activate_callback_set(m, NULL, NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_apps_end(void *data, E_Menu *m)
|
|
|
|
{
|
|
|
|
Evas_List *l;
|
|
|
|
|
|
|
|
for (l = m->items; l; l = l->next)
|
|
|
|
{
|
|
|
|
E_Menu_Item *mi;
|
|
|
|
|
|
|
|
mi = l->data;
|
|
|
|
if (mi->submenu)
|
|
|
|
_e_int_menus_apps_end(NULL, mi->submenu);
|
|
|
|
}
|
|
|
|
e_object_unref(E_OBJECT(m));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_apps_free_hook(void *obj)
|
|
|
|
{
|
|
|
|
E_Menu *m;
|
|
|
|
E_App *a;
|
|
|
|
|
|
|
|
m = obj;
|
|
|
|
a = e_object_data_get(E_OBJECT(m));
|
|
|
|
if (a) e_object_unref(E_OBJECT(a));
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_apps_run(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
|
|
{
|
|
|
|
E_App *a;
|
|
|
|
|
|
|
|
a = data;
|
|
|
|
e_app_exec(a);
|
|
|
|
}
|
2004-12-20 19:01:19 -08:00
|
|
|
|
2005-01-03 01:34:24 -08:00
|
|
|
static void
|
|
|
|
_e_int_menus_desktops_pre_cb(void *data, E_Menu *m)
|
|
|
|
{
|
|
|
|
E_Menu_Item *mi;
|
|
|
|
Evas_List *l, *desks = NULL;
|
|
|
|
E_Menu *root;
|
|
|
|
|
|
|
|
if (m->realized) return;
|
|
|
|
|
|
|
|
/* clear list */
|
|
|
|
if (m->items)
|
|
|
|
{
|
|
|
|
Evas_List *l;
|
|
|
|
for (l = m->items; l; l = l->next)
|
|
|
|
{
|
|
|
|
E_Menu_Item *mi = l->data;
|
|
|
|
e_object_free(E_OBJECT(mi));
|
|
|
|
}
|
|
|
|
}
|
2005-01-03 17:49:21 -08:00
|
|
|
evas_list_free(m->items);
|
|
|
|
m->items = NULL;
|
2005-01-03 01:34:24 -08:00
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
2005-01-05 00:30:25 -08:00
|
|
|
e_menu_item_label_set(mi, "New Desktop");
|
2005-01-03 01:34:24 -08:00
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_desktops_add_cb, NULL);
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_label_set(mi, "Remove This Desktop");
|
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_desktops_del_cb, NULL);
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_separator_set(mi, 1);
|
|
|
|
|
|
|
|
root = e_menu_root_get(m);
|
|
|
|
/* Get the desktop list for this zone */
|
|
|
|
/* FIXME: Menu code needs to determine what zone menu was clicked in */
|
|
|
|
if (root && root->con)
|
|
|
|
{
|
|
|
|
E_Zone *zone = e_zone_current_get(root->con);
|
|
|
|
|
|
|
|
for (l = zone->desks; l; l = l->next)
|
|
|
|
{
|
|
|
|
E_Desk *desk = l->data;
|
|
|
|
desks = evas_list_append(desks, desk);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (l = desks; l; l = l->next)
|
|
|
|
{
|
|
|
|
E_Desk *desk = l->data;
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_check_set(mi, 1);
|
|
|
|
e_menu_item_label_set(mi, desk->name);
|
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_desktops_item_cb, desk);
|
|
|
|
if (desk == e_desk_current_get(zone))
|
|
|
|
e_menu_item_toggle_set(mi, 1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
evas_list_free(desks);
|
|
|
|
}
|
|
|
|
|
|
|
|
/* FIXME: Use the zone the menu was clicked in */
|
|
|
|
static void
|
|
|
|
_e_int_menus_desktops_add_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
|
|
{
|
|
|
|
E_Menu *root = e_menu_root_get(m);
|
|
|
|
|
|
|
|
if (root && root->con)
|
|
|
|
{
|
|
|
|
E_Desk *desk;
|
|
|
|
E_Zone *zone = e_zone_current_get(root->con);
|
|
|
|
desk = e_desk_new(zone);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_desktops_del_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
|
|
{
|
|
|
|
E_Menu *root = e_menu_root_get(m);
|
|
|
|
|
|
|
|
if (root && root->con)
|
|
|
|
{
|
|
|
|
E_Zone *zone;
|
|
|
|
E_Desk *desk;
|
|
|
|
|
|
|
|
zone = e_zone_current_get(root->con);
|
|
|
|
desk = e_desk_current_get(zone);
|
|
|
|
e_desk_remove(desk);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_desktops_item_cb(void *data, E_Menu *m, E_Menu_Item *mi)
|
|
|
|
{
|
|
|
|
E_Desk *desk = data;
|
|
|
|
|
|
|
|
e_desk_show(desk);
|
|
|
|
}
|
|
|
|
|
2004-12-20 19:01:19 -08:00
|
|
|
static void
|
|
|
|
_e_int_menus_clients_pre_cb(void *data, E_Menu *m)
|
|
|
|
{
|
|
|
|
E_Menu_Item *mi;
|
|
|
|
Evas_List *l, *borders = NULL;
|
2004-12-22 02:41:03 -08:00
|
|
|
E_Menu *root;
|
2004-12-20 19:01:19 -08:00
|
|
|
|
|
|
|
if (m->realized) return;
|
2005-01-03 23:16:24 -08:00
|
|
|
if (m->items) return;
|
|
|
|
|
2004-12-22 02:41:03 -08:00
|
|
|
root = e_menu_root_get(m);
|
2004-12-20 19:01:19 -08:00
|
|
|
/* get the current containers clients */
|
2004-12-22 02:41:03 -08:00
|
|
|
if (root && root->con)
|
2004-12-20 19:01:19 -08:00
|
|
|
{
|
2004-12-22 02:41:03 -08:00
|
|
|
for (l = e_container_clients_list_get(root->con); l; l = l->next)
|
2004-12-20 19:01:19 -08:00
|
|
|
{
|
|
|
|
borders = evas_list_append(borders, l->data);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/* get the iconified clients from other containers */
|
|
|
|
for (l = e_iconify_clients_list_get(); l; l = l->next)
|
|
|
|
{
|
|
|
|
if (!evas_list_find(borders, l->data))
|
|
|
|
borders = evas_list_append(borders, l->data);
|
|
|
|
}
|
2004-12-21 07:17:01 -08:00
|
|
|
|
|
|
|
if (!borders)
|
|
|
|
{ /* FIXME here we want nothing, but that crashes!!! */
|
|
|
|
mi = e_menu_item_new(m);
|
2004-12-26 23:50:03 -08:00
|
|
|
e_menu_item_label_set(mi, "(No Windows)");
|
2004-12-21 07:17:01 -08:00
|
|
|
return;
|
|
|
|
}
|
2004-12-20 19:01:19 -08:00
|
|
|
for (l = borders; l; l = l->next)
|
|
|
|
{
|
|
|
|
E_Border *bd = l->data;
|
|
|
|
E_App *a;
|
|
|
|
|
|
|
|
mi = e_menu_item_new(m);
|
|
|
|
e_menu_item_check_set(mi, 1);
|
|
|
|
e_menu_item_label_set(mi, bd->client.icccm.title);
|
|
|
|
e_menu_item_callback_set(mi, _e_int_menus_clients_item_cb, bd);
|
|
|
|
if (!bd->iconic) e_menu_item_toggle_set(mi, 1);
|
|
|
|
|
|
|
|
a = e_app_window_name_class_find(bd->client.icccm.name,
|
|
|
|
bd->client.icccm.class);
|
|
|
|
if (a)
|
|
|
|
{
|
|
|
|
e_menu_item_icon_edje_set(mi, a->path, "icon");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
evas_list_free(borders);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void
|
|
|
|
_e_int_menus_clients_item_cb (void *data, E_Menu *m, E_Menu_Item *mi)
|
|
|
|
{
|
|
|
|
E_Border *bd = data;
|
|
|
|
|
|
|
|
if (bd->iconic) e_border_uniconify(bd);
|
|
|
|
|
|
|
|
e_border_raise(bd);
|
|
|
|
e_border_focus_set(bd, 1, 1);
|
|
|
|
}
|