aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_win.c
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-19 15:39:36 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-20 10:57:55 +0900
commit39af0d88aa7c84bd5a8f6cc9b5b94c5b045f93dd (patch)
treeccd162b28ec569c1b98ceeeca4878ffd25f2a2ea /src/lib/elementary/efl_ui_win.c
parentevas/ply: Add filename in error logs (diff)
downloadefl-39af0d88aa7c84bd5a8f6cc9b5b94c5b045f93dd.tar.gz
efl stack wins - add base property/boolean to indicate win is a base
part of adding stacks...
Diffstat (limited to 'src/lib/elementary/efl_ui_win.c')
-rw-r--r--src/lib/elementary/efl_ui_win.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 436501727b..7ae8bf6b39 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -258,6 +258,7 @@ struct _Efl_Ui_Win_Data
Eina_Bool tmp_updating_hints : 1;
Eina_Bool single_edje_content: 1; /* hack for E */
Eina_Bool shown : 1;
+ Eina_Bool stack_base : 1;
};
struct _Input_Pointer_Iterator
@@ -3151,7 +3152,10 @@ _elm_win_xwin_update(Efl_Ui_Win_Data *sd)
if (win)
{
ecore_x_icccm_transient_for_set(sd->x.xwin, win);
- ecore_x_e_stack_type_set(sd->x.xwin, ECORE_X_STACK_STANDARD);
+ if (sd->stack_base)
+ ecore_x_e_stack_type_set(sd->x.xwin, ECORE_X_STACK_BASE);
+ else
+ ecore_x_e_stack_type_set(sd->x.xwin, ECORE_X_STACK_STANDARD);
}
}
else
@@ -6157,6 +6161,19 @@ _efl_ui_win_stack_master_id_get(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd)
}
EOLIAN static void
+_efl_ui_win_stack_base_set(Eo *obj, Efl_Ui_Win_Data *sd, Eina_Bool base)
+{
+ if (sd->shown) return;
+ sd->stack_base = !!base;
+}
+
+EOLIAN static Eina_Bool
+_efl_ui_win_stack_base_get(Eo *obj, Efl_Ui_Win_Data *sd)
+{
+ return sd->stack_base;
+}
+
+EOLIAN static void
_efl_ui_win_stack_pop_to_id(Eo *obj EINA_UNUSED, Efl_Ui_Win_Data *sd EINA_UNUSED, const char *id EINA_UNUSED)
{
// if in e (x11+wl), ask e to nuke all windows in stack above this