Submit again, the pending of always on top ;)
-- Sébastien HOUZE [EMAIL PROTECTED]
--- e/src/bin/e_border.c 2005-07-11 09:59:47.000000000 +0200 +++ e.fun/src/bin/e_border.c 2005-07-11 14:21:20.726928030 +0200 @@ -85,6 +85,7 @@ static void _e_border_menu_cb_icon_edit(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_stick(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_on_top(void *data, E_Menu *m, E_Menu_Item *mi); +static void _e_border_menu_cb_below(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_borderless(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_fullscreen(void *data, E_Menu *m, E_Menu_Item *mi); static void _e_border_menu_cb_skip_winlist(void *data, E_Menu *m, E_Menu_Item *mi); @@ -5729,6 +5730,19 @@ "widgets/border/default/on_top"); } + if (!bd->lock_user_stacking) + { + mi = e_menu_item_new(m); + e_menu_item_label_set(mi, _("Always Below")); + e_menu_item_check_set(mi, 1); + e_menu_item_toggle_set(mi, (bd->layer == 0 ? 1 : 0)); + e_menu_item_callback_set(mi, _e_border_menu_cb_below, bd); + e_menu_item_icon_edje_set(mi, + (char *)e_theme_edje_file_get("base/theme/borders", + "widgets/border/default/below"), + "widgets/border/default/below"); + } + if (!bd->lock_border) { mi = e_menu_item_new(m); @@ -5968,6 +5982,28 @@ } static void +_e_border_menu_cb_below(void *data, E_Menu *m, E_Menu_Item *mi) +{ + /* FIXME: + * - Remember old layer + */ + E_Border *bd; + + bd = data; + if (bd->layer == 0) + { + bd->layer = 100; + e_hints_window_stacking_set(bd, E_STACKING_NONE); + } + else + { + bd->layer = 0; + e_hints_window_stacking_set(bd, E_STACKING_BELOW); + } + e_container_border_raise(bd); +} + +static void _e_border_menu_cb_borderless(void *data, E_Menu *m, E_Menu_Item *mi) { E_Border *bd;