imo in ecore-x nobody cares. there have been plenty of functions added here
since 1.0 which have no @since and no docs at all. since none of these
functions show up in docs anyway, there's no point wasting time for
something that will literally never be seen.

On Tue, Jul 3, 2012 at 9:14 AM, Vincent Torri <[email protected]>wrote:

> On Tue, Jul 3, 2012 at 9:36 AM, Enlightenment SVN
> <[email protected]> wrote:
> > Log:
> > Ecore_X: Merge Tizen changes to upstream EFL.
> >
> >
> >
> > Author:       devilhorns
> > Date:         2012-07-03 00:36:55 -0700 (Tue, 03 Jul 2012)
> > New Revision: 73203
> > Trac:         http://trac.enlightenment.org/e/changeset/73203
> >
> > Modified:
> >   trunk/ecore/src/lib/ecore_x/Ecore_X.h
> trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h
> trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h
> trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c
> trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c
> trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c
> trunk/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c
> >
> > Modified: trunk/ecore/src/lib/ecore_x/Ecore_X.h
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/Ecore_X.h       2012-07-03 07:34:35 UTC
> (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/Ecore_X.h       2012-07-03 07:36:55 UTC
> (rev 73203)
> > @@ -337,6 +337,20 @@
> >     ECORE_X_RANDR_PROPERTY_CHANGE_DEL
> >  } Ecore_X_Randr_Property_Change;
> >
>
> minimal doc to at least have @since for all the api addition (enum,
> struct and functions
> NEWS updated to reflect API additions
> ChangeLog for general description
>
> Vincent
>
> > +typedef enum _Ecore_X_Netwm_Direction
> > +{
> > +   ECORE_X_NETWM_DIRECTION_SIZE_TL = 0,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_T = 1,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_TR = 2,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_R = 3,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_BR = 4,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_B = 5,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_BL = 6,
> > +   ECORE_X_NETWM_DIRECTION_SIZE_L = 7,
> > +   ECORE_X_NETWM_DIRECTION_MOVE = 8,
> > +   ECORE_X_NETWM_DIRECTION_CANCEL = 11,
> > +} Ecore_X_Netwm_Direction;
> > +
> >  /**
> >   * @typedef _Ecore_X_Error_Code
> >   * Defines the error codes of Ecore_X which wraps the X Window Systems
> > @@ -866,6 +880,63 @@
> >     Ecore_X_Time   time;
> >  };
> >
> > +struct _Ecore_X_Event_Window_Prop_Title_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *title;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Visible_Title_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *title;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Icon_Name_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *name;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Visible_Icon_Name_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *name;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Client_Machine_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *name;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Name_Class_Change
> > +{
> > +   Ecore_X_Window win;
> > +   char          *name;
> > +   char          *clas;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Pid_Change
> > +{
> > +   Ecore_X_Window win;
> > +   pid_t          pid;
> > +   Ecore_X_Time   time;
> > +};
> > +
> > +struct _Ecore_X_Event_Window_Prop_Desktop_Change
> > +{
> > +   Ecore_X_Window win;
> > +   long           desktop;
> > +   Ecore_X_Time   time;
> > +};
> > +
> >  struct _Ecore_X_Event_Startup_Sequence
> >  {
> >     Ecore_X_Window win;
> > @@ -1157,6 +1228,12 @@
> >     ECORE_X_ILLUME_INDICATOR_TRANSPARENT
> >  } Ecore_X_Illume_Indicator_Opacity_Mode;
> >
> > +typedef enum _Ecore_X_Illume_Window_State
> > +{
> > +   ECORE_X_ILLUME_WINDOW_STATE_NORMAL = 0,
> > +   ECORE_X_ILLUME_WINDOW_STATE_FLOATING
> > +} Ecore_X_Illume_Window_State;
> > +
> >  /* Window layer constants */
> >  #define ECORE_X_WINDOW_LAYER_BELOW  2
> >  #define ECORE_X_WINDOW_LAYER_NORMAL 4
> > @@ -2288,6 +2365,13 @@
> >
> >  EAPI void
>  ecore_x_e_illume_indicator_opacity_send(Ecore_X_Window win,
> Ecore_X_Illume_Indicator_Opacity_Mode mode);
> >
> > +EAPI void
> > +ecore_x_e_illume_window_state_set(Ecore_X_Window win,
> > +                                  Ecore_X_Illume_Window_State state);
> > +
> > +EAPI Ecore_X_Illume_Window_State
> > +ecore_x_e_illume_window_state_get(Ecore_X_Window win);
> > +
> >  #ifdef __cplusplus
> >  }
> >  #endif // ifdef __cplusplus
> >
> > Modified: trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2012-07-03 07:34:35 UTC
> (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/Ecore_X_Atoms.h 2012-07-03 07:36:55 UTC
> (rev 73203)
> > @@ -252,6 +252,9 @@
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV;
> > @@ -273,4 +276,15 @@
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_PARENT;
> >  EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_POSITION;
> >
> > +/* currently elementary and E specific extension */
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_PROFILE;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_PROFILE_LIST;
> > +
> > +/* for sliding window */
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY;
> > +
> > +/* for SDB(Samsung Debug Bridge) */
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT;
> > +EAPI extern Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT;
> >  #endif /* _ECORE_X_ATOMS_H */
> >
> > Modified: trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h    2012-07-03
> 07:34:35 UTC (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/ecore_x_atoms_decl.h    2012-07-03
> 07:36:55 UTC (rev 73203)
> > @@ -278,6 +278,9 @@
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_GEOMETRY = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_ON = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_CLIPBOARD_OFF = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_CONTROL = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_NEXT = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_ACCESS_ACTION_PREV = 0;
> > @@ -301,6 +304,18 @@
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_PARENT = 0;
> >  EAPI Ecore_X_Atom ECORE_X_ATOM_E_VIDEO_POSITION = 0;
> >
> > +/* for sliding window */
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY = 0;
> > +
> > +/* for SDB(Samsung Debug Bridge) */
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_CONNECT = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_SDB_SERVER_DISCONNECT = 0;
> > +
> > +/* currently elementary and E specific extension */
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_PROFILE = 0;
> > +EAPI Ecore_X_Atom ECORE_X_ATOM_E_PROFILE_LIST = 0;
> > +
> >  typedef struct _Atom_Item Atom_Item;
> >
> >  struct _Atom_Item
> >
> > Modified: trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c       2012-07-03
> 07:34:35 UTC (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_e.c       2012-07-03
> 07:36:55 UTC (rev 73203)
> > @@ -126,6 +126,124 @@
> >  }
> >
> >  EAPI void
> > +ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
> > +                                  const char    **profiles,
> > +                                  unsigned int    num_profiles)
> > +{
> > +   Ecore_X_Atom *atoms;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!win)
> > +     return;
> > +
> > +   if (!num_profiles)
> > +     ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
> > +   else
> > +     {
> > +        atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
> > +        ecore_x_atoms_get(profiles, num_profiles, atoms);
> > +        ecore_x_window_prop_property_set(win,
> > +                                         ECORE_X_ATOM_E_PROFILE_LIST,
> > +                                         ECORE_X_ATOM_ATOM, 32, (void
> *)atoms,
> > +                                         num_profiles);
> > +     }
> > +}
> > +
> > +EAPI Eina_Bool
> > +ecore_x_e_window_profile_list_get(Ecore_X_Window   win,
> > +                                  const char    ***profiles,
> > +                                  int             *ret_num)
> > +{
> > +   unsigned char *data = NULL;
> > +   Ecore_X_Atom *atoms;
> > +   int num, i;
> > +
> > +   if (ret_num)
> > +     *ret_num = 0;
> > +
> > +   if (profiles)
> > +     *profiles = NULL;
> > +
> > +   if (!win)
> > +     return EINA_FALSE;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_property_get(win,
> > +                                         ECORE_X_ATOM_E_PROFILE_LIST,
> > +                                         ECORE_X_ATOM_ATOM, 32, &data,
> &num))
> > +     return EINA_FALSE;
> > +
> > +   if (ret_num)
> > +     *ret_num = num;
> > +
> > +   if (profiles)
> > +     {
> > +        (*profiles) = calloc(num, sizeof(char *));
> > +        if (!(*profiles))
> > +          {
> > +             if (ret_num)
> > +               *ret_num = 0;
> > +
> > +             if (data)
> > +               free(data);
> > +
> > +             return EINA_FALSE;
> > +          }
> > +
> > +        atoms = (Ecore_X_Atom *)data;
> > +        for (i = 0; i < num; i++)
> > +           (*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
> > +     }
> > +
> > +   if (data)
> > +     free(data);
> > +
> > +   return EINA_TRUE;
> > +}
> > +
> > +EAPI void
> > +ecore_x_e_window_profile_set(Ecore_X_Window win,
> > +                             const char    *profile)
> > +{
> > +   Ecore_X_Atom atom;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!win)
> > +     return;
> > +
> > +   if (!profile)
> > +     ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
> > +   else
> > +     {
> > +        atom = ecore_x_atom_get(profile);
> > +        ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
> > +                                         ECORE_X_ATOM_ATOM, 32, (void
> *)&atom, 1);
> > +     }
> > +}
> > +
> > +EAPI char *
> > +ecore_x_e_window_profile_get(Ecore_X_Window win)
> > +{
> > +   Ecore_X_Atom *atom = NULL;
> > +   unsigned char *data;
> > +   char *profile = NULL;
> > +   int num;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
> > +                                         ECORE_X_ATOM_ATOM, 32, &data,
> &num))
> > +     return NULL;
> > +
> > +   if (data)
> > +     atom = (Ecore_X_Atom *)data;
> > +
> > +   if (atom)
> > +     profile = ecore_x_atom_name_get(atom[0]);
> > +
> > +   return profile;
> > +}
> > +
> > +EAPI void
> >  ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
> >                                    Eina_Bool      enabled)
> >  {
> > @@ -1377,3 +1495,58 @@
> >                                   0, 0, 0, 0);
> >  }
> >
> > +static Ecore_X_Atom
> > +_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State
> state)
> > +{
> > +   switch (state)
> > +     {
> > +      case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
> > +        return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +      case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
> > +        return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
> > +
> > +      default:
> > +        break;
> > +     }
> > +   return 0;
> > +}
> > +
> > +static Ecore_X_Illume_Window_State
> > +_ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
> > +{
> > +   if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
> > +     return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +   if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
> > +     return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
> > +
> > +   return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +}
> > +
> > +EAPI void
> > +ecore_x_e_illume_window_state_set(Ecore_X_Window win,
> > +                                  Ecore_X_Illume_Window_State state)
> > +{
> > +   Ecore_X_Atom atom = 0;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   atom = _ecore_x_e_illume_window_state_atom_get(state);
> > +   ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
> > +                                &atom, 1);
> > +}
> > +
> > +EAPI Ecore_X_Illume_Window_State
> > +ecore_x_e_illume_window_state_get(Ecore_X_Window win)
> > +{
> > +   Ecore_X_Atom atom;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_atom_get(win,
> > +                                     ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
> > +                                     &atom, 1))
> > +     return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +   return _ecore_x_e_illume_window_state_get(atom);
> > +}
> > +
> >
> > Modified: trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c   2012-07-03
> 07:34:35 UTC (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/xcb/ecore_xcb_netwm.c   2012-07-03
> 07:36:55 UTC (rev 73203)
> > @@ -794,6 +794,35 @@
> >  }
> >
> >  EAPI void
> > +ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
> > +                                      int x,
> > +                                      int y,
> > +                                      Ecore_X_Netwm_Direction direction,
> > +                                      unsigned int button)
> > +{
> > +   xcb_client_message_event_t ev;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   CHECK_XCB_CONN;
> > +
> > +   memset(&ev, 0, sizeof(xcb_client_message_event_t));
> > +
> > +   ev.response_type = XCB_CLIENT_MESSAGE;
> > +   ev.format = 32;
> > +   ev.window = win;
> > +   ev.type = ECORE_X_ATOM_NET_WM_MOVERESIZE;
> > +   ev.data.data32[0] = x;
> > +   ev.data.data32[1] = y;
> > +   ev.data.data32[2] = direction;
> > +   ev.data.data32[3] = button;
> > +   ev.data.data32[4] = 1;
> > +
> > +   xcb_send_event(_ecore_xcb_conn, 0, win,
> > +                  (XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT |
> > +                   XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY), (const char
> *)&ev);
> > +}
> > +
> > +EAPI void
> >  ecore_x_netwm_handled_icons_set(Ecore_X_Window win)
> >  {
> >     LOGFN(__FILE__, __LINE__, __FUNCTION__);
> >
> > Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c        2012-07-03
> 07:34:35 UTC (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_e.c        2012-07-03
> 07:36:55 UTC (rev 73203)
> > @@ -927,7 +927,84 @@
> >     return EINA_TRUE;
> >  }
> >
> > +/* for sliding window */
> > +EAPI void
> > +ecore_x_e_illume_sliding_win_state_set(Ecore_X_Window win,
> > +                                       unsigned int   is_visible)
> > +{
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   ecore_x_window_prop_card32_set(win,
> > +
>  ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
> > +                                  &is_visible, 1);
> > +} /* ecore_x_e_illume_sliding_win_state_set */
> > +
> > +EAPI int
> > +ecore_x_e_illume_sliding_win_state_get(Ecore_X_Window win)
> > +{
> > +   unsigned int is_visible = 0;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_card32_get(win,
> > +
> ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_STATE,
> > +                                       &is_visible, 1))
> > +      return 0;
> > +
> > +   return is_visible;
> > +}
> > +
> >  EAPI void
> > +ecore_x_e_illume_sliding_win_geometry_set(Ecore_X_Window win,
> > +                                          int            x,
> > +                                          int            y,
> > +                                          int            w,
> > +                                          int            h)
> > +{
> > +   unsigned int geom[4];
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   geom[0] = x;
> > +   geom[1] = y;
> > +   geom[2] = w;
> > +   geom[3] = h;
> > +   ecore_x_window_prop_card32_set(win,
> > +
>  ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
> > +                                  geom, 4);
> > +} /* ecore_x_e_illume_sliding_win_geometry_set */
> > +
> > +EAPI int
> > +ecore_x_e_illume_sliding_win_geometry_get(Ecore_X_Window win,
> > +                                          int           *x,
> > +                                          int           *y,
> > +                                          int           *w,
> > +                                          int           *h)
> > +{
> > +   int ret = 0;
> > +   unsigned int geom[4];
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   ret =
> > +     ecore_x_window_prop_card32_get(win,
> > +
>  ECORE_X_ATOM_E_ILLUME_SLIDING_WIN_GEOMETRY,
> > +                                    geom, 4);
> > +   if (ret != 4)
> > +      return 0;
> > +
> > +   if (x)
> > +      *x = geom[0];
> > +
> > +   if (y)
> > +      *y = geom[1];
> > +
> > +   if (w)
> > +      *w = geom[2];
> > +
> > +   if (h)
> > +      *h = geom[3];
> > +
> > +   return 1;
> > +}/* ecore_x_e_illume_sliding_win_geometry_get */
> > +
> > +EAPI void
> >  ecore_x_e_comp_sync_counter_set(Ecore_X_Window win,
> >                                  Ecore_X_Sync_Counter counter)
> >  {
> > @@ -1012,6 +1089,124 @@
> >  }
> >
> >  EAPI void
> > +ecore_x_e_window_profile_list_set(Ecore_X_Window  win,
> > +                                  const char    **profiles,
> > +                                  unsigned int    num_profiles)
> > +{
> > +   Ecore_X_Atom *atoms;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!win)
> > +     return;
> > +
> > +   if (!num_profiles)
> > +     ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE_LIST);
> > +   else
> > +     {
> > +        atoms = alloca(num_profiles * sizeof(Ecore_X_Atom));
> > +        ecore_x_atoms_get(profiles, num_profiles, atoms);
> > +        ecore_x_window_prop_property_set(win,
> > +                                         ECORE_X_ATOM_E_PROFILE_LIST,
> > +                                         XA_ATOM, 32, (void *)atoms,
> > +                                         num_profiles);
> > +     }
> > +}
> > +
> > +EAPI Eina_Bool
> > +ecore_x_e_window_profile_list_get(Ecore_X_Window   win,
> > +                                  const char    ***profiles,
> > +                                  int             *ret_num)
> > +{
> > +   unsigned char *data;
> > +   Ecore_X_Atom *atoms;
> > +   int num, i;
> > +
> > +   if (ret_num)
> > +     *ret_num = 0;
> > +
> > +   if (profiles)
> > +     *profiles = NULL;
> > +
> > +   if (!win)
> > +     return EINA_FALSE;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_property_get(win,
> > +                                         ECORE_X_ATOM_E_PROFILE_LIST,
> > +                                         XA_ATOM, 32, &data, &num))
> > +     return EINA_FALSE;
> > +
> > +   if (ret_num)
> > +     *ret_num = num;
> > +
> > +   if (profiles)
> > +     {
> > +        (*profiles) = calloc(num, sizeof(char *));
> > +        if (!(*profiles))
> > +          {
> > +             if (ret_num)
> > +               *ret_num = 0;
> > +
> > +             if (data)
> > +               free(data);
> > +
> > +             return EINA_FALSE;
> > +          }
> > +
> > +        atoms = (Ecore_X_Atom *)data;
> > +        for (i = 0; i < num; i++)
> > +           (*profiles)[i] = ecore_x_atom_name_get(atoms[i]);
> > +     }
> > +
> > +   if (data)
> > +     XFree(data);
> > +
> > +   return EINA_TRUE;
> > +}
> > +
> > +EAPI void
> > +ecore_x_e_window_profile_set(Ecore_X_Window win,
> > +                             const char    *profile)
> > +{
> > +   Ecore_X_Atom atom;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!win)
> > +     return;
> > +
> > +   if (!profile)
> > +     ecore_x_window_prop_property_del(win, ECORE_X_ATOM_E_PROFILE);
> > +   else
> > +     {
> > +        atom = ecore_x_atom_get(profile);
> > +        ecore_x_window_prop_property_set(win, ECORE_X_ATOM_E_PROFILE,
> > +                                         XA_ATOM, 32, (void *)&atom, 1);
> > +     }
> > +}
> > +
> > +EAPI char *
> > +ecore_x_e_window_profile_get(Ecore_X_Window win)
> > +{
> > +   Ecore_X_Atom *atom = NULL;
> > +   unsigned char *data;
> > +   char *profile = NULL;
> > +   int num;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_property_get(win, ECORE_X_ATOM_E_PROFILE,
> > +                                         XA_ATOM, 32, &data, &num))
> > +     return NULL;
> > +
> > +   if (data)
> > +     atom = (Ecore_X_Atom *)data;
> > +
> > +   if (atom)
> > +     profile = ecore_x_atom_name_get(atom[0]);
> > +
> > +   return profile;
> > +}
> > +
> > +EAPI void
> >  ecore_x_e_comp_sync_supported_set(Ecore_X_Window root,
> >                                    Eina_Bool enabled)
> >  {
> > @@ -1357,3 +1552,58 @@
> >                                   0, 0, 0, 0);
> >  }
> >
> > +static Ecore_X_Atom
> > +_ecore_x_e_illume_window_state_atom_get(Ecore_X_Illume_Window_State
> state)
> > +{
> > +   switch (state)
> > +     {
> > +      case ECORE_X_ILLUME_WINDOW_STATE_NORMAL:
> > +        return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +      case ECORE_X_ILLUME_WINDOW_STATE_FLOATING:
> > +        return ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING;
> > +
> > +      default:
> > +        break;
> > +     }
> > +   return 0;
> > +}
> > +
> > +static Ecore_X_Illume_Window_State
> > +_ecore_x_e_illume_window_state_get(Ecore_X_Atom atom)
> > +{
> > +   if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_NORMAL)
> > +     return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +   if (atom == ECORE_X_ATOM_E_ILLUME_WINDOW_STATE_FLOATING)
> > +     return ECORE_X_ILLUME_WINDOW_STATE_FLOATING;
> > +
> > +   return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +}
> > +
> > +EAPI void
> > +ecore_x_e_illume_window_state_set(Ecore_X_Window win,
> > +                                  Ecore_X_Illume_Window_State state)
> > +{
> > +   Ecore_X_Atom atom = 0;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   atom = _ecore_x_e_illume_window_state_atom_get(state);
> > +   ecore_x_window_prop_atom_set(win, ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
> > +                                &atom, 1);
> > +}
> > +
> > +EAPI Ecore_X_Illume_Window_State
> > +ecore_x_e_illume_window_state_get(Ecore_X_Window win)
> > +{
> > +   Ecore_X_Atom atom;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   if (!ecore_x_window_prop_atom_get(win,
> > +                                     ECORE_X_ATOM_E_ILLUME_WINDOW_STATE,
> > +                                     &atom, 1))
> > +     return ECORE_X_ILLUME_WINDOW_STATE_NORMAL;
> > +
> > +   return _ecore_x_e_illume_window_state_get(atom);
> > +}
> > +
> >
> > Modified: trunk/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c
> > ===================================================================
> > --- trunk/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c    2012-07-03
> 07:34:35 UTC (rev 73202)
> > +++ trunk/ecore/src/lib/ecore_x/xlib/ecore_x_netwm.c    2012-07-03
> 07:36:55 UTC (rev 73203)
> > @@ -1605,6 +1605,33 @@
> >                SubstructureNotifyMask | SubstructureRedirectMask, &xev);
> >  }
> >
> > +EAPI void
> > +ecore_x_netwm_moveresize_request_send(Ecore_X_Window win,
> > +                                      int x,
> > +                                      int y,
> > +                                      Ecore_X_Netwm_Direction direction,
> > +                                      unsigned int button)
> > +{
> > +   XEvent xev;
> > +
> > +   if (!win)
> > +     return;
> > +
> > +   LOGFN(__FILE__, __LINE__, __FUNCTION__);
> > +   xev.xclient.window = win;
> > +   xev.xclient.type = ClientMessage;
> > +   xev.xclient.message_type = ECORE_X_ATOM_NET_WM_MOVERESIZE;
> > +   xev.xclient.format = 32;
> > +   xev.xclient.data.l[0] = x;
> > +   xev.xclient.data.l[1] = y;
> > +   xev.xclient.data.l[2] = direction;
> > +   xev.xclient.data.l[3] = button;
> > +   xev.xclient.data.l[4] = 1;
> > +
> > +   XSendEvent(_ecore_x_disp, win, False,
> > +              SubstructureNotifyMask | SubstructureRedirectMask, &xev);
> > +}
> > +
> >  int
> >  _ecore_x_netwm_startup_info_begin(Ecore_X_Window win __UNUSED__,
> >                                    char *data __UNUSED__)
> >
> >
> >
> ------------------------------------------------------------------------------
> > Live Security Virtual Conference
> > Exclusive live event will cover all the ways today's security and
> > threat landscape has changed and how IT managers can respond. Discussions
> > will include endpoint security, mobile security and the latest in malware
> > threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> > _______________________________________________
> > enlightenment-svn mailing list
> > [email protected]
> > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn
>
>
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and
> threat landscape has changed and how IT managers can respond. Discussions
> will include endpoint security, mobile security and the latest in malware
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to