summaryrefslogtreecommitdiff
path: root/src/lib/ecore_x
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-08 18:42:34 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2016-12-16 16:16:53 +0900
commit90be06df9efa3371a8c4f82b59f43656b65a1596 (patch)
tree78eaa774d35bf2761c1c99ad222048ac2e612cf3 /src/lib/ecore_x
parent48ac4747b1bba858036807c5f3bdacffd147d10e (diff)
ecore-x - add e stack type atom and api's to set and get it
Diffstat (limited to 'src/lib/ecore_x')
-rw-r--r--src/lib/ecore_x/Ecore_X.h10
-rw-r--r--src/lib/ecore_x/Ecore_X_Atoms.h3
-rw-r--r--src/lib/ecore_x/ecore_x_atoms_decl.h5
-rw-r--r--src/lib/ecore_x/ecore_x_e.c31
4 files changed, 49 insertions, 0 deletions
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index e732fb9..6654d78 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -1379,6 +1379,13 @@ typedef enum _Ecore_X_Illume_Window_State
1379 ECORE_X_ILLUME_WINDOW_STATE_FLOATING 1379 ECORE_X_ILLUME_WINDOW_STATE_FLOATING
1380} Ecore_X_Illume_Window_State; 1380} Ecore_X_Illume_Window_State;
1381 1381
1382typedef enum _Ecore_X_Stack_Type
1383{
1384 ECORE_X_STACK_NONE = 0,
1385 ECORE_X_STACK_STANDARD = 1,
1386 ECORE_X_STACK_LAST
1387} Ecore_X_Stack_Type;
1388
1382/* Window layer constants */ 1389/* Window layer constants */
1383#define ECORE_X_WINDOW_LAYER_BELOW 2 1390#define ECORE_X_WINDOW_LAYER_BELOW 2
1384#define ECORE_X_WINDOW_LAYER_NORMAL 4 1391#define ECORE_X_WINDOW_LAYER_NORMAL 4
@@ -2739,6 +2746,9 @@ EAPI Eina_Bool ecore_x_window_keygrab_unset(Ecore_X_
2739EAPI void ecore_x_e_keyrouter_set(Ecore_X_Window root, Eina_Bool on); /**< @since 1.15 */ //Key router set keyrouter flag using this 2746EAPI void ecore_x_e_keyrouter_set(Ecore_X_Window root, Eina_Bool on); /**< @since 1.15 */ //Key router set keyrouter flag using this
2740EAPI Eina_Bool ecore_x_e_keyrouter_get(Ecore_X_Window root); /**< @since 1.15 */ //Client check the existance of keyrouter using this 2747EAPI Eina_Bool ecore_x_e_keyrouter_get(Ecore_X_Window root); /**< @since 1.15 */ //Client check the existance of keyrouter using this
2741 2748
2749EAPI void ecore_x_e_stack_type_set(Ecore_X_Window win, Ecore_X_Stack_Type stack_type);
2750EAPI Ecore_X_Stack_Type ecore_x_e_stack_type_get(Ecore_X_Window win);
2751
2742#include <Ecore_X_Atoms.h> 2752#include <Ecore_X_Atoms.h>
2743#include <Ecore_X_Cursor.h> 2753#include <Ecore_X_Cursor.h>
2744 2754
diff --git a/src/lib/ecore_x/Ecore_X_Atoms.h b/src/lib/ecore_x/Ecore_X_Atoms.h
index 69d7f0d..014a241 100644
--- a/src/lib/ecore_x/Ecore_X_Atoms.h
+++ b/src/lib/ecore_x/Ecore_X_Atoms.h
@@ -311,6 +311,9 @@ EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE;
311EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE; 311EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE;
312EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY; 312EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY;
313 313
314/* for window stacks */
315EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_STACK_TYPE;
316
314/* for SDB(Samsung Debug Bridge) */ 317/* for SDB(Samsung Debug Bridge) */
315EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT; 318EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT;
316EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT; 319EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT;
diff --git a/src/lib/ecore_x/ecore_x_atoms_decl.h b/src/lib/ecore_x/ecore_x_atoms_decl.h
index 4e95f2c..37da8f2 100644
--- a/src/lib/ecore_x/ecore_x_atoms_decl.h
+++ b/src/lib/ecore_x/ecore_x_atoms_decl.h
@@ -327,6 +327,9 @@ EAPI Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_POSITION = 0;
327EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE = 0; 327EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE = 0;
328EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY = 0; 328EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY = 0;
329 329
330/* for window stacks */
331EAPI Ecore_X_Atom ECORE_X_ATOM_E_STACK_TYPE = 0;
332
330/* for SDB(Samsung Debug Bridge) */ 333/* for SDB(Samsung Debug Bridge) */
331EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT = 0; 334EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT = 0;
332EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT = 0; 335EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT = 0;
@@ -685,6 +688,8 @@ const Atom_Item atom_items[] =
685 { "_E_WINDOW_PROFILE_CHANGE_REQUEST", &ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST }, 688 { "_E_WINDOW_PROFILE_CHANGE_REQUEST", &ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_REQUEST },
686 { "_E_WINDOW_PROFILE_CHANGE_DONE", &ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE }, 689 { "_E_WINDOW_PROFILE_CHANGE_DONE", &ECORE_X_ATOM_E_WINDOW_PROFILE_CHANGE_DONE },
687 690
691 { "_E_STACK_TYPE", &ECORE_X_ATOM_E_STACK_TYPE },
692
688 { "_E_DEICONIFY_APPROVE", &ECORE_X_ATOM_E_DEICONIFY_APPROVE }, 693 { "_E_DEICONIFY_APPROVE", &ECORE_X_ATOM_E_DEICONIFY_APPROVE },
689 694
690 { "_E_WINDOW_ROTATION_SUPPORTED", &ECORE_X_ATOM_E_WINDOW_ROTATION_SUPPORTED }, 695 { "_E_WINDOW_ROTATION_SUPPORTED", &ECORE_X_ATOM_E_WINDOW_ROTATION_SUPPORTED },
diff --git a/src/lib/ecore_x/ecore_x_e.c b/src/lib/ecore_x/ecore_x_e.c
index 742d9d6..a7c5b60 100644
--- a/src/lib/ecore_x/ecore_x_e.c
+++ b/src/lib/ecore_x/ecore_x_e.c
@@ -2399,3 +2399,34 @@ ecore_x_e_keyrouter_get(Ecore_X_Window win EINA_UNUSED)
2399 2399
2400 return val == 1 ? EINA_TRUE : EINA_FALSE; 2400 return val == 1 ? EINA_TRUE : EINA_FALSE;
2401} 2401}
2402
2403EAPI void
2404ecore_x_e_stack_type_set(Ecore_X_Window win,
2405 Ecore_X_Stack_Type stack_type)
2406{
2407 LOGFN(__FILE__, __LINE__, __FUNCTION__);
2408
2409 EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
2410
2411 if (stack_type == ECORE_X_STACK_NONE)
2412 ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_STACK_TYPE);
2413 else
2414 ecore_x_window_prop_card32_set(win, ECORE_X_ATOM_E_STACK_TYPE,
2415 &stack_type, 1);
2416}
2417
2418EAPI Ecore_X_Stack_Type
2419ecore_x_e_stack_type_get(Ecore_X_Window win)
2420{
2421 int ret;
2422 unsigned int val;
2423 LOGFN(__FILE__, __LINE__, __FUNCTION__);
2424
2425 EINA_SAFETY_ON_NULL_RETURN_VAL(_ecore_x_disp, ECORE_X_STACK_NONE);
2426
2427 ret = ecore_x_window_prop_card32_get(win, ECORE_X_ATOM_E_STACK_TYPE,
2428 &val, 1);
2429 if (ret != 1) return ECORE_X_STACK_NONE;
2430 if (val >= ECORE_X_STACK_LAST) val = ECORE_X_STACK_STANDARD;
2431 return (Ecore_X_Stack_Type)val;
2432}