forked from enlightenment/enlightenment
Refactor the border menu a little so it takes less screen-space in 640.
- "Borderless" is removed (can set that in the "Borders" dialog. - Group Raise/Lower/Iconify together. - Group Shaded/Sticky/Fullscreen together into a "State" submenu. SVN revision: 26655
This commit is contained in:
parent
e90cfabc11
commit
44edde0092
|
@ -30,6 +30,7 @@ static void _e_border_menu_cb_sendto_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_sendto(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_raise(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_raise(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
static void _e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi);
|
static void _e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
static void _e_border_menu_cb_state_pre(void *data, E_Menu *m, E_Menu_Item *mi);
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_X_Time timestamp)
|
e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_X_Time timestamp)
|
||||||
|
@ -164,8 +165,8 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_border, bd);
|
e_menu_item_callback_set(mi, _e_border_menu_cb_border, bd);
|
||||||
e_menu_item_icon_edje_set(mi,
|
e_menu_item_icon_edje_set(mi,
|
||||||
e_theme_edje_file_get("base/theme/borders",
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
"e/widgets/border/default/borders"),
|
"e/widgets/border/default/borderless"),
|
||||||
"e/widgets/border/default/borders");
|
"e/widgets/border/default/borderless");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!bd->sticky)
|
if (!bd->sticky)
|
||||||
|
@ -206,33 +207,17 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
"e/widgets/border/default/maximize");
|
"e/widgets/border/default/maximize");
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!bd->lock_user_shade) && (!bd->fullscreen) && (!bd->maximized) &&
|
|
||||||
((!bd->client.border.name) || (strcmp("borderless", bd->client.border.name))))
|
|
||||||
{
|
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
e_menu_item_label_set(mi, _("Shaded"));
|
e_menu_item_label_set(mi, _("State"));
|
||||||
e_menu_item_check_set(mi, 1);
|
e_menu_item_submenu_pre_callback_set(mi, _e_border_menu_cb_state_pre, bd);
|
||||||
e_menu_item_toggle_set(mi, (bd->shaded ? 1 : 0));
|
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_shade, bd);
|
|
||||||
e_menu_item_icon_edje_set(mi,
|
|
||||||
e_theme_edje_file_get("base/theme/borders",
|
|
||||||
"e/widgets/border/default/shade"),
|
|
||||||
"e/widgets/border/default/shade");
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!bd->lock_user_sticky)
|
|
||||||
{
|
|
||||||
mi = e_menu_item_new(m);
|
|
||||||
e_menu_item_label_set(mi, _("Sticky"));
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
e_menu_item_toggle_set(mi, (bd->sticky ? 1 : 0));
|
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_stick, bd);
|
|
||||||
e_menu_item_icon_edje_set(mi,
|
e_menu_item_icon_edje_set(mi,
|
||||||
e_theme_edje_file_get("base/theme/borders",
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
"e/widgets/border/default/stick"),
|
"e/widgets/border/default/stick"),
|
||||||
"e/widgets/border/default/stick");
|
"e/widgets/border/default/stick");
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
/* Removed as Borderless is in the Borders dialog also */
|
||||||
|
/*
|
||||||
if ((!bd->shaded) && (!bd->fullscreen) && (!bd->lock_border))
|
if ((!bd->shaded) && (!bd->fullscreen) && (!bd->lock_border))
|
||||||
{
|
{
|
||||||
mi = e_menu_item_new(m);
|
mi = e_menu_item_new(m);
|
||||||
|
@ -245,19 +230,7 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
"e/widgets/border/default/borderless"),
|
"e/widgets/border/default/borderless"),
|
||||||
"e/widgets/border/default/borderless");
|
"e/widgets/border/default/borderless");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
if ((!bd->lock_user_fullscreen) && (!bd->shaded))
|
|
||||||
{
|
|
||||||
mi = e_menu_item_new(m);
|
|
||||||
e_menu_item_label_set(mi, _("Fullscreen"));
|
|
||||||
e_menu_item_check_set(mi, 1);
|
|
||||||
e_menu_item_toggle_set(mi, bd->fullscreen);
|
|
||||||
e_menu_item_callback_set(mi, _e_border_menu_cb_fullscreen, bd);
|
|
||||||
e_menu_item_icon_edje_set(mi,
|
|
||||||
e_theme_edje_file_get("base/theme/borders",
|
|
||||||
"e/widgets/border/default/fullscreen"),
|
|
||||||
"e/widgets/border/default/fullscreen");
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((bd->client.icccm.accepts_focus || bd->client.icccm.take_focus) &&
|
if ((bd->client.icccm.accepts_focus || bd->client.icccm.take_focus) &&
|
||||||
(!bd->client.netwm.state.skip_taskbar))
|
(!bd->client.netwm.state.skip_taskbar))
|
||||||
|
@ -356,9 +329,6 @@ e_int_border_menu_show(E_Border *bd, Evas_Coord x, Evas_Coord y, int key, Ecore_
|
||||||
e_theme_edje_file_get("base/theme/borders",
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
"e/widgets/border/default/stack_on_top"),
|
"e/widgets/border/default/stack_on_top"),
|
||||||
"e/widgets/border/default/stack_below");
|
"e/widgets/border/default/stack_below");
|
||||||
mi = e_menu_item_new(m);
|
|
||||||
e_menu_item_separator_set(mi, 1);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!bd->lock_user_iconify) && (!bd->fullscreen))
|
if ((!bd->lock_user_iconify) && (!bd->fullscreen))
|
||||||
|
@ -894,3 +864,56 @@ _e_border_menu_cb_lower(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_border_menu_cb_state_pre(void *data, E_Menu *m, E_Menu_Item *mi)
|
||||||
|
{
|
||||||
|
E_Border *bd = data;
|
||||||
|
E_Menu *subm;
|
||||||
|
E_Menu_Item *submi;
|
||||||
|
|
||||||
|
if (!bd) return;
|
||||||
|
|
||||||
|
subm = e_menu_new();
|
||||||
|
e_object_data_set(E_OBJECT(subm), bd);
|
||||||
|
e_menu_item_submenu_set(mi, subm);
|
||||||
|
|
||||||
|
if ((!bd->lock_user_shade) && (!bd->fullscreen) && (!bd->maximized) &&
|
||||||
|
((!bd->client.border.name) || (strcmp("borderless", bd->client.border.name))))
|
||||||
|
{
|
||||||
|
submi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(submi, _("Shaded"));
|
||||||
|
e_menu_item_check_set(submi, 1);
|
||||||
|
e_menu_item_toggle_set(submi, (bd->shaded ? 1 : 0));
|
||||||
|
e_menu_item_callback_set(submi, _e_border_menu_cb_shade, bd);
|
||||||
|
e_menu_item_icon_edje_set(submi,
|
||||||
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"e/widgets/border/default/shade"),
|
||||||
|
"e/widgets/border/default/shade");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!bd->lock_user_sticky)
|
||||||
|
{
|
||||||
|
submi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(submi, _("Sticky"));
|
||||||
|
e_menu_item_check_set(submi, 1);
|
||||||
|
e_menu_item_toggle_set(submi, (bd->sticky ? 1 : 0));
|
||||||
|
e_menu_item_callback_set(submi, _e_border_menu_cb_stick, bd);
|
||||||
|
e_menu_item_icon_edje_set(submi,
|
||||||
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"e/widgets/border/default/stick"),
|
||||||
|
"e/widgets/border/default/stick");
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((!bd->lock_user_fullscreen) && (!bd->shaded))
|
||||||
|
{
|
||||||
|
submi = e_menu_item_new(subm);
|
||||||
|
e_menu_item_label_set(submi, _("Fullscreen"));
|
||||||
|
e_menu_item_check_set(submi, 1);
|
||||||
|
e_menu_item_toggle_set(submi, bd->fullscreen);
|
||||||
|
e_menu_item_callback_set(submi, _e_border_menu_cb_fullscreen, bd);
|
||||||
|
e_menu_item_icon_edje_set(submi,
|
||||||
|
e_theme_edje_file_get("base/theme/borders",
|
||||||
|
"e/widgets/border/default/fullscreen"),
|
||||||
|
"e/widgets/border/default/fullscreen");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue